caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Chet Murthy <chet@watson.ibm.com>
To: Martin Berger <martinb@dcs.qmul.ac.uk>
Cc: Chet Murthy <chet@watson.ibm.com>, caml-list@inria.fr
Subject: Re: [Caml-list] ocaml killer
Date: Wed, 28 Jan 2004 19:34:56 -0500	[thread overview]
Message-ID: <200401290034.i0T0Yutl009000@bismarck-chet.watson.ibm.com> (raw)
In-Reply-To: Your message of "Thu, 29 Jan 2004 00:11:37 GMT." <40184FB9.4000808@dcs.qmul.ac.uk>


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


  reply	other threads:[~2004-01-29  0:32 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-27  6:32 Alexander Epifanov
2004-01-27  8:56 ` Alex Baretta
2004-01-27  9:43   ` Alexander Epifanov
2004-01-27 18:32     ` Shawn Wagner
2004-01-28  4:38       ` skaller
2004-01-28  5:30         ` james woodyatt
     [not found]   ` <40168498.6070708@tfb.com>
2004-01-27 19:10     ` Alex Baretta
2004-01-28 13:29       ` David Fox
2004-01-28 15:12         ` Eray Ozkural
2004-01-27  9:41 ` Alexander Danilov
2004-01-27  9:57   ` Alexander Epifanov
2004-01-27 16:43     ` Eric Stokes
2004-01-27 18:19       ` David Fox
2004-01-27 18:47       ` Richard Jones
2004-01-27 19:29         ` Eric Stokes
2004-01-28 13:30 ` Eray Ozkural
2004-01-28 23:26 ` Chet Murthy
2004-01-28 23:47   ` Martin Berger
2004-01-29  0:00     ` Chet Murthy
2004-01-29  0:04       ` Chet Murthy
2004-01-29  0:11       ` Martin Berger
2004-01-29  0:34         ` Chet Murthy [this message]
2004-01-29  0:47           ` [Caml-list] ocaml killer' Matt Gushee
2004-01-29  8:52           ` [Caml-list] ocaml killer Thomas Fischbacher
2004-01-29 16:20             ` fancy types (was Re: [Caml-list] ocaml killer) William Lovas
2004-01-29 17:13               ` james woodyatt
2004-01-29 17:26                 ` Benedikt Grundmann
2004-01-29 17:17               ` Thomas Fischbacher
2004-01-29 17:41                 ` Andreas Rossberg
2004-01-29 19:18                   ` William Lovas
2004-01-30 10:36                     ` Thomas Fischbacher
2004-01-31  3:39                       ` William Lovas
2004-02-01  2:11                         ` Vasile Rotaru
2004-02-02 11:08                           ` Florian Hars
2004-01-29 18:33                 ` Alex Baretta
2004-01-29 17:53         ` [Caml-list] ocaml killer skaller
2004-01-29  5:20     ` Brian Hurt
2004-01-29  6:36   ` Alexander Epifanov
2004-01-29  8:53   ` [Caml-list] ocaml and concurrency james woodyatt
2004-01-29  9:46     ` Vitaly Lugovsky
2004-01-29 10:37       ` Martin Berger
2004-01-29 11:51         ` Michael Hicks
2004-01-29 12:20         ` Alex Baretta
2004-01-29 12:43           ` Martin Berger
2004-01-29 15:42         ` Vitaly Lugovsky
2004-01-29 16:11           ` Martin Berger
2004-01-29 16:56             ` Andreas Rossberg
2004-01-29 17:19               ` james woodyatt
2004-01-29 17:43               ` Martin Berger
2004-01-29 17:54                 ` Andreas Rossberg
2004-01-29 18:08                   ` Martin Berger
2004-01-30  0:19                   ` Lauri Alanko
2004-01-29 19:37                 ` skaller
2004-01-30  0:05                   ` Martin Berger
2004-01-30  6:52                     ` Brian Hurt
2004-01-30  8:53                       ` Issac Trotts
2004-01-30 20:45                       ` skaller
2004-01-31  6:29                         ` Brian Hurt
2004-01-30 20:12                     ` skaller
2004-01-29 18:35         ` skaller
2004-01-29  9:56     ` Alex Baretta
2004-01-29 18:26     ` skaller
  -- strict thread matches above, loose matches on Subject: below --
2004-01-23 10:19 [Caml-list] ocaml killer Alexander Epifanov
2004-01-27  8:28 ` Richard Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200401290034.i0T0Yutl009000@bismarck-chet.watson.ibm.com \
    --to=chet@watson.ibm.com \
    --cc=caml-list@inria.fr \
    --cc=martinb@dcs.qmul.ac.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).