"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