4 ms·
Here is my language-choosing thought process... Perl/Python/PHP/Ruby: Generally 10x or more slower than V8 Node.js, plus global interpreter lock = automatic no
by l1ambda 11y ago
Here is my language-choosing thought process...
Perl/Python/PHP/Ruby: Generally 10x or more slower than V8 Node.js, plus global interpreter lock = automatic no.
C/C++/etc? Fast, but too complex to work with build system / platform compat / 3rd party modules = generally no.
Java? Way too slow startup time; JVM install for users painful = automatic no
Scala/Clojure/etc: Fine languages but same practical problems as JVM languages = automatic no.
Go? Probably nice, but I just don't know it = maybe
Node.js: Fairly fast, easy to debug, fast startup time, easy to use 3rd party code = yes
Rust: safe, C perf, and easy to build and use 3rd party modules via Cargo = yes
- Fritsdehacker 11y agoWhy would threading with GIL be worse than no threading at all? As long as IO is your bottleneck the GIL shouldn't be much of a problem. And Python (and I'm sure Ruby, too) has excellent async support. Not saying Node.js isn't useful, but I wouldn't automatically say no to Python or Ruby.
- l1ambda 11y agoFair point. I would probably use a multiprocessing approach in node.js or use https://www.npmjs.com/package/webworker-threads https://www.npmjs.com/package/webworker-threads. If perf were very critical I would use Rust.