English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] ocaml killer
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-01-29 (00:32)
From: Chet Murthy <chet@w...>
Subject: Re: [Caml-list] ocaml killer


[Maybe this is going off-topic.  Since I'm comparing Java to Caml,
I'll leave this cc'ed to the Caml list, but if there are further
responses, it might be good to take 'em offline.]

>>>>> "MB" == Martin Berger <martinb@dcs.qmul.ac.uk> writes:

    MB> please allow me to compare Ocaml and Java from the lofty
    MB> perspective of a programming language theorist. both are mixed
    MB> imperative/functional languages (like all others). what are
    MB> the *essential* differences?

    MB> if i'm right about this, then what java lacks is a more
    MB> expressive type system.

Your comparison of Java and Caml leaves out two of the most important
parts of CAML (from a systems-programmer perspective):

  (1) high-quality FFI (MUCH better than JNI)

  (2) high-quality C-like execution model, WITHOUT threads, WITHOUT
  intrinsic dynamic code-loading

Compared to these, the type system is almost irrelevant.  There's a
reason, for instance, that Perl (the first popular implementation of
Scheme*) won: a killer FFI, great UNIX syscall support, and bang-up
support for the string datatype.  Java/the JVM ain't got none of this!

[*: and I am NOT kidding about Perl being a popular implementation of
Scheme, albeit with a pretty interesting syntax.]

These are the things that matter in a language.  The fact that CAML
has fancy types, well, -I- like it, but it isn't why I wrote some of
my most complex systems in it, and it will never be enough to push
CAML into the mainstream.

Xavier's (and others') careful attention to building a -system-, and
to making CAML suitable for systems-programming, is infinitely more
compelling, than the type system.

After all, I switched from SML to CAML, not for the type system, but
for the quality of the implementation.  And I wrote Coq V5.10 in CAML,
again, 'cos it was such a high-quality systems language.


To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners