Why do the Alpha Geeks care about Erlang? The obvious conclusion points to processor speeds remaining static, and multi-core computers becoming mainstream. As of October 31st 2007 it is quite complex to create a well designed desktop application that takes advantage of multi-core processors using Java, C#, Ruby, etc. Alpha Geeks like to have several tools at their disposal. Having several tools available can ease solving a complex problem if the tool is designed with that problem in mind. Therefore, looking to see if Erlang provides a better solution for concurrent programming is an easy choice.
Why do CIOs care about Erlang? CIOs know that computing power is going in the direction of more cores, not faster processors. Knowing that Erlang is a language designed to take advantage of multi-cores is enough to drive interest. Other questions that I would expect from CIOs are: Reliability? Nine nines uptime[1]. Maturity? It's been around for 20 years. Who else is using it? Ericsson, Nortel, T-Mobile. The argument sounds compelling.
Why do I care about Erlang? I quite like the idea of running an entire test suite in parallel. Additionally, Procedural languages were mainstream years ago and several best practices emerged. These days, OO languages are mainstream and more lessons have been leared; however, the masses have never exploited the power of functional languages. I believe that if programmers start writing applications in Erlang to address the concurrency issues the best practices from the functional community will be given more attention. I hope that everyone can benefit from the diversified experience.
[1] The AXD301 has achieved a NINE nines reliability (yes, you read that right, 99.9999999%). Let’s put this in context: 5 nines is reckoned to be good (5.2 minutes of downtime/year). 7 nines almost unachievable ... but we did 9. (http://www.pragmaticprogrammer.com/articles/erlang.html)
I haven't been able to understand functional languages too well as yet (but I admit that I haven't been able to spend too much time exploring them so far)...
ReplyDeleteBut with my few experiences, aren't they a bit procedural in nature? I mean the way I'd think of an OO solution is so different from how I'd approach a problem in a functional manner... trying to model something in a functional language gets me thinking procedurally. Is functional kinda taking us back to procedural or am I missing out something completely?
The number one reason I want to learn Erlang because it's different from the other languages I use (primarily Ruby, Python, JavaScript, SQL).
ReplyDeleteI want to learn Erlang because Haskell's too hard.
ReplyDeleteI'm learning it because it has the butt ugliest syntax I've ever seen in a programming language. Ugly syntax FTW! All this Ruby elegance was making me way too complacent...
ReplyDelete