Steve Tuckner <SAT / multitech.com> wrote:
: I was recently introduced to Objective Caml ( http://www.ocaml.org
: <http://www.ocaml.org> ) but haven't had the time to understand it yet.
: People who advocate for it though, seem to say that it is the future.  If
: you look at it's strength's, you can see what they mean.

It does have a habit of winning the ICFPs.

: * Its very fast - many times it is as fast as straight C (I think speed is a
: very legitimate issue. If you look at Pure Java applications, even on the
: fastest machines they are still fairly pokey in my opinion -- aside from the
: problem of garbage collection "freezes" -- see Sun's Forte)

Can you back this one up?  It is true that pure functionals allow for some
impressive global optimizations, but I'm skeptical of a 'many times faster
than C' claim.  C is just one layer up from assembler.

: * It is a functional language and thus the programs written in it are more
: possible to prove correct

This is true.  But pure functionals (Haskell in particular) can be
notoriously difficult to use with foreign data, as integrating with the
type system can be troublesome.

: * It is interpreted so it can be easily run everywhere
: * With object extensions, it can do all the things that object languages can
: do

This may be true, but one of the pleasing things about Ruby is its
clean object syntax.  Extensions onto a language tend not to be as clean.

You have an interesting omission -- the ML type system, which is IMOH, the
most valuable thing about the ML family.  It's a sophisticated static type
system that infers all types -- no type declarations.  As this is
traditionally what draws people to the MLs, you should look into it.

: Downsides? I don't know enough about it to know. One may be that it is
: difficult to learn but that may just be my ignorance of the functional
: programming paradigm.

I nominate you to go unto the wilderness and return unto us bearing the
fruits of functional research.

: My question to the list is: Are object-oriented functional languages the
: future instead of Ruby?

The only thing I know about the future is we will use progressively larger
numbers to represent the date.
But you might want to learn some languages now, as the present can be
suprisingly long.