DEV Community

Cover image for 🚀 🌟 Why Rust is the Next Big Thing in Programming 🔥

🚀 🌟 Why Rust is the Next Big Thing in Programming 🔥

Hanzla Baig on December 17, 2024

🚀 Why Rust is the Next Big Thing in Programming 🔥 Rust is redefining what modern programming means. It offers blazing performance, uncom...
Collapse
 
boltultra profile image
Mayowa Sunusi Usman

I was planning on learning Rust to start building on Solana, coming from JS/TS background and seeing all these comments, i am doubting my choices :lol

Collapse
 
leob profile image
leob • Edited

What I noticed (back when I attempted to learn it) is that Rust has a heavy "functional" (FP) feel - yes, it is "mixed paradigm" (imperative and OO and FP), not pure FP, but the whole type system, with "abstract data types", and with its emphasis on "mutable" ('side effects') versus "immutable" reminded me a LOT of a language like Haskell !

While admittedly it's not a pure FP language, you could say that it's by far the most popular current mainstream language that has a heavy "FP feel" to it.

What I like about Rust is that it's unique and innovative, and very well conceived - the memory model (borrowing and so on) is indeed what's unique and what really makes it "special", it's a pretty genius piece of work.

The only serious drawback that I see is its huge learning curve - I think for that reason many companies will still choose GoLang (or just JS/TS) ...

All in all, great to see Rust gaining market share, but I don't see it becoming "dominant" :)

Collapse
 
nicolab profile image
Nicolas Talle • Edited

Lots of positive points in the article but there are negatives too, it's good to show them too.

  • Productivity in Rust is slow.
  • Rust is not really guaranteed memory-safe. Still, there are risks, you will never be fully secure.
  • The build time is looong (slow).
  • Learning curve is steep
Collapse
 
prochac profile image
Tomáš Karela Procházka • Edited

Go and moderate tooling? Bruh!
I get it, it would break your table 😂

If something, Go has less safe type system in comparison to Rust. And ofc GC affects speed.

Meanwhile Python has matured mess. Pyenv, venv, virtualenv, pipenv, pip, conda, poetry,... 😂 Already mess, and we didn't deploy yet. gunicorn, uvicorn, uwsgi, wsgi ...

Collapse
 
arma profile image
DoÄŸa Armangil • Edited

If eliminating garbage collection is such a nice thing to have, then other languages could start supporting it as well.

The same way as many languages have already copied JavaScript’s async/await pattern event loop.

Collapse
 
arma profile image
DoÄŸa Armangil • Edited

And I'll add here this thought:

  • I think the main reason why Mozilla is pushing Rust so aggressively to the market is not because Rust is so much better than other languages✤ but because Mozilla is looking for a reason to justify its existence. Personally I haven't touched Firefox more than a couple of times in the past 5 years, and Firefox usage percentage is in the low single digits worldwide.

—
✤ Although obviating the need for a garbage collector is certainly innovative.

Collapse
 
algonzalez profile image
Al Gonzalez

You mean copied from C# right? 2011/12 for C# vs 2017 for JavaScript ;-)

Collapse
 
arma profile image
DoÄŸa Armangil • Edited

I meant to say "event loop", not "async/await" (updated my initial post). The real innovation was the event loop, not async/await. To my knowledge JS was the first to have an event loop, feel free to correct. AFAIK JS didn't copy anything from C#, I think the async/await pattern was the outcome of a collective effort by the programming community of trying to figure out how to program the event loop. If you know who the author of the async/await pattern is, feel free to reply.

The event loop does not really need async/await, Promises are enough for that, although async/await is much nicer to program with.

Collapse
 
pr11me profile image
Paul Ritter

"copied js async/await"... it's more correct to say that js did the copying 😉
softwareengineering.stackexchange....

Collapse
 
arma profile image
DoÄŸa Armangil • Edited

I meant to say "event loop", not "async/await". The real innovation was the event loop, not async/await. AFAIK JavaScript was the first language to come up with the event loop concept. Many languages copied the event loop from JS, not the other other way round. Feel free to correct if you have any additional info about that.

Collapse
 
someone_760e7f3b4 profile image
Vaibhav Kaushal • Edited

I humbly disagree. I compiled zellij today. Took about 15 minutes (minutes!!!!) on my orange pi 5. A behemoth go codebase with at least 10x code that I have compiled within 4.

I remember installing LunarVim too. That too wanted to use some rust tools and compilation is such a pain that I don't wanna deal with Rust if I have to compile anything. I will sacrifice some of that runtime speed to give me some dev speed with go - which is just as safe and almost just as a fast - at least good enough for most usecases anyway.

In a world where people install Electron app, saving 1 millisecond per request is acceptable against that abyssmal compilation speeds.

Collapse
 
russoue profile image
Mohammad Husain • Edited

10+ years and still it is being considered as the next :-)

Collapse
 
lsproule profile image
Lucas Sproule

The learning curve for C++ is the same as rust. You just like the learning curve for rust better. C++ is being pressured by rust to do better with safety, and I think that's great.

Collapse
 
jeffrey_tackett_5ef1a0bdf profile image
Jeffrey Tackett

One correction with Mozilla and Servo, they originally developed it, but it is now part of the Linux Foundation.

Collapse
 
aceofspades5757 profile image
Kyle L. Davis

Rust offers native performance. It's typically faster than C++ due to some complexities added on by modern C++ but this really differs based on the context.

Collapse
 
sairamkonuru profile image
Sairam Konuru

Rust is simple and fast. Tooling also is good with VsCode and RustRover.