What got you interested in Rust?

Have you published your youtube channel? It would be interesting to watch it.

1 Like

I'm still figuring out how I'm going to make and style the videos. This is my first youtube channel or really first time making videos in general. The channel is The Coding Crab and it's empty right now but it is where the videos will be.

I've been developing software since the early 80's. From Assembly on hardware that I designed through 15 or so languages, to PHP, Java and Javascript.

Every time I changed language it was an attempt to balance complexity vs obscurity. When languages hide complexity, you have to learn the new abstraction, and the underlying complexity is still there, waiting to bite you.

So, Ultimately, I started taking Rust seriously after spending a couple weeks updating my Node, JS, Next.js, React development environment, and still not getting what I wanted.

Along the way, I encountered other projects I used heavily (prisma) converting to Rust with positive results, the Stack Overflow survey, MSRC: 70% of MS assigned CVEs can't be written in Rust. documentation, community, etc.

I'm still learning and the curve is steep. But I have become convinced that once mastered, the Rust language and ecosystem will provide best possible balance of performance, safety, low-level control and high-level ease of use.

The ability to bring all of this to web apps through WASM is just icing on the cake!

I am encouraged that Rust has opened the door to the next major paradigm in software development. As such, I would encourage anyone new to programming to 'roll up their sleeves' and learn a language that will benefit them for years (if not decades) to come.

3 Likes

Subscribed :slight_smile: good luck, and enjoy! Always exciting to see more people make rust YouTube videos

1 Like

For me essentially the equation was:
C-level performance + no makefiles + ADTs + pattern matching + Lisp-like macro's - memory unsafety creeping in everywhere.

Before Rust I was using a mixture of JVM languages (mostly Clojure + some Java), or python for scripting.
Nowadays, Rust is able to deliver pretty much anything I need from it, from low level bit twiddling all the way up to extremely high-performance web servers. And with any luck a Vue-like framework will spring up soon so I can write client side code in Rust as well, since maintaining Javascript is really not fun and it's showing its age despite its continued development.

2 Likes

I like that! Not only does it frame the problem as like a fun game - but it's not just a puzzle, it's finding the villain.

1 Like

std::shared_ptr is atomic though.

The reference count is atomic. However, the object behind the pointer is not protected in any way. In terms of Rust, there is no assertion that the object implements Sync and that includes any interaction that may happen in the destructor. And on top of that, multiple owners are even allow concurrent mutable access. Yikes.

3 Likes

Here's my list :slight_smile: I guess at a certain point there's gonna be overlap with everyone else's answers.. but here goes:

  1. Type safety. I like catching these types of errors early on at the compiler level. Working any other way seems insane.

  2. Performance. For my hobby stuff I finally decided to go lower level and start playing with writing a renderer, dealing with game engine-ish things, etc. At this foundation level performance matters a lot.

  3. The language itself. Traits, expressions, match, ... lots of great stuff

  4. Ecosystem. Cargo, plugins, crates, documentation, tests... wow

  5. Functional-light. ADT's and closures and combinators are really powerful. On the other hand, going further with category theory and whatnot is imho like a "nice to have" but really not necessary. I'm sure Haskellers will disagree and say I'm missing out on huge opportunities for elegance, and I guess they're right - no doubt Rust will grow in this area too... but I dunno, I tried it- read a book on Haskell, wrote some stuff in Purescript, and gave it a genuine try. I really felt more like the elegance I gained was not worth the headache of getting there or really made a difference in ability to reason about the code. Maybe it's a matter of climbing the mountain and more investment would change the cost/benefit, but, meh, I'd rather invest that energy in other problems for now.

  6. Kindof a continuation on that point... my first love was C/asm but I haven't touched that in forever. Spent years building stuff in Flash then Unity (and server stuff). Even though there was ultra-quick time to market (which matters!) I always felt like I was honing my skills in Flash or Unity instead of Computer Engineering (and missing out on performance). Writing in Rust helps me get back to my first love, thinking about what's really going on in the computer so that I can make it do what I want. And if I'm being honest - it's humbling/embarassing that after all this time, I feel like I don't know squat! That's exciting too in a way!

  7. Wasm. A couple years ago I shifted gears from creating native apps (Unity at the time) to web. Writing javascript/typescript is super fun and productive. Maintaining it and reasoning about it is not. I'd much prefer writing in Rust for all the reasons mentioned above - and being able to do that on the web is wonderful.

  8. Community. The Rust community is particularly knowledgeable and awesome. I guess part of that is because Rust is such a powerful and comprehensive language, mastery of it pretty much demands experience and humility- and going through the learning pains tends to make one empathize with others I guess. I dunno. But anyway - it's a great community both on a "I enjoy talking with these people" level and "wow the knowledge base here is incredible" level.

6 Likes

I started with Rust because

  • I needed speed
  • I didn't want to shoot myself in the foot
  • I wanted to learn new concepts (even if the concepts are not new they are hidden in other languages with low level functionality)

I am very happy to use Rust as I know that the compiler scolds me if I do not behave properly. The benefit is no dying at runtime.

Although I am still a beginner I was able to write some small command line apps which work very well.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.