On Jan 3, 9:53 pm, Brian Will <brian.thomas.w...@gmail.com> wrote: > > Remember that "parallel" and "concurrent" are two different things. > > "Concurrent" is something you deal with all the time if you are > > writing GUI apps: there are different threads and they interact in > > some possibly unpredictable way. You can have concurrency on a single- > > core machine. "Parallel" means multiple CPUs working together for > > _performance_, i.e., to run faster. > > I'm not sure this distinction is widely accepted. The term "parallel", > as I've heard it used, means simultaneous computation, which is one > kind of concurrency.
Hm, we could use some Venn diagrams... ;-) I shouldn't have drawn such a sharp distinction perhaps. > It's also worth pointing out that event-drive concurrency, e.g. GUI > stuff, is really just about optimization too. That's true, but there the model of computation is based on events, which happen asynchronously. "Parallel" computation in the sense I put it can be completely synchronous from the programmer's perspective, and some parallel libraries even implement it this way (e.g., OpenMP, unless you tell it otherwise). Of course the models and implementations are fluid and chosen to fit the applications. My main point was to answer the OP's complaint that Clojure didn't solve the "turn arbitrary sequential code into parallel code with perfect speedup" magic compiler problem ;-) mfh --~--~---------~--~----~------------~-------~--~----~ 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 clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---