Hi Mark,

On Tue, Dec 2, 2008 at 10:38 PM, Mark H. <[EMAIL PROTECTED]> wrote:
> On Dec 1, 12:03 am, bc <[EMAIL PROTECTED]> wrote:
>> I've written a blog post titled "Clojure could be to Concurrency-
>> Oriented Programming what Java was to OOP" in which I discuss
>> Clojure's approach to concurrency:http://bc.tech.coop/blog/081201.html
>>
>> Any comments/criticisms would be appreciated.
>
> Great article! :-)

Thanks!

> A picky point -- "concurrency" refers to multiple actors and the
> shared data problem (which is not necessarily related to performance),
> whereas "the free lunch is over" refers to "parallelism" (using
> multiple CPUs to improve performance), regardless of what terminology
> the article actually uses ;-)

The definition of "concurrency" is a bit problematic because it can
mean different things to different people. Some people don't like to
use it to refer to "parallelism"; however, others choose to use a more
"all-encompassing" definition of concurrency. Wikipedia's definition
(http://en.wikipedia.org/wiki/Concurrency_(computer_science)) includes
both forms of concurrency:
"In computer science, concurrency is a property of systems in which
several computational processes are executing at the same time, and
potentially interacting with each other. The study of concurrency
encompasses a broad range of systems, from tightly-coupled, largely
synchronous parallel computing systems, to loosely-coupled, largely
asynchronous distributed systems. The concurrent processes may be
executing truly simultaneously, in the case that they run on separate
processors, or their execution steps may be interleaved to produce the
appearance of concurrency, as in the case of separate processes
running on a multitasking system."

In my article, I tried to differentiate between concurrent processes
running in the same address space and concurrent processes that are
running on multiple different machines. I used the terms
"non-distributed concurrency" for the former and "distributed
concurrency" for the latter . In Herb Sutter's "the free lunch is
over" article (although his article discusses the potential benefits
of parallel computing, multi-core CPU's, and different threading
advances), his quote "Concurrency is the next major revolution in how
we write software" was made in the context of an overview of
concurrency in general. In any case, he was probably using the
"all-encompassing" definition of concurrency (which is not "wrong").

--
Bill Clementson

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to