3 ms·
Node is for hipsters and JavaScript is a terrible language even now. Exception handling, threading, build tooling, modularity, debugging, profiling, standard li
by throwbsidbdk 10y ago
Node is for hipsters and JavaScript is a terrible language even now. Exception handling, threading, build tooling, modularity, debugging, profiling, standard library support.... Almost every metric I can think of is awful in js compared to .NET and Java world. Most of the devs saying how great js is don't know many other languages.
Rant aside, if you have any computational demand stay far away from js. Lack of threading support absolutely kills performance. The hacky alternatives are terribly slow, like using redis to share state between processes. Js is also still about ~10x slower than .Net or Java (and runs a single thread) which matters in hardware cost at scale. The only strength of node is the ability to run pages on the server. Great for server side rendering and testing, a step backwards for everything else.
That said, I would avoid .net core for now as well. We tried using it but it required us to abandon too many of our mainstay libraries and tools to be productive. Many parts of the standard libraries that you and other libraries rely on no longer exist. MS is working on this but for now I would definitely stick with regular .net.
Arguably best stacks for most use cases are Java (Spring boot or Jersey) and .net MVC using WebAPI. Plus Angular or whatever crazy shit you want for the frontend. Not exciting but extremely practical, well tested, well understood.