

Dan Weinreb: Programming with concurrency, clojure excitement - wglb
http://danweinreb.org/blog/programming-with-concurrency

======
DannoHung
Would it be funny if Lisp turns out to be something everyone really does love,
but the problem was actually the crappy and fractured implementations and the
libraries that existed with all the old versions of Common Lisp?

Or would it be like, tragic, or maybe something else.

~~~
alexgartrell
I thought all high-level languages were complete garbage, until I had to write
serious concurrent code in C/CUDA. After a year doing that kind of crap,
first-class functions and easy to write transactions were like heaven on
Earth.

And clojure-dev makes it pretty straightforward to use all those parens, but I
wish it was more emacs-y in its tabbing.

Just to show how impressed I am, I used vim exclusively for two years, then
went out of my way to learn emacs to use clojure. Combine some of the most
helpful emacs features with the clojure-dev plugin for Eclipse and this thing
will take off, IMHO.

~~~
jedi_stannis
No need to learn a new editor. There is a great plugin to use Vim with
Clojure. I've always been a Vim user and think its great, although I've never
used SLIME so I can't directly compare.

<http://kotka.de/projects/clojure/vimclojure.html>

------
jefffoster
"But it’s worth learning a language when you pick up fundamental new ideas
that might be helpful (or just interesting)."

I couldn't agree with this more. I've spent the last 6 months or so learning
Clojure just for the sake of it. I definitely think I'm a better programmer
because of it, regardless of whether the language itself is actually "real
world" useful.

~~~
felideon
_I definitely think I'm a better programmer because of it_

I'm also curious to know if that's because of Clojure itself, or because it is
the first Lisp you learned.

~~~
jefffoster
I'm familiar with Java, so I've found it easy to hook up with libraries I
already understand and just crank out code. When I've tried Common Lisp before
I've always struggled (probably because the barrier to understanding was
higher) to find libraries to do things like Graphics and GUI work.

I've been working my way through PAIP (using Clojure instead of Lisp) and
that's given me a good sense of Lisp style (I hope). I've found that just the
act of typing in the code and converting it over to Clojure has helped me grok
some of the functional programming concepts I was struggling with (slightly
reminiscent of typing in classic arcade games on my ZX Spectrum!).

Clojure has been my catalyst to understanding Lisp-like concepts, and if I had
to give one reason for that it would be just having access to all the Java
libraries.

------
caffeine
I see a lot of articles gushing praise for the parallelism and concurrency
benefits of the new breed of functional languages (Scalohaskojuremlang), but
too few of them include code. Can anyone share links that include simple
tutorials on how to actually _use_ these vaunted abilities to "be ready for
the multicore era?"

~~~
wglb
While this is not exactly a tutorial, the
[http://shootout.alioth.debian.org/u32q/benchmark.php?test=sp...](http://shootout.alioth.debian.org/u32q/benchmark.php?test=spectralnorm&lang=all)
shows threaded multicore programs in a good number of languages.

