caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Berke Durak" <berke.durak@gmail.com>
To: "Richard Jones" <rich@annexia.org>
Cc: "Caml List" <caml-list@inria.fr>
Subject: Re: [Caml-list] The closing gap (warning: long, inflammatory rant)
Date: Mon, 21 Apr 2008 15:29:32 +0200	[thread overview]
Message-ID: <b903a8570804210629vcad5a0ga907f27ef603915b@mail.gmail.com> (raw)
In-Reply-To: <20080421131151.GA16777@annexia.org>

[-- Attachment #1: Type: text/plain, Size: 3156 bytes --]

On Mon, Apr 21, 2008 at 3:11 PM, Richard Jones <rich@annexia.org> wrote:

> Your threaded code is going to look really stupid when you have NUMA
> machines with dozens of cores.  Why are we optimizing for a case (SMP)
> which will only be around for a few years.  Arguably SMP isn't even
> around now ... the AMD machine on which I'm typing this is firmly NUMA
> with a good 10% penalty for accessing memory owned by the other
> socket.


Yes, that's why some of us don't buy too much shares in semaphore factories.

> A concurrent GC should be developed.  But I think you can compete in
> some "niches" without a concurrent GC.

Why should a concurrent GC be developed?  Threaded code is a nightmare
> to write & debug, and it's only convenient for lazy programmers who
> can't be bothered to think in advance about how they want to share
> data.  OCaml supports fork, event channels & shared memory right now
> (and has done for years) so there is no penalty to writing it
> properly.


Why not?  Let's be conciliant.  If people want to develop a concurrent GC,
let them have a try.  BTW I'm not a thread guy - I don't like POSIX threads
very much.  I really appreciate Lwt and use my monadic threads when
developing
my own stuff.

> Compilation and linking are extremely painful things, especially when you
> > want to start to learn a new language
> > in good faith.  Java has a relatively good packaging/loading model which
> is
> > part of its success.  Ocaml is
> > terrible at this.
>
> Huh?  OCaml scripts work perfectly well, they're compiled when you run
> them.  I use them all the time.


Yes, while I don't use them, Ocamlscripts are certainly nice thing, thank
you for that.
Compiling an Ocaml program remains quite an involved task, with all those
not very
inspectable cma, cmx, cmi, cmo, dll.so and cmxas floating around (cmigrep
helps a lot) with
their C flags and DLL lists.  It gets even more complicated when you need to
use
native code or preprocessors.  Ocamlfind helps a bit, ocamlbuild a bit more,
but
it's still painful.

In Java, if you don't use native code, you just make a jar and ship the
classes: jar cf foo.jar foo/,
upload, java -jar foo.jar.

[...]
> > So there is a gap to be filled, and Ocaml could be the next fashionable
> web
> > programming language if we fix
> > a few things or two:
> > - Compilation and package headache,
> > - Missing batteries.
>
> What distro are you using?  Obviously one where you can't just
> apt-get / yum install / godi whatever all the libraries and support
> software you need.  There is no "package headache" over in Debian /
> Fedora / GODI at all.


I'm not talking of packages in general - I'm using Godi on Debian and
Ubuntu,
but I'm talking about packaging Ocaml libs during development time.
We need an easy-to-use lightweight packaging mechanism for developers and
that has
been discussed many times on this list.  Godi is more or less OK when you
passively
use libraries, but it's non-trivial to inject your own stuff (even if it's
just for yourself).
Let's not start ye olde package management thread again. The fact is that
there is
large room for improvement :)

-- 
Berke

[-- Attachment #2: Type: text/html, Size: 4304 bytes --]

  reply	other threads:[~2008-04-21 13:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-21 12:27 Berke Durak
2008-04-21 13:11 ` Richard Jones
2008-04-21 13:29   ` Berke Durak [this message]
2008-04-21 14:44   ` Jon Harrop
2008-04-21 20:47     ` Richard Jones
2008-04-21 21:06       ` Arnaud Spiwack
2008-04-21 21:16         ` Berke Durak
2008-04-21 23:06           ` Jon Harrop
2008-05-17 22:03       ` Jon Harrop
2008-04-21 16:26   ` Elliott Oti
2008-04-21 20:48     ` Richard Jones
2008-04-21 21:06       ` Jon Harrop
2008-04-21 14:59 ` Dario Teixeira
2008-04-21 15:57   ` Berke Durak

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=b903a8570804210629vcad5a0ga907f27ef603915b@mail.gmail.com \
    --to=berke.durak@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=rich@annexia.org \
    /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).