DEV Community

Discussion on: Which programming languages do you think are the most worthy technologies for a junior backend developer

Collapse
 
lambdude profile image
Ian Johnson • Edited

I really like Rust. Rust is a low-level programming language, like C. But, it has high-level abstractions, like Python. In web dev, many would point you in the direction of PHP, Ruby and Python. These are worthy languages to know.

However, Rust has a very interesting model that solves many classes of problems. For instance, it guarantees no data races and no stack overflows. It is an expression-based language, like Ruby. It has testing built into it. It has documentation built into it.

Rust gets out of your way when it should and gets in your way when it should. If you want to write your code with objects, Rust is fine with that. If you want to write functional code, that works just fine in Rust too. But when you don't cover every possible case of the value of a variable, Rust gives you a compile-time error so that the bug never enters production.

There is a weekly newsletter called This Week in Rust. There is also a subreddit, a twitter account, a YouTube channel and the Rust Herald. There is also the Rust User Forum for help.

Rust has a really great community. irc.mozilla.org#rust is the best irc channel I've ever been on. By the way, Rust is backed by Mozilla.
I went to a conference in October called Rust Belt Rust in Columbus and it was a great experience. I cannot stress enough how great the Rust community is.

Rust is a great back-end language. It's faster than Go and Java. It's also memory-safe and has no garbage collection. Plus, it has OS threads, not green threads.

I'm currently using Rust to implement microservices using AWS Lambda. There are also web frameworks for Rust, including Rocket and Gotham. It also has several ORMs, including Diesel. The advantage of the ORM is that you abstract away from the SQL. SQL is an important skill to know on it's own, but in an application a data store should be abstracted.

As far as resources go, there is what is known as the book, which is currently transitioning from the first to the second edition. Another great resource is Rust by Example.

Collapse
 
sironheart profile image
Steffen

Thanks a lot for all those information :) I personally have taken a look at Rust a while ago and haven't really enjoyed it. Also it had a few problems in stability, which I always experienced in Mozilla Software... might also be just me... on 2 - 3 different computers... just don't really know... but as you are so passionate about it, keep on doing awesome stuff with Rust! You might find a way to make a big thing with it :)

Collapse
 
twof profile image
Alex Reilly

Can you talk a little bit more about why you didn't like Rust? I'm trying to think of languages you might like working with.

Thread Thread
 
sironheart profile image
Steffen

It's really just stability and my experience with Mozilla products I guess... I always have the problem that their software gets incredibly slow after a few minutes of usage... But maybe it's just me :)

Till now I really liked C# (even though I'm not able to write it anymore because of a long break) and PHP. Maybe that might help you :)

Collapse
 
lambdude profile image
Ian Johnson

They have actually done a lot of work recently to stabilize all of the common crates and make the language more ergonomic. They are also in the middle of a documentation overhaul. So the language should be much more approachable.