[erlang-questions] "Erlang as a First Language" -- crazy? or just stupid?

Cyril Pertsev kika@REDACTED
Mon Dec 21 07:03:51 CET 2009

Jarrod Roberson wrote:
> Actually Erlang as a first language is not that bad of an idea, especially
> if the only thing the person will ever support is that one application.
> Erlang is hard to learn for people coming from imperative C based syntax
> languages and especially those with decades of experience.
> 20 years of doing something a particular way is hard to UN-learn.

I guess that this difficulty is greatly overestimated at times. I have 
20 years of experience programming in C, C++, Perl and many other 
similar languages, I'm 40 years old (that's old) and I started coding a 
production application in Erlang just after I read Joe's book on a 
couple of long distance flights. And guess what, the application is 
pretty much successful, I did a lot of mistakes in the course of 
development, but I would have done them in any other language as well, 
just different. We're very small company developing very complex and 
ambitious product so I have to combine many management roles with the 
role of the developer and I found FP and Erlang in particular very well 
suited for people with ADD like me. You just don't need to remember 
about all possible consequences of, say, *p++ because a) there's no *p 
and b) there's no consequences except for the return value.

Erlang is, in fact, a very good example of first time language, not 
because the language itself is so great, but because I teaches a very 
useful concept - MPI-based multiprocessing.

> If I had learned Erlang and functional programming first it would have been
> much easier to pickup, and would have made learning other imperative C-ish
> syntax languages "foreign" instead of the other way around.

I'd object here as well. Uninitiated programmer takes C++, learns 
template wizardry and carefully develops a complete incomprehensible 
mess in the code. FP programmer being forced to develop in C++ develops 
much less error prone and stable 'functional' C++ code (being still
incomprehensible, though). My C++ habits improved after learning Erlang.

My take at the answer to the subject line is 'crazy, but smart'.

Best regards,

> Lots of people that learn Erlang as a 5th or 6th or more language tend to
> judge the learning curve based on their Previous experience learning other
> languages.
> If you know C, then C++, Java, Python, Ruby, Perl, PHP or whatever is just
> learning a different syntax for the most part. Learning Erlang is also
> having to throw out a lot of stuff you "know" to learn a different paradigm
> of thinking on how to structure your decomposition of a problem into
> functional terms.

More information about the erlang-questions mailing list