http://www.perlmonks.org?node_id=761767


in reply to (OT) Programming languages for multicore computers

Concurrency is a bug-spawning PITA. Managing access to shared resources is hard, and hard to test well. Any programming discipline which delegates responsibility for managing a large pool of shared objects to the user is a dead end.

The easiest way to achieve reliable concurrency is to minimize the number of shared resources. Using OS processes as your concurrency model achieves this without imposing any constraints on choice of programming language.

Unfortunately for those of us trying to write cross-platform compatible open source code, the menu of IPC techniques that work accross a wide breadth of operating systems is very limited. IMO, this is a problem which needs to be solved through OS innovation, not language innovation.

--
Marvin Humphrey
Rectangular Research ― http://www.rectangular.com
  • Comment on Re: (OT) Programming languages for multicore computers

Replies are listed 'Best First'.
Re^2: (OT) Programming languages for multicore computers
by samtregar (Abbot) on May 04, 2009 at 17:58 UTC
    Does not compute. OS innovation != cross platform. Language innovation can help with cross platform coding if the language implementers are sufficiently clever. See, for example, Perl's fork() implementation on Windows. Not perfect, but better than anything MS is likely to give us in the next 10 years.

    I think Erlang is about as close to "OS innovation" as you're likely to see in this space. The Erlang runtime is practically a little OS unto itself with its own process model, networking, storage, etc.

    -sam