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 -~----------~----~----~----~------~----~------~--~---