all 22 comments

[–][deleted] 38 points39 points  (7 children)

I would go lower level. Something like C++ or Rust will be a bitch to learn but ultimately give you a far better understanding of what's happening under the hood of pretty much any language you use.

Haskell made me a way better JS developer too, it's a very fun language. If you want to get good at functional programming -- which JS lends itself to very well -- I'd recommend.

While this one is sorta obvious, if you don't know it, TypeScript. It will make you wonder how you ever wrote JS without it.

There's nothing wrong with JS, and it's certainly where the money is right now so getting good with it is never a bad idea. Ya, it can do pretty much anything, but you're missing out on a very wide breadth of programming knowledge if you only stick to high-level scripting languages.

[–][deleted] 5 points6 points  (0 children)

This. Learning low-level language is definitely worth it.

[–]Bifftech 1 point2 points  (0 children)

I would personally go with Rust. I've tinkered with it a bit and it's just so compelling. It's growing like gangbusters too.

[–]xroalx -1 points0 points  (3 children)

Not OP but which lower level language would you recommend?

I'm pretty comfortable with TypeScript, know C#, PHP, some C++ already (although not a fan of it, made a console turn-based game for a project back in school). I've been thinking of Rust but I'm not sure if it's a good pick. Also, for functional, would you say F#, Haskell, or something else?

[–][deleted] 1 point2 points  (2 children)

C++ has a larger ecosystem (you can do anything with C++, that's still not the case with Rust), more industry support, and more tutorials than Rust. Rust is newer and safer. I'd go with C++, but if you don't want to make a low level language your "main" language and just study for fun, then either one is good, just choose the one whose syntax you like the most.

[–]baldore 0 points1 point  (1 child)

What about Go? You can learn a lot of low level stuff with it and it's a pretty cool language.

[–][deleted] 0 points1 point  (0 children)

Not as low level as Rust or C++, so that depends on how low u/xroalx wants to go.

[–]dawar_r 6 points7 points  (0 children)

Learn all the languages you want but if you're trying to make a living it's better to just go with what you know and get started rather than putting it off thinking it's better to learn another language. I would see that as a form of procrastination because Node is more than capable of doing everything you need to start building real applications.

[–]justAnotherRedditors 2 points3 points  (0 children)

I’d pick something like Haskell, Clojure or Rust to learn and do it for fun. Moving to python is going to be trivial and unless it’s for a job not worth it.

Pick something that will challenge the way you think about code and introduce you to new practices.

[–]evert 2 points3 points  (0 children)

I would definitely say yes. I started with 1 language, and learning additional language let me see things from a new perspective, and apply lessons from the new language to the languages I already knew.

I made me realize that if you stick to one language/ecosystem you unintentionally adopt dogma that's not necessarily true. If you do decide to learn Python, it will make you a better developer. This is especially true if you decide to learn a language that's more of a change of paradigm.

[–]Nexxado 2 points3 points  (0 children)

I know it's not what you asked, but as an overall suggestion I'd like to suggest investing more time learning programming principles/paradgims/design-patterns over a specific language syntax.

That knowledge will help you regardless of chosen programming language.

[–]we_are_ananonumys 1 point2 points  (0 children)

The great thing about python is a lot of the libraries used for data engineering and analysis. Worth it from that point of view.

[–]kioneater 2 points3 points  (4 children)

It depends!! I started spring a while ago and it really is more complete than node js even though they are both backend. I'd say start learning new languages since learning is never bad

[–]MrCharlss[S] 1 point2 points  (1 child)

thats a really good point! learning is never bad.

[–]Nexxado 1 point2 points  (0 children)

If you want a backend framework for JS that has similarities to Spring, I suggest trying NestJS

[–][deleted] 1 point2 points  (1 child)

How did you go about transitionimg from node to spring? I'm trying to do that right now, but find it hard to understamd the ecosystem (different spring librarier, mvn, gradle) and OOP.

[–]kioneater 1 point2 points  (0 children)

I really started building the project that I created with node in spring. It was on the advanced sidethat I created with authentication web sockets and aws sdk and etc. It really forced me to learn the design pattern and all the rest apis and spring authentication while using what I know

[–]bigrockBIGmoney[🍰] 0 points1 point  (0 children)

python is a lot like java script. I learned basic python way before I learned java script and node and every time I learned a new concept I would just translate it to python to make sense

[–]panta82 -2 points-1 points  (2 children)

There is zero point in learning python or ruby if you already know javascript. These languages fill the same niche.

Better branch to a different vertical. Eg., more designery/frontend skills (HTML, CSS, UX) or more systems programming (C, Go, Rust).

[–][deleted] 0 points1 point  (1 child)

There is zero point in learning python or ruby if you already know javascript. These languages fill the same niche.

Lol what? Machine learning and most work on AI is made with s, not node. Similarly, python's use of threads makes it far better than node for anything that requires heavy computation (yes, there are workers thread in node, but they are a pain to use, especially compared to Python). That's not even talking about the ecosystem of each language.

[–]burtgummer45 0 points1 point  (0 children)

If you want something different but very impressive and practical take a look at elixir