"David Alan Black" <dblack / candle.superlink.net> wrote in message
news:Pine.LNX.4.30.0201061649140.11673-100000 / candle.superlink.net...
> Dear fellow programmers,
>
> This is an invitation to join the Language of the Year project (LotY).
>
> >From the Language of the Year project website at
> http://www.pragmaticprogrammer.com/loty:

Interesting!
I've just spend most of 2001 evaluting different languages enough to decide
on where to go next, when one is not satisfied with C++ and Java.
Well obviously Ruby got into play.
But partially thanks to the ICFP programming contest, I got directed back to
functional programming (something I remember doing in LISP on a mainframe in
when specying assember...).
Actually, I see a lot of real benefits in these languages.
I evaluated quite a few languages.
Eventually I decided to learn OCaml.
Haskell (GHC) has the distinct misfeature of difficulty of installation and
slow compilation, which wouldn't give me Ruby speed development cycles.
Clean is a contender - much stronger now since 2.0 were released. But it is
more or less tied to Windows.
OCaml wins for having the ugliest syntax but many other features that makes
it a realworld programmers tool. Distribution, assembly and bytecode
compiler, debugger, good libraries, easy to write extensions. And new
advanced generics in the pipeline.
OCaml lets you produce some awsomely compact code that I'm not sure even
Ruby can compete against.
I also had the following concern with Lazy programs: hard to predict runtime
performance and hard to track stack overflow problems. (Probably not harder
than writing parser grammars, but thats also not too easy). I reckon strict
evaluation is generally more usefull and OCaml does provide Lazy streams
when you do need it.

My current progress in OCaml is not really writing much code more thinking
functional and being depressed when you can't just plug in a higher order
functions in C++.

My concerns with the various FP languages are mostly practical - many
generate quite fast code today, others generate fast enough code and all of
them provide significant productivity gains over languages like Java and
C++.
Due to the dynanic nature of Ruby and the autodeclaration of variables, you
get similar productivity in Ruby, although a do miss a few features,
primarily direct support for higher order functions and partial evaluation -
though Ruby closures are also highly appreciated.
As have been discussed in this group before, it wouldn't take too much to
add this functionality.

Maybe the year of the Haskell will teach Ruby some new cool tricks.
Haskell is a very expressive language.

MikkelFJ