caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Martin Berger <martinb@dcs.qmul.ac.uk>
To: Vitaly Lugovsky <vsl@ontil.ihep.su>,
	Caml Mailing List <caml-list@inria.fr>
Subject: Re: [Caml-list] ocaml and concurrency
Date: Thu, 29 Jan 2004 16:11:50 +0000	[thread overview]
Message-ID: <401930C6.8060907@dcs.qmul.ac.uk> (raw)
In-Reply-To: <Pine.LNX.4.58L.0401291840190.4125@ontil.ihep.su>


>  Nothing? Did you forget about the possibility to code without
> side effects?

you have this possibility in java too, albeit less conveniently
due to lacking type expressivity. more importantly, however, ocaml
does not enforce side-effect freeness. but in a big project with
multiple and changing developers, what guarantees that no other
developer cuts a corner and introduces some inappropriate side
effects (this can be done in many and subtle ways)?

only SW-engineering discipline. But that is applicable to other
languages, too.

even more importantly, side-effect freeness only prevents (certain)
race conditions. but race conditions are never really a problem
for any experienced programmer (and others should not try and
write concurrent or distributed programs). there is a very simple
rule: every access to a shared variable must be guarded by a lock.
it is trivial. if you do not know what your shared variables
are at any time in your development, you are in the wrong job.

the real problems with concurrent programming are deadlocks, livelock
and things like that. lack of side effects does not help you here at
all.

>  Right. But it's much easier to implement a quite stable
> environment for message passing, which will remain stable until
> you're following some quite simple rules.

i don't see why message passing is easier to implement and use in
ocaml than in, say, C++. and livelock or starvation in your message
queues can happen in either language, too, unless you take precautions.

having said all that, i much prefer writing concurrent or distributed
code in ocaml. i think that's because it is more high level, prevents
lots of stupid mistakes by typing, is more expressive and requires me
to do much less bureaucratic book-keeping. that frees up mind and
screen space for the difficult issues.

martin



-------------------
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 16:14 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-27  6:32 [Caml-list] ocaml killer 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
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 [this message]
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

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=401930C6.8060907@dcs.qmul.ac.uk \
    --to=martinb@dcs.qmul.ac.uk \
    --cc=caml-list@inria.fr \
    --cc=vsl@ontil.ihep.su \
    /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).