What's a good programming language to Pickup?

5 points by posharma ↗ HN
I've been a C++ programmer for several years and am up to date with modern C++ (C++14). Thinking of expanding my expertise. Already know Python. Objective: (1) fun and (2) can be used in production. Some options: Go, Rust? Thoughts/opinions?

20 comments

[ 3.2 ms ] story [ 47.1 ms ] thread
Go is easy to pick up, but it can be a pain to work around its warts, and memory allocation is HORRIBLY SLOW.

Rust is a bitch to learn, and it's become a kitchen sink (starting to feel like C++ in the 90s).

Python is pretty nice now that the whole 2.x fiasco is mostly over.

LUA is super simple and can be embedded in almost anything.

Is Python in demand? What will happen with Python in the next five to ten years? These are common concerns that product owners have when they consider using Python to develop their software. We’ve analyzed data from credible sources such as Stack Overflow, GitHub, JetBrains, TIOBE, Statista, and PYPL to provide an accurate answer to the question How strong is Python demand on the market? https://steelkiwi.com/blog/python-demand-on-development-mark...
(comment deleted)
Coming from C++ I doubt Go and Rust would be fun to you so I recommend Clojure.
Coming from C++, prolog might be mind-bending and that might be fun for you. It is also a good tool for some of your C++ projects, if you need it, so it checks the Production part.
For backend infr, it's Java and its ecosystems. Not a fun language, but fairly straight forward to learn and widely use in production. Here in NYC (enterprise world), I don't see many Go/Rust related jobs.
Go. Great tooling, with the possible exception of a debugger. Easy to get correct compared to C. I gave up on C++ a long time ago, so I have no idea how it compares. Much less ceremony and dogma than Java.

Go has fluid-feeling syntax. It does have a few gotchas, be careful of fiddling with the underlying data structure when doing a loop over "range".

At first the staticly-compiled executables seem large, but that leads to no (or very few) external dependencies. Cross-compilation is simple. Great for backend work.

Why is it better than Java?
No need for JVM

Syntax is way simpler

java and JVM languages have this... shitiness about them

It's excessive but it's not terrible... is Go that much better?
When I learned Ruby I found it to be a lot of fun. I was using C++ and C# before that. I did not enjoy Rails so much as the tech was changing too quickly and IMHO the documentation was not keeping up.
Node.js! It can help you collaborate with more teams. Lots of reusable code in the ecosystem.
I would suggest you to explore your interest and then go ahead with picking a language! see what you are comfortable with and enjoy coding in.