[erlang-questions] Surprising conclusion in · Parallel programming environments: less is more
Thu Oct 4 10:43:12 CEST 2007
> > http://blogs.intel.com/research/2007/10/
> > parallel_programming_environme.html
> > has a rather surprising conclusion to solving parallel programming
> > problems. no new languages are needed, instead someone should fix the
> > existing ones.
> That article basically says:
> (fact) if you give people too many kinds of jam to choose from,
> they will choose less jam. (All the examples of this kind
> presented in the article are about people's PURCHASING
> (wild extrapolation) there are already too many parallel programming
> languages and approaches.
> (extreme flight into fantasy) we should use an existing language
> rather than one designed for parallelism.
> There is not, in fact, anything resembling a logical argument or any
> evidence presented to link these points. In particular, since every
> parallel language is a progamming language, if there are too many
> parallel languages there are too many *programming* languages of any
> kind, and we should all standardise on a small number of them. (C++?
> Fortran? Visual Basic?) Oh, and with about 6,000 natural languages
> on Earth, we should most of us be so paralysed by choice that we don't
> say anything!
The Paradox of Choice book is pretty good, and while the above
conclusions are off, the concept is valuable.
Think of how anxious some people get trying to pick the "best"
programming language, especially because as someone with less
experience, they have less skills to even judge.
Of course, it's not possible to constrain the amount of programming
languages - the market does an ok job of doing that, but for a
practical application of this concept, consider Object Oriented
extensions to the Tcl programming language. Tcl is a flexible enough
language that you can add OO systems on top of the base language (even
writing them in Tcl itself, or going through the C extension system).
Of course, the first thing most people ask, when they decide to add OO
to their Tcl is "which one should I use? which one is best?". With
something like Python or Ruby, this doubt simply does not come into
play. I think that in the end, having to choose is more of a burden
than simply getting a good default (especially when you consider the
negative effects of not being able to share code between all the
different OO systems).
So, yeah, their example is bad, but the concept is worth paying attention to.
David N. Welton
More information about the erlang-questions