| I've posted these before[1]: * No public bug tracker * epmd's security (or lack thereof) * Can't insist that epmd be started separately (`erl -no_epmd` won't start epmd but it also won't start epmd's gen_server) * Can't swap out epmd because while `erl -epmd_module foo` is there, `net_kernel:epmd_module()` is barely used. (Although I don't think its interface is documented anyway) * No built-in way to hook UNIX signals * While the documentation itself is pretty good, it's presentation is lacking and it's difficult to quickly correct mistakes as you run into them * It can be difficult to reason about when a shared binary will be garbage collected * OS packaging (I'm thinking of Debian/Ubuntu) of Erlang and Erlang apps tends to be more harmful than helpful (old packages, namespace conflicts, etc) To them I'd add: * No agreed upon build tool (rebar while prevalent isn't universally accepted) * Community libraries often have no support for upgrades or aren't packaged properly for releases * Can't upgrade SSL if you're using it as a carrier * No standard code format tool like gofmt (yes I know about erl_tidy, no it doesn't provide the same functionality as gofmt or it'd see similar use) * Not enough infrastructure around built around edoc; where's the godoc or godoc.org work-a-likes? (yes I know about erldocs.com, it's no godoc.org) [1] https://news.ycombinator.com/item?id=5801706 |