Browse thread
[Caml-list] ocaml killer
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Chet Murthy <chet@w...> |
| Subject: | Re: [Caml-list] ocaml killer |
Martin,
[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.
--chet--
-------------------
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