5 ms·
Elixir is definitely a better Nodejs... that JS developers don't know about.
by conradfr 3y ago
Elixir is definitely a better Nodejs... that JS developers don't know about.
- hosh 3y agoIt took me months before it sank in that Nodejs async wasn't really async as I knew it from Elixir -- there's an implicit queue, and no true suspension of the execution flow. One justification for this was that it is supposed to make it easier to reason. It made it more difficult for me to reason -- maybe single-threaded async reactor is a poor substitute for immutability. Unhandled promise rejection is an example of a consequence of this design. That's not really a thing in Elixir by design. But in the Nodejs world, people don't even see it as a design flaw. It makes reasoning about reliability much more difficult.
- skrebbel 3y ago> One justification for this was that it is supposed to make it easier to reason. It’s a valid justification because it makes it substantially easier to reason compared to mutable multithreaded languages/runtimes such as C(++), Java and C#. Eg a semaphore in JS doesn’t exist. It’s just a boolean. Interlocked Increment doesn’t exist. It’s just someVar++. And so on, it’s very nice. That doesn’t mean that there aren’t other setups (such as immutable data with message passing) that are even easier to reason about. Every new tech compares itself to the current mainstream.
- deleted 3y ago[deleted]
- hosh 3y agoYou and I may know this, yet I have encountered smart people who defend a local maxima.