3 ms·
I didn't like Erlang when I first tried it. Then later, I found myself doing things in other languages … and I realized what I was trying was significantly les
by hosh 3y ago
I didn't like Erlang when I first tried it.
Then later, I found myself doing things in other languages … and I realized what I was trying was significantly less effort in Erlang and I was poorly reinventing ideas from OTP. That was when I pivoted my career to seek out teams that work with Elixir.
Some years later, when I finally got around to learning and using Node.js, I realized just how poor the async/await/promise design Node.js was (error-prone by design). But I highly doubt I would convince anyone to really give Elixir or Erlang a go.
In my case, it was certainly a case of "it's great but I just didn't understand it".
- mhink 3y ago> Some years later, when I finally got around to learning and using Node.js, I realized just how poor the async/await/promise design Node.js was (error-prone by design). But I highly doubt I would convince anyone to really give Elixir or Erlang a go. IIRC Elixir got a pretty big boost early on thanks to folks making the jump from Rails to Phoenix, so it could kinda be the case that most of the folks who *would* give it a shot *have already* given it a shot. That being said, I have the impression that you'd have more success with folks using Node.js than you might think. I expect there would be more pushback from folks using, say, Golang and Java... if only because the wider dev community doesn't look down its collective nose at those languages quite so much. (Unless you're talking about generics or null values, respectively!)
- hosh 3y agoI have tried with people using Nodejs. I didn’t really get much anywhere. The wall I run into starts with, “what do you think of Typescript?” I don’t try very hard though. At most, I put out feelers and see where it goes, because it is impractical for my team to switch to Nodejs. Due to the nature of the work, Python is a better choice for the team even if I think Elixir can still work better for me.
- zeroc8 3y agoGolang/Java/C++/Javascript developer here. We do look down our collective nose. I've tried to get into Erlang and I'm a big fan of Joe Armstrong. Erlang incorporates great ideas, but using it for a project seems a bit risky, since it is quite different from other mainstream languages. Go is more conservative, but less risky. It's just a C for today's world. I've had lots of success using it, even though I'm aware of its warts (especially when it comes to concurrency). That said, I'm kind of excited about Gleam. Let's see how that works out.
- gregors 3y agoI completely disagree with you that Go is a C for todays world. Rust/Zig/Carbon is a C for today's world, Go is much closer to the new Java/C# It's also good to remember Go itself wasn't always risk free though, every new tech has growing pains. https://www.kickstarter.com/projects/2066438441/haunts-the-manse-macabre/posts/373466 https://www.kickstarter.com/projects/2066438441/haunts-the-m... https://www.kickstarter.com/projects/2066438441/haunts-the-manse-macabre/posts/420311 https://www.kickstarter.com/projects/2066438441/haunts-the-m... The warts with respect to concurrency? That's the one thing Go does well! The real warts are associated with error handling.
- dimgl 3y ago> I realized just how poor the async/await/promise design Node.js was (error-prone by design) It's so weird to me when people make statements like this and it makes me wonder how many times I've been swayed by someone's opinion online who doesn't understand the fundamentals of what they're talking about (or they do, and they just have horrible taste). Node.js's asynchronicity is quite literally one of the, if not the, best part of Node.js.
- pessimizer 3y ago> who doesn't understand the fundamentals of what they're talking about (or they do, and they just have horrible taste). You have no idea what the person you're talking about knows or doesn't know, so your comment is ironic. > Node.js's asynchronicity is quite literally one of the, if not the, best part of Node.js. But enough about your emotional life. Do you have any interesting reason for saying this?
- dimgl 3y agoI'm surprised you think it's emotional. Seems pretty rational to me. I thought Node.js's selling point is the event loop and its non-blocking nature, and how convenient it is to be able to write both your backend and frontend code in a shared runtime. The arguments against that paradigm, mostly around callback hell and promise chaining, have gone away with async/await. So I stand by my assessment that these parts are probably the best parts of Node.js. There are many other parts of Node.js which need work, but it's weird when the thing to call out is its asynchronicity when that part of the language is usually the thing people like.
- widdershins 3y agoAsynchronicity is indeed part of what makes Node.js useful, but that doesn't mean it's perfect. It's very easy to write non-deterministic bugs with async/await. Bugs that might result in flaky tests and incorrect code getting checked in.
- bmitc 3y agoThe best part of a terrible language and ecosystem is a pretty low bar.