On Thu, Dec 14, 2000 at 08:24:44AM +0900, Ben Tilly wrote:

> Mathematicians don't learn Lisp.  They learn things like
> Lesbegue integration.
> 

Fortunately some of them do:

http://www.umcs.maine.edu/~chaitin/lisp.html

Here's a quote from one of Chaitin's papers:

"But let me start telling you why I think LISP should be loved by
mathematicians. I think it's the only computer programming language
that is mathematically respectable, because it's the only one that I
can prove theorems about!"

> >"... the lack of a lot of key text-processing ingredients makes Perl
> >solutions for many averagely complicated tasks either extremely slow,
> >or not easier to maintain than solutions in other languages (and in
> >some cases both)... My current conjecture on why people classify Perl
> >as an agile text-handler (in addition to obvious traits of false
> >advertisement) is that most of the problems to handle are more or less
> >trivial ("system-maintenance"-type problems)."
> 
> Perl is excellent at data munging.  If you know what you are
> doing it is also excellent at parsing and producing structured
> data.  It took me less than an hour to find that incrementally
> appending to a string n times in Ruby takes time O(n*n).  It
> takes time O(n) in Perl.
> 

Only with *relatively trivial* problems.  Did you read the Zacharevich
interview?

> Performance on string processing is not something which Ruby
> fans should try to wave as an advantage.  (But this problem is
> not hard to solve.  I already outlined a sufficient solution.)

I would not use Ruby for *real* text processing.  But then I wouldn't
use Perl either.  For system-maintenance type problems, Ruby is better
than Perl, because it is more readable, has a faster development time,
and is more fun.

> >(you can check up on: http://www.perl.com/pub/2000/09/ilya.html)  The
> >author of the quote is Dr Ilya Zacharevich, who teaches math at Ohio
> >state University.  His work on Perl 5 includes operator-overloading,
> >much of the regex-engine, the OS2 port, and the FreezeThaw, Devel::Peek,
> >Math::Pari, and Term::Readline modules.
> 
> I am very familiar with what Ilya has done.  ...
> 

> ...  But the APIs that he produces often are grotesque, and his code
> is often virtually impossible for anyone else to understand or
> review...

Perhaps because he is using a write-only language.

> > > However this comes with the disadvantage that with every type comes
> > > more syntax.
> >
> >You got it, Ben.  Randall "Nice-book-pity-about-the-language" Schwartz
> 
> How would you feel if that was directed at you?  Please
> stop and think about what it would mean if Randal made the
> decision he made in the early 90's and decided to turn his
> pedagogical talents to promoting a promising young scripting
> langauge.  Today he has a reputation.  That matters.

I would laugh if it was directed at me. My comment was meant
humourously and I don't care about the reputation of people who can't
laugh at themselves.  What I am *really* sick and tired of is
Perl-People preaching on comp.lang.ruby. For eaxample: I WILL YELL IF
I WANT TO. (remember?).

> I guarantee you that having Ruby get glowing recommendations
> from Dave and Andy is a large part of why so many people are
> willing to take a second look at it.  I should know, I am one
> of them.

When somebody guarantees me something, I always wonder why they find
it necessary to make that extra assurance.  Are the other things they
say *not* trustworthy.  

> >asked what we want to do with Ruby. *I* think Ruby is going to blow
> >Python AND Perl out of the water, though it might take a while re the
> >latter. Why?  In Python's case, because its just better (faster,
> >cleaner, sensible licence, no Guido).
> 

He asked for an *opinion*, and he got it.

> And now anyone who likes Guido just got POed as well.

I like Guido (as well as I can like someone I have never met).  I
would have liked Python too, but it has a bad licence, which is
Guido's fault.

> you start by ticking someone off, things usually go downhill
> fast.

As I recall, one of your first posts to this group was a public
flogging of a regular poster, because he YELLED.  That ticked *me*
off. 

> 
> BTW if you make big promises, you had better be prepared to
> meet them.  If you say "blow away", a fan of what you promise
> is history will become very dubious.  Unless they (already
> biased against) think that it is really ready to blow away the
> competition, they will discount anything you have to say.
> 

I didn't promise anything, Ben.  I said I "think" Ruby will blow
Python and Perl out of the water.  I didn't say it would happen today.
What I find amusing, is that Pythoneers are saying Perl should beware
of Ruby, and Perl-People are saying Python is going to get the shaft.
For once they *nearly* agree.

>   In Perl's case, because in the
> >real world Perl is used to write spaghetti code, and structured
> >spaghetti code (the Ruby way) is better than unstructured spaghetti
> >code (the Perl way).
> 
> Oh really?  Amateur attempts at OO design are no fun to work
> with.  They quickly get as bad as the worst procedural designs.
> What is worse is that the grandiose mistakes that result have
> performance problems.  Implement that in a language which has
> not yet sorted out performance kinks, and you have a recipe for
> disaster.

You have a serious performance fixation, Ben.  Have you tried
switching to a faster machine?

> 
> The worst Perl is the result of people who don't know how to
> program, don't want to learn, but want cool results.  

What, you mean like Ilya's unreadable APIs?

In anticipation of the next SERMON,

Peter