[erlang-questions] "Erlang as a First Language" -- crazy? or just stupid?
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'.
> 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
> 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