[erlang-questions] Erlang or OCaml

Joe Armstrong <>
Wed Oct 17 10:40:56 CEST 2007

Erlang/OCaml/Haskell belong to the same language family - if you learn any one
of them then learning the next one in the family will be a lot easier
than starting from scratch.

These language differ - but have the same core concepts - the idea of immutable
state - programming with immutable state is the thing that you need to learn.
The details of how you do this vary from language to language (you can
use processes
with tail recursion to model state in Erlang, or monads in haskell, etc.).

I'd start with the language that most suits your problem domain - a
rough guess might
be to think of these languages as follows:

OCaml - use as a replacement for C - good for implementing virtual
machine emulators
tightly coded non-distributed applications.

Erlang - use as a replacement for Java - good for programming
distributed fault-tolerant
applications - good support for multicores/concurrency. Good as a glue
language to
glue together components co-ordinate activities on different machines etc.

Haskell - use for implementing domain specific languages, symbolic
computations etc.

Asking which is best is like asking which is best out of C++/java/C#
or perl/python/ruby

Languages come in 3-packs - learn any one then learning the others is
easy - similar ideas
different packaging.

/Joe Armstrong

On 10/16/07, Lone Wolf <> wrote:
> Hi.
> Recently, I have been trying to learn a language other than Java.
> Erlang seems to be ready for the prime time (used in the commercial world).
> On the other side, OCaml seems to be a cool and capable language.
> I want to learn something useful and fun.
> Tell what do you think ?
> (if you are Erlang die-hard, please put this aside ;))
> Deep into that darkness peering, long I stood there, wondering, fearing,
> Doubting, dreaming dreams no mortal ever dreamed before.
> E.A Poe
>  ________________________________
> Catch up on fall's hot new shows on Yahoo! TV. Watch previews, get listings,
> and more!
> _______________________________________________
> erlang-questions mailing list
> http://www.erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list