
Clojure could be to Concurrency-Oriented Programming what Java was to OOP  - sharksandwich
http://bc.tech.coop/blog/081201.html
======
globalrev
Does anyone else think so? I'm using Clojure a lot and really like it.

But Lisp has been around for 50 years and never hit the mainstream so it seems
there perhaps is something about it that doesn't fit with most programmers?

Also it only offers one form of concurrnecy and while I like it there is still
much speculation and research in the area. Scala for example kind of builds on
the whole Java-language and offers a more recognizable language for Java-
developers and more opportunities to roll your own concurrency-mechanisms, or
at least that's the impression I've gotten.

And then we have Haskell and Erlang.

~~~
mdemare
I think Clojure might succeed even without its great concurrency features -
and by succeed I mean gaining a Porsche-like marketshare.

It has all the good Lisp stuff, but ditches all the historical Lisp cruft,
actually has a little syntax. And because it runs on the JVM, it's stable,
fast, debuggable, has a wealth of libraries and runs on Windows, Mac and
Linux.

And there's already a (beta) book:
<http://pragprog.com/titles/shcloj/programming-clojure>

------
jhancock
This title is horrifying!!! Java set back good OOP by about 20 years!!! We're
still recovering from what Java did to the OO community.

~~~
dfranke
The damage was done by C++. Java was a step up from there.

~~~
gnaritas
Not really since the masses never used C++, Java on the other hand saw massive
adoption and did much damage to OOP.

~~~
nostrademons
Uh, C++ was _huge_ in the mid-90s. Nearly all your Windows desktop software is
in C++ - as were a lot of Web1.0 sites, before they were rewritten in Java.

~~~
gnaritas
Let me rephrase then, Java saw mass adoption from unskilled programmers
similar to VB. C++ has always been big among skilled programmers, but skilled
programmers are _not_ the masses. Compare C++ numbers to Visual Basics numbers
and then tell me C++ had mass adoption. I could be wrong, but I don't think
so.

------
smoody
If only we could convince someone to create Projure -- a Prolog-like language
that compiles to JVM bytecodes. I'd be the first (and only?) customer.

~~~
queensnake
There's got to be one out there - some Master's student's project if nothing
else.

~~~
michaelneale
<http://www.ugosweb.com/jiprolog/index.aspx>

------
stevedekorte
In other words, a horrible example of?

~~~
cabalamat
My thoughts exactly!

------
markessien
We can't keep stepping backwards to support changing processor technologies.
Concurrency should be abstracted away from the programmer, and handled on a
compiler level, irrespective of your programming language.

~~~
colgur
I think the fact that we need to step back when processor technology changes
shows that we (the software community) lack a truly pervasive concurrent
programming model. Does Clojure really offer a truly orthogonal solution to
this problem?

And when I say "problem" I'm really talking about the scalability of fine-
grained concurrency techniques formalized by Dikjstra
(<http://en.wikipedia.org/wiki/Semaphore_>(programming)).

I agree that programmers will eventually have to be relieved of concerns such
as critical section but we will never escape questions like "what are the
parallel aspects of this algorithm (or library or application)". A compiler
will never "discover" large-scale concurrency patterns in any mainstream
language (at least to my reckoning). Maybe interpreted languages will
ultimately lead the way.

------
socksandsandals
Clojure is neat and all, but I can't see it being anything but a proving
ground for some more esoteric technologies or methods. Lisp has been around
too long to get mainstream acceptance and the "power vaccum" of which PG is
fond of mentioning is marginal these days due to Ruby, Python, etc. Clojure
has the attractiveness of running people's existing infrastructure (i.e. the
JVM) but its nowhere near being alone in that regard. Its neat but don't look
for it to be a world-changer.

~~~
shoover
I'd be interested to see concurrency baked into Ruby or Python the way it is
with Erlang and Clojure. Until then, my eye is on Clojure.

------
thomasmallen
I thought that was Erlang.

