
Programming language impact on the development of distributed systems - DanielRibeiro
http://www.springerlink.com/content/w071241962270242/fulltext.pdf
======
law
Excellent primer on higher-level languages and their
applicability/appropriateness for enterprise-level development. Of course, it
doesn't get to the crux of the argument: _when_ it's more appropriate to use
Scala/Erlang/Haskell instead of "less academic" languages. Typical among the
academic community is the belief that computational efficiency doesn't matter
for machine learning tasks when you're implementing them.

Of course, in practice, implementing an algorithm that performs well in
experiments will only be slightly polished before putting it into production.
Even in spite of the relative low cost of EC2 hosting, developers trying to
maximize their ROI might find that the equation balances in their favor by
maximizing efficiency on each core and decreasing the amount of memory that
can be used. I admittedly don't know a lot about scaling experimental code
into enterprise-level code, but I do know that at some point, it must reduce
to a cost-benefit equation, where the costs of EC2 hosting is compared against
the costs of development/debugging time in languages like C++. This, of
course, reduces to the specifics of your business needs.

------
gtani
Good find, tl;dr is skip to page 4 for mini-tut on erlang/OTP and scala/akka.

Lightly mentioned in paper: clojure STM and var/ref/agent/atom mutable storage
. Not mentioned or not covered in any depth (I only did quick scan): Google
Go, haskell/GHC, F# MailboxProcessors, java.util.concurrent. On p. 5, i think
couchDB counts as a killer app for erlang.

