Jump to content

Talk:Concurrent programming language

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by CarlHewitt (talk | contribs) at 20:45, 14 July 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Since when is Java a concurrent programming language?! Lost Goblin 11:21, 2005 Feb 12 (UTC)

In some sense it is and in some sense it isn't. It is, because it supports a variant of monitors, because it has a build-in notion of threads, and because there the is something called JavaSpaces. It's isn't because it's just an imperative programming language. Koffieyahoo 5 July 2005 06:40 (UTC)

Why?

Why is it the case that with so much research into concurrent programming, none of the ideas have been used practically? Is it just the inertia of existing programming models and languages, or is the some deeper reason?

Latest Changes

I have a number of questions and remarks about the latest changes by CarlHewitt:

Concurrent programming involves more than just threads, e.g., SOAP.--Carl Hewitt 21:42, 11 July 2005 (UTC)[reply]
  • I don't believe the shared objects that can change in the first paragraph is correct. There don't seem to be any shared objects in case message-passing is used (unless addresses of other machines are counted as shared objects).
Concurrent message passing typically involves communication with shared resources that can change.--Carl Hewitt 21:42, 11 July 2005 (UTC)[reply]
  • Why has the sentence been removed that C is not a concurrent language, while a statement that java and C# are concurrent languages has been added (which is quite unneccessary as Java and C# are in the list of langauges)? Seems to me at least the statement on C should be added back, as it helps in understanding what is going on.
Java and C# have language constructructs for locking and threads whereas C simply invokes a shared libary.--Carl Hewitt 21:42, 11 July 2005 (UTC)[reply]
  • Shared-state is better than shared-memory, as what is shared cannot always be really called memory, like in the case of the Orca programming language or Linda (JavaSpaces). The first has a concept of shared abtract data types, while the second generally uses the concept of a Set in which all kinds of elements can be inserted.
Shared resources include both shared memory and shared objects with changeable state.--Carl Hewitt 21:42, 11 July 2005 (UTC)[reply]
  • Why do Java and C# use both shared state and message passing. I'm not aware of the last. Although at least Java supports some form of RPC. It is not the case that RPC can be identified with message passing.
RPC is indeed a form of message passing.--Carl Hewitt 21:42, 11 July 2005 (UTC)[reply]
  • Why are the references to Occam and Erlang removed from the message-passing part? They examplify what is going on.
The most common programming language use cases are Java and C#. Maybe put Occam and Erlang in a footnote?--Carl Hewitt 21:42, 11 July 2005 (UTC)[reply]
  • Why is a reference to the Internet added to the message-passing part? The Internet is not a message passing system it's simply a set of protocols for computers to communicate. Of course, a message passing system can be build on top of the Internet. The Internet is simply not a programming language.
Almost all distributed message passing systems (e.g. SOAP) use the Internet.--Carl Hewitt 21:42, 11 July 2005 (UTC)[reply]

Koffieyahoo 8 July 2005 10:07 (UTC)

I also strongly disagree with CarlHewitt changes, C# and Java can hardly be considered concurrent languages(as has been noted before), if no one else defends the changes I'll revert to the May 20, 2005 version of this page. Lost Goblin 20:25, July 14, 2005 (UTC)
Just what do you think is the purpose of the the locking constructs in C# and Java?--Carl Hewitt 20:45, 14 July 2005 (UTC)[reply]