6 ms·
I don't understand why people don't like Erlang so much [1]. It has many excellent features and the runtime stability is unmatched. [1] https://www.codementor
by mycall 7y ago
I don't understand why people don't like Erlang so much [1]. It has many excellent features and the runtime stability is unmatched.
[1] https://www.codementor.io/blog/worst-languages-2019-6mvbfg3w9x https://www.codementor.io/blog/worst-languages-2019-6mvbfg3w...
- imglorp 7y agoAll true, plus other advantages, but I think there are some business requirements that prevent adoption. The syntax and runtime model are unfamiliar and there aren't enough users to get dependable critical hire biomass on a new project. Lots of management would rather have a lot of average, commoditized labor than a little rare, elite few. It's especially tragic because we keep repeating the same mistakes and discoveries over and over that OTP+Erlang solved ages ago. Eg most environments are still dinking around with clumsy hacks to help with GC and concurrency issues.
- cpach 7y ago“Lots of management would rather have a lot of average, commoditized labor than a little rare, elite few.” Very well put and probably very true.
- lostcolony 7y agoIt is. Management will invariably say "We want the best!", and they may even pay comparable to FAANG levels, but when it comes to language/runtime, it's "We need to be consistent" and "We need something we can hire for". Meaning even if management understands that a language/framework can be a competitive advantage, they will still be optimizing for lowest common denominator.
- rukittenme 7y agoI like erlang. But erlang's syntax doesn't do it any favors. Might as well use elixir. Still the beam. I also don't think the beam's benefits are necessary for the vast majority of software which makes it perma-niche. "Why use erlang when I can use python, a database, and a distributed task queue?" I also really like Elm so I was sad to see it in the poll position, but I also don't base my language choices off of someone's blog.
- PopeDotNinja 7y agoThe more I've played with Erlang, the more I've liked its syntax. What I don't like is dealing w/ strings in Erlang.
- salimmadjd 7y ago100%! I actually prefer it now over elixir. Once you get to use it and spend a few weeks working with it, it becomes so expressive and it feels so clean to read and understand.
- macintux 7y agoUnfamiliar syntax is not the same as bad syntax. Erlang’s syntax is much simpler than Elixir’s, and generally more concise.
- crusso 7y agoI guess it depends upon what you mean by "unfamiliar". Erlang's syntax is unnecessarily divergent from a lot of mainstream languages. So much so that it makes it more difficult for mainstream developers to get into. Elixir was modeled after Ruby for a reason. That reason was Ruby's very approachable and intuitive syntax.
- deleted 7y ago[deleted]
- lostcolony 7y agoIt makes it easier for people to dismiss it; it actually is easier to learn. Erlang it took me two weeks to become proficient enough to write useful things, without any real FP background. That includes leveraging OTP. Even with that in place (plus a lot of Java, Javascript, some others, plus many more years of experience), it took me longer to be comfortable with Elixir, and there are still bits that surprise me or bite me (pinning a variable to match it rather than rebind it, macros, etc).
- 7y ago
- WilliamEdward 7y agoIt's gaining a good track record because big industry giants are using it, but it's hard to force functional languages on people. The majority of people will learn OOP for a number of reasons unrelated to how good it is, while functional is becoming more like a niche artisanal craft.
- dnautics 7y ago> while functional is becoming more like a niche artisanal craft. Well, I mean most boot campers are being taught functional React, so, I think it's hard to justify calling it "niche and artisanal" anymore.
- johnmarcus 7y agoIn me experience using Phoenix, it takes an eternity to compile. I imagine that turns a lot of folks off to begin with.
- 1_player 7y agoEternity? My 50kloc Elixir project compiles about the same time as my 10kloc next.js/React project. I've never noticed any compilation issue on my machine, though it's a beefy one (and still JS takes ages)
- johnmarcus 7y agoTrue when you have all the dependencies already compiled. If you are working with it in Docker though, it needs to compile the whole shebang the first time you start it up. It usually took 3+ minutes to get the day started. And any time an additional library was added to config, had to be restarted again. As opposed to something like go, which compiles in seconds typically. Naturally, different folks will have different experiences depending on how it's used. For myself, the long compile time was a turn off.
- deleted 7y ago[deleted]
- 1_player 7y agoWhat a stupid list that is. Rust, Typescript, Elixir, Haskell, C not worth learning in 2019? If you know zero languages, yeah, go learn Javascript, Python or (ugh) Java. If you know one or more language, the ones listed above are definitely worth your time. You might find it a little hard to make a career out of knowing only Elm, but you might not grow very much professionally without widening your horizons a bit either.
- seagreen 7y agoI've had trouble getting into it because the ergonomics are so incredibly, wonderfully, art-project level rough. For example: $ erl Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [kernel-poll:false] Eshell V9.2 (abort with ^G) 1> 2 + 2 1> 2 + 2. * 2: syntax error before: 2 1> 2 + 2. 4 Note the trailing whitespace(!) after the last `2 + 2. `, necessary for the result to be printed. I was coming from Haskell which has its own very serious tooling and ergonomics problems. Trying Erlang made me realize things could be even worse. My internal model in my head of language designers/promoters is COMPLETELY wrong, I have absolutely no idea how people could spend time promoting languages with such strange tooling to a general audience with any expectation that it will work.[1] [1] Not to say that these languages/tools aren't awesome. Trailing whitespace matters semantically absolutely not at all. But if you're trying to promote a language with meaningful trailing REPL whitespace to a general 2020 audience there is some terrible mismatch between your expectations and your actual chance of success.
- moreoutput 7y agoWhat am I missing here? I see no meaningful white space when running the same logic. I would expect this from any language when expressions aren't properly terminated. Eshell V10.4 (abort with ^G) 1> 2+2 1> 2+2. * 2: syntax error before: 2 1> 2 + 2. 4 2>
- hope-striker 7y agoYep, GP mentions in another comment that they misinterpreted the error.[0] Anyway, Python replaces the prompt ">>> " with "... " if the input is mid-statement, and I suppose it would be nice if Eshell did the same thing. [0]: https://news.ycombinator.com/item?id=22799222 https://news.ycombinator.com/item?id=22799222
- seagreen 7y agoThis whole thread is going in my "Humility" file, not only did I misinterpret the error this one time, I've been messing around at the Erlang REPL putting a space after each command for absolutely no reason <headdesk>.