3 ms·
It seems to me that Go has very useful runtime features (speed, concurrency & parallelism, easy deployment) but the language has significant drawbacks, includin
by bakery2k 10y ago
It seems to me that Go has very useful runtime features (speed, concurrency & parallelism, easy deployment) but the language has significant drawbacks, including those listed in this article.
The Python runtime is relatively poor (slow and limited by the GIL) but the language is extremely popular [1].
Is there any other language which is a "best of both"?
[1] https://news.ycombinator.com/item?id=3746692 https://news.ycombinator.com/item?id=3746692
- est 10y agoPeople need to stop beat the dead horse. GIL? Golang does not even support multi-threading.
- virtuallynathan 10y agoGo has native support for both concurrency and parallelism (the later by default as of 1.5 - GOMAXPROCS set to NUMCPU).
- niftich 10y agoIt seems you're looking for a language/runtime that's 'extremely popular' and has very useful runtime features like 'speed, concurrency & parallelism'? This constrains the space quite a bit. Languages significantly less popular than Python are excluded by definition [1]; languages subscribing to very opinionated design decisions or too low-level (like C) are also excluded by definition. This only leaves Java, C++, Python itself, and Javascript. If you run Python on a JIT runtime like PyPy [2], you'll probably achieve significant speedup. Erlang, Elixir, Scala, Clojure, languages that also have good approaches towards concurrency are not very popular in the greater scheme of things. [1] the TIOBE index is an imperfect measure of popularity, but let's use it here -- http://www.tiobe.com/tiobe_index http://www.tiobe.com/tiobe_index [2] http://speed.pypy.org/ http://speed.pypy.org/
- bakery2k 10y agoTo clarify, I'm not necessarily looking for something "extremely popular". I was using the fact that so many people consider Python to be their favorite language as a proxy for the high quality of the language design. Perhaps "popular" was the wrong word? So, thank you for listing some less-popular languages as well. Unfortunately, of all 8 languages listed in your post, is C++ the only one which can produce standalone binaries and thus match the easy deployment of Go?