[erlang-questions] What do you like the most about Erlang/OTP?
John-Paul Bader
hukl@REDACTED
Tue Aug 28 15:07:10 CEST 2012
I think the question would be more interesting the other way around.
What do you not like about Erlang/OTP. Here is my list:
* Inconsistencies/Missing functionality in the standard library:
- The principle of least surprise does not apply
- proplists:get_value(foo,[]) returns undefined
orrdict:fetch(foo, []) throws and error.
There are plenty of examples where similar operations in different
modules either throw or just return undefined but never in a
predictable way
My favorite: calling split on a one element list throws an error
- functions operating on lists sometimes expect the list as first
argument, sometimes as the last argument
- merge, explode, implode, traversing, filter, search for
dictionaries would be nice
- missing json parser
- crappy http support! Its the 21st century and the web is a major
thing by now and people want to build awesome backends with erlang
but in terms of http erlang really is a ghetto. the supplied client
and server modules fail at the slightest traffic blow
- calender implementation is super weak and is missing a lot of
functionality which I see people implementing over and over again
- there are sooo soo many things that you could improve about the
standard library its actually kind of sad.
* OTP Releases: for most of the use cases other than big telcos or
banks this is far more confusing then helpful especially when
beginning erlang. While I'm sure there are valid use cases for it
most of the time I thought it was bloated, cumbersome, slow and error
prone.
* No built in support / standard way for installing libraries - instead
people have to find out about rebar themselves. Look at
http://rubygems.org in contrast or
https://www.ruby-toolbox.com/categories
* Lack of namespaces (duck and cover) - Actually I'd be more than happy
with a ruby / python way of doing it but I guess that won't happen
* I also think the supplied test libraries are not that great to get
started or to motivate anybody to test from day one
* Error messages are often not helpful. BadMatch etc could include more
context information to spot the errors faster
There are a lot of things I like and even love about Erlang but these
are the ones that constantly annoy me.
~ John
More information about the erlang-questions
mailing list