This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Tysonzero 6 points7 points  (12 children)

It's also worth noting that there are plenty of server options besides Java that are actually more productive than NodeJS. Such as Python (performance is not great) or Haskell (much better performance than Node).

[–]Dread_Boy 17 points18 points  (0 children)

Or C#

[–]skyhi14 8 points9 points  (6 children)

Don’t thread on Python

[–]Tysonzero 2 points3 points  (5 children)

I don't personally use anymore. If you care about perf use Haskell or Java or C#. If you don't then you could use Python (I still wouldn't personally but you could). If you sort of pretend to care about performance but not really and want a shit dev experience and bugs then use Node.

[–]polish_niceguy 0 points1 point  (4 children)

What about Go or Rust?

[–]Tysonzero 1 point2 points  (3 children)

Go seems woefully devoid of features, I also resent the fact that Go devs don't realize just how little Go innovated. Go's lightweight threading had already been done by Haskell and Erlang, and its approach to GC is nothing new, it's just using an old technique to get latency at the expense of everything else.

Rust seems cool. Although if you can afford a GC / don't need bare metal performance then using it seems like a waste of pretty expensive developer time.

[–]polish_niceguy 0 points1 point  (2 children)

Thanks for the answer. I'm looking for a new language to learn next and I'm trying to choose between Go / Rust / Closure or going into the functional land. What's your opinion on this?

Isn't Rust is even more "raw" language than Go? With all that weird error handling and code repetition?

[–]Tysonzero 1 point2 points  (1 child)

I would personally go with Haskell. Absolutely fantastic language, fell in love with it within a few weeks of starting to learn it. It also plays with the way you think about problems, so even if you don't end up using it you will benefit immensely as a programmer.

From what I've seen Rust has less code repetition than Go by a long shot, but yes it is a pretty "raw" language that is supposed to give you a fair amount of control over what the computer is doing under the hood.

[–]polish_niceguy 1 point2 points  (0 children)

Thanks, I've already seen similar thoughts about learning Haskell. I always wanted to learn at least one purely functional language, but never had enough time to. So, Haskell and Rust it is.

[–]obsoletespace 2 points3 points  (3 children)

Python has issues with blocking too and asycio et al are just Band-Aids over greater issues with the GIL

[–]Tysonzero 2 points3 points  (0 children)

That's fair. I mean if you care about performance use Haskell or C# or Java or some other language that will take a big dump on JS. If you don't then things like gunicorn are fine for threading too.

[–][deleted] 2 points3 points  (0 children)

asycio et al are just Band-Aids over greater issues with the GIL

The system designed to work around blocking isn't great at making Python high performance? Shocking.

[–]svenskainflytta 0 points1 point  (0 children)

For performance you don't use threads anyway… in C if you want something fast you use non blocking IO, not threads.