DEV Community

Discussion on: Which language to learn next..

Collapse
 
simbo1905 profile image
Simon Massey • Edited

Rust. Totally. For the fourth year in a row its the most loved language in the stackoverflow annual survey insights.stackoverflow.com/survey/... that alone should be enough. It is as fast as C with no garbage collection yet is memory safe and has just added very high level features like async/await. The community are extremely friendly and open. Most languages have a benevolent dictator for life (BDFL) but Rust is truly community driven. It compiles down to native but you can also target web assembly so you can run it in a browser sandbox (only its so fast you can write a full 3D gaming engine).

Why do I say Rust that I have only experimented with over PHP, Java, Scala, Python, C, C++ and a bit if C# that I have have used professionally?

Well C and C++ are old systems programming languages with tons of baggage. Rust is a fresh systems programming language that eliminates memory bugs that are the scurge of C++. Rust is a recent leap ahead.

Java and C# are old school OOP languages. There is a good reason folks have moved onto Javascript, TypeScript, Scala, Kotlin and everything post that. Scala I love but its a JVM language and if your not upgrading from Java that means baggage.

Python is great but if you know JavaScript already then Python is very similar (loosely typed, garbage collected, runtime written in C/C++, has classes) whereas Rust is radically different (strongly typed, no classes but polymorphic, no garbage collector, no runtime).

Rust is also a challenge at first as its approach to memory management is compile time checks other languages don’t have. This means a step initial leaning curve of advanced concepts (and type sigs that are scary as hell at first!) The pay-off is that the compiler will tell you “nope” when you going to have a concurrency bug or memory error.

So if you’re looking to expand your mind, try something radically new, and a genuine breakthrough, that has an outstanding community, and that is very much loved by those who use it: choose Rust!

Collapse
 
simbo1905 profile image
Simon Massey

I forgot to mention PHP but if you know JavaScript you know Node so at best it would be a step sideways rather than a step forward into something different.