The old Erlang mailing list/twit o'sphere is in a fluster. A manic phase: “WhatsApp - they'll no be asking who uses Erlang now!" preceded by a depressive phase "why isn't Erlang more popular?".
The Erlang community is the last place with insight into why Erlang is not popular.
So lets ask people NOT in the community. Here is a list of hypotheses.
Erlang is not more successful because:
* OTP means Open Telephony Platform
* Erlang/OTP is run by Ericsson
* the syntax is prolog-y & not c-y or ruby-y or python-y, its just too damn erlang-y
* no package manager
* no list of open source packages
* no community site
* the mailing list is the community
* everyone knows each other from Stockholm
* it is too hard to get a first working app
* lists for strings, aargh!
* no for loops, eek!
* variables don't vary, whimper!
* people don't learn OTP first but start with Erlang
* people don't learn Erlang first but start with OTP
* no docs
* too many docs but it is the wrong sort
* not enough teaching materials
* doesn't run on the JVM
* we used to think that it was because there were no books...
* Erlang Solutions isn't a proper internet company
* the language develops too slowly
* emacs is the IDE
Some things people are pinning their hats on:
* more books, yay!
* WhatsApp!
* Elixir is irresistable to Rubyists
* LuvvieScript will prove irresistable to the JSers (disclaimer, I'm lying)
* FP is trés, trés à la mode
* LFE & Joxa will be the little lisps that can...
* something will turn up
* something better turn up
* oh God, get me another drink, even at Stockholm prices, I'll be here when something turns up, but by God, a feed of strong drink is the only way to endure the wait
It would be helpful if you would say if you have:
* never used Erlang nor considered it
* tried it & stopped
* use it regularly
So fire away. Do your worst. Hold nothing back.
The syntax is just weird, not only in a paradigm-way (pattern matching is not huge in most languages, but, hey, that's the way of doing stuff in functional programming), but on strange places ("read" lines ending on dot, semicolon takes time, it does not share any common syntax definitions with the languages used by 99% of the programmers). That sets a high bar in approaching the language, so it's difficult to "play around" with it (at least compared with other languages)
While I like some of the advantages of Erlang, the lack of general support for a lot of common operations (and yes, string manipulation is a huge deal) and the fact that it is designed with a very very particular problem in mind makes it "a silver bullet". Not in the usual meaning, but in the way that's only useful for killing a werewolf. For every other task is too expensive and just not the proper tool. I was involved in a project that used Erlang for something not well suited for it, and it was absolutely awful, you have to wrestle with it to perform common stuff that in other languages is done by the standard library. Again, you win something, but only in a very very VERY specific problem.
(I've used it in another project when it was the proper tool, and, in that case, it's still not the most pleasant experience, but you're getting a clear win)