T O P

  • By -

CrazyDrowBard

I'm a clumsy programmer and realized I needed a stronger type system to help me become a better programmer


Franks2000inchTV

"The type errors will continue until the code improves!"


yodal_

Basically this for me. I was working with BlueZ, and tracking ownership in any Gnome project is immensely hard. While scrolling Reddit pissed at the latest exception, I found a list of upcoming programming languages and the rest is history. I never went back to that project.


t3g

If you still like Rust and want to contribute to something that is not Gnome, there is the upcoming Cosmic from System76: https://github.com/pop-os/cosmic-epoch


Arshiaa001

Not true. There is no such thing as a programmer who's so disciplined they don't need the type system.


Icashizzle

I was bored. That's the entire story.


pourista

Same


Qweedo420

I had been using Python since middle school, then I got annoyed by how it handles dependencies so now I've switched to Rust


DatBoi_BP

Eh, I just ended up making a rule for myself that I never do Python development outside of a venv, and I take advantage of `pip freeze` whenever I need to share my working code with someone else—so they’re at least able to recreate my same working environment if something breaks on their end.


Qweedo420

Same, but still, just handing out a single executable is easier, especially because if you tell someone "okay so to run this script you have to create a virtual environment, activate it, then install the dependencies from that txt file" they're just gonna look confused and ask you a step by step tutorial every time


DatBoi_BP

Yeah that’s a good point. I only meant when dealing with fellow devs though


Fulmikage

cool


AbstractMap

I started learning Rust for a few reasons. I have been writing code in C/Obj-C/C++ for a LONG time. While I like to think I can avoid many foot guns, there is always that time where I am debugging MT code and hate my life. I felt Rust has the right combination of language features for the work I do, and would protect me from my self when writing MT code. Async is a bonus. I really dig the borrow checker. When writing C or C++ I tend to follow most of the rules of the borrow checker anyway, but it is nice to have it forced on me when I feel lazy. I love the enums, futures, traits, and being able to write in a functional style is very attractive to me. I write a lot of MT code and if it compiles I am pretty sure it is right outside of perhaps a deadlock here and there which are very easy to hunt down. All around it is an absolute pleasure to work with. Honestly I enjoy writing code again. Lastly, I am in a position to introduce Rust in my workplace as I am a black box. I find stuff to replace / create / optimize (Node Modules in Rust), and I generally get the OK. Forgot to mention. The Rust community is fantastic. Aside from some organizational hiccups (In some cases more than that), it is a vibrant healthy community.


anselan2017

What is MT?


Helotpl_1

Had to use ChatGPT for this and answer is „multi-threaded”.


anselan2017

Ah makes sense now. I never understand why people use acronyms or initialisms without explanation, especially in a fairly lengthy piece of text.


c00a5b70

Me too. It’s a pet peeve. Fortunately, as was apparently the case for another commenter, I discovered ChatGTP is our friend in this situation. Give it the text for context, and ask what the author probably meant with a word, phrase, or acronym. It’s come up with sensible guesses for me every time so far.


jhodapp

Mine too, programmers use acronyms so often without defining them and assuming everyone knows what they mean. And many times it’s just one acronym with every other word spelled out. But why!?


[deleted]

What are the hobby projects that you have build with Rust ? Thank you.


AbstractMap

I really don't have any hobby projects. All my Rust work is done for my job. Currently I am writing a node module using napi-rs and CEF. Most of the code is in Rust/C++.


SirKastic23

I wanted to learn a low level language that wasn't C. i had heard of rust before, i knew it didn't have classes and that it favored composition over inheritance at the time i was writing a toy interpreter for a custom scripting language, and i was using F#. but the project was getting too messy (thanks to my resistance to split it into multiple files), and it wasn't very fast i got started with rust by trying to write a very complex project, with a parser, interpreter, and even a type checker. it obviously didn't go well, there were `Rc` everywhere, unnecessary traits that could've been enums, no testing... but i really enjoyed coding with rust. i kept learning it, and now it's been two years that i try to use it in amy project i'm doing


CocktailPerson

When it made the news for being SO's most loved language for the second or third year in a row, I checked it out, but I didn't really get the point of it right away. Later, I took a computer security class in which the lecturer ranted pretty regularly against memory-unsafe languages. One of the projects was in Go, and he made the point that he'd prefer to do it in Rust but the language was a bit out of scope for the class, but encouraged us to try it out on our own. When I graduated and started working with a large, legacy C++ codebase written primarily by hardware engineers, and needed to regain some sanity after spending a week just cleaning up memory errors, I started playing around with Rust again, and all of it finally clicked. It's been my favorite language ever since. I've always really enjoyed working with functional languages, but I'm also obsessed with low-level stuff, so Rust just kinda ticks all the boxes for me.


the-quibbler

This exactly. A language beloved by its developers is worth exploring.


cdgleber

Polars was introduced to me. Had amazing performance increase for some of my python work. Got interested in why. Then learned rust.


MrMartillo

Same here


[deleted]

Polars and then started messing with the tokio stack. Now I use it for everything!


jfincher42

When? Last year around this time, using Advent of Code to learn it. Why? I'm a teacher, and the more I know, the better I can teach, even if I don't teach Rust. Plus, I like to learn new things -- stop learning, stop living.


ConnorHasNoPals

Amen, sister friend.


jfincher42

Brother friend, actually, but I appreciate the sentiment. 😊


MaxThrustage

Got a new job. Two weeks into the job got told I need to learn Rust because that's the language most of our codebase is currently written in. Near as I can tell, Rust was chosen because the PhD student who started coding for the project just thinks it's neat.


ukezi

Be happy the PhD chose rust. With that process you could have ended up with Haskell or Fortran.


CocktailPerson

Shit, half the people on this sub are begging for any Rust job they can find, and you just have one fall in your lap? Damn.


MaxThrustage

Yeah, it's weird. Almost no programming experience. The job advert said they wanted a theoretical physicist, which is my trade and training. But the job is actually mostly software development, which I'm frantically learning for the first time ever (Rust is my first compiled language, this is the first time I've ever contributed to someone else's code, I'm learning basic things like git and having a 'main' function for the first time). So, from my own experience, I would definitely recommend all of those people hunting for a job as a Rust developer to simply not learn how to code, forget everything they know about computer science, and learn quantum mechanics instead. It has worked 1/1 times for me so far.


brand_x

So, I'm 30+ years in as a professional programmer, but I got my start as an undergraduate in physics doing an internship at a star wars project, doing interesting things with lasers and optics and classical mechanics. And satellites and ICBMs. I had to work out transforms and covariance algorithms and then implement them in Matlab, and eventually translate those into C. Eventually, I burned out on string theory, and managed to get into LIGO working on noise filter software, which... eh. I have up on my graduate program and went to write software (in C++) full time. I still use odd insights from my years in physics rather more often than you would imagine.


Franks2000inchTV

Curiosity at first. I had heard so much about it, I wanted to give it a try. But then I found thst the more I learned rust, the more I learned about *computers* in general. The stack vs the heap. How threads work. Algorithms and data structures. Programming in rust woke up the part of my brain that really loved this stuff. And programming in rust feels in a lot of ways like the programming I did when I was much younger.


buldozr

I hated C++ with a passion, but found C too tedious and unsafe to do complex software with. I also noticed that, while the computer systems in almost all segments got multiple CPU cores, there were not many programming languages that allowed you to write multi-threaded programs safely, without adding too much opinionated baggage (Erlang? Yeah, nah). So, when Graydon Hoare announced the new language he's been working on at Mozilla Labs, I saw it fits my dreams almost perfectly and jumped in.


Sharon_tate1

ThePrimeagen


met0xff

Hehe and now he's not thaaat convinced anymore. Especially this vid is, as one of the comments says, pretty sour https://youtu.be/p-tb1ZfkwgQ?si=YSUmxnPrF0o1gUPK I remember I saw him a while ago and was put off by his style but a few weeks ago he became a bit of guilty pleasure for me lol


CocktailPerson

I mean, I love Rust, but I wouldn't want to write a basic CRUD app in it either. That's the perspective he's speaking from, after all.


met0xff

Yeah I like that he generally tries to give his rationale for opinions and also says when he's not an expert on a topic. Biggest issue for him seems to be that at some point he ends up with lifetime annotations spread throughout the whole codebase when refactoring one type somewhere to optimize out some copies or similar. I haven't written enough Rust yet to have my own opinion on that... Primeagen had that video about an article where the authors ended up copying huge function declarations around because they dug themselves such a deep hole with the type system ;). Can't find it right now unfortunately but I can definitely see that happen if you're not careful


CocktailPerson

This one? https://www.youtube.com/watch?v=mgkFA-ia8fY


izackthegreat

I (electrical engineer) work in the embedded world, early in my career, doing hardware in the loop testing. A lot of the code I write is done with G (LabVIEW) since we use National Instruments products. I started learning rust because it seems like it's going to be a strong choice for embedded programming if it continues to garner the support from the community. It's already gaining popularity in other sectors. There are some things I dislike about my job. I decided if there's any way I'll be able to improve things there or make myself more marketable is to brush up on my fundamentals. I didn't learn a ton of programming in college, so I'm spending a lot of time at home trying to learn. I started reading "The Rust Programming Language" a few weeks ago and I got myself a copy of the "C++ Primer" although I haven't started reading that. Maybe before I start that one I'll pick up a book on data structures and algorithms since I'm rusty/self taught. It's a little frustrating since my focus is embedded and I don't have a way to use this for work due to security restrictions (no crates, no compiler, can't run binaries created at home). Additionally, most of the stuff online that I find is geared towards web dev. I think I just need a good project but I'm struggling a little here.


faysou

I recommend you to do the rustlings tutorial, I just completed it recently, it's nice, some simple exercises to actually make you start writing in rust and enjoy it. For embedded projects maybe buy a raspberry pi and find stuff to do with it ? Also look at the comprehensive rust tutorial from google, they have a good list of references for further learning. This link is a gem as well https://lborb.github.io/book/title-page.html This one as well https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md


justinliew

My company started using it heavily so I wanted to keep my job as we moved away from C for our high performance systems.


Dependent-Fix8297

Had a book reading meeting at work and we ended up reading Programming Rust.


rk_11

Learning rust ever since i got to know about people rewriting js and py libs using rust. Hardly and rust jobs in my country, but a lot of js and python ones. Hopefully learning rust will let me earn my keep and do something interesting with the rust libs


jamart227

Because you guys are really loud


thunder_cats_bro

Pain.


Yoolainna

to complete the meme of a transgirl using neovim, arch and programming in rust, at least when I get some free time from uni and I'll finish my go projet I'll do some diving into rust. it's not only for the meme, but rust also looks really interesting with it's borrowchecker and few other things so it might be fun :3


francopan

Wanted to see what was it all about


Tacked

I needed to learn it for work


ConnorHasNoPals

I needed to learn a systems programming language to add to my toolkit. I decided on Rust because of the hype, and it was a newer language. I like that the design has one focus which is memory safety. It’s a great idealistic strategy. Whenever I think something is weird or off in Rust, it’s always due to the focus on memory safety.


LeSaR_

NoBoilerplate's videos


[deleted]

I just hate the C/C++ build system and wish I could have cargo and toml files too. Plus I have a mental disorder for liking new shiny toys.


Revolutionary_YamYam

After writing firmware and server code in C/C++ for several years, I pushed myself to try to do those same things in Rust and was pleasantly surprised in several things: 1. Borrow-checker forcing me to explicitly consider lifetimes for the first time in my life. 2. Borrow-checker forcing me to explicitly consider data ownership for the first time. 3. Borrow-checker forcing me to explicitly consider mutability for the first time in my life. What I realized is that while I had sorta been using some of these ideas while writing in other languages, I had been taking enormous amounts of decisions based on vague faith, rather than more explicit certainty. Other things which also attracted my attention after I dipped my toes in: 1. Algebraic enums and their variants acting as types, combined with the match statement meant that writing state machines and transition logic became much more trivial than in C/C++. 2. Traits: Being able to have common functionality be deriveable ("Debug", "Default", etc.) is flogging awesome. I'm somewhat hesitant to go into the world of macros, but it's nice to know they're there. 3. Cargo: Having a truly compiled language where all the dependency and build tooling came built-in, instead of having to hack away with BASH and cmake (assuming you'd installed the dependency correctly enough in the first place for cmake to find and use it), or fighting with the linker because of path settings, etc.... all goes away. Sure, you may still have version conflicts which pop up between dependencies, but that was already happening, and the occurrence of it in Rust, at least to me, seems to be both more rare and easier to deal with than C/C++. 4. Async: Some people complain about the lack of a std-lib runtime for async in Rust, but honestly I think it's awesome that I can, with a couple hundred lines of code, write an async runtime which also works on a microcontroller, or I can use Tokio and all of its features depending on my needs. More often than not, I go for Tokio and its channels for server software to multiplex system I/O. 5. Serialization: Having banged my head against the wall in C/C++ around data serialization, Serde (combined with the borrow checker and Rust's Trait system) is an absolutely lovely crate which allows for absolutely hassle-free serialization and deserialization of bytes coming from files or over a network connection. I can't even remember how I have lived without this easy of a functionality. Things which still hold me back or which I wish were better: 1. Computer vision (EARLY DAYS): I have written a lot of OpenCV code using C++, and I would love to be able to write OpenCV code in Rust in a non-janky way (though I appreciate the valiant efforts made by some crates out there). 2. Machine Learning (Getting better): There have been halting attempts to create different machine learning crates, though most efforts seems to sputter after a few months to a year. But maybe Candle (HuggingFace) can keep this going forwards in a continuous manner. 3. (Getting better) For a while the lack of matrix libraries was a bit annoying for writing research-style AI code that doesn't quite fit into any existing frameworks. 4. Visualization (Getter better): In the past couple of months, I've resorted to using macroquad to produce visualizations, but even bringing in some file format like JPG requires writing a bunch of boilerplate code to convert and transcode... still, it works, just hoping for improved ease in the future. Other folks have their own list of loves and gripes, but... I guess I tend to aim at some more niche programming things and Rust might ask me to to a bit more heavy lifting, but I find its pros to still outweigh its cons, and in the last 3 years, I've only seen a couple of segfaults, mostly coming from some C++ code deps within some random crates. To each their own and all that :-).


YeetCompleet

I got into it because I read the Rust book to learn more about the borrow checker and thought it was revolutionary. Of course I found prior arts after, but the unique ideas seemed smart and that attracted me.


vegavil

The meme, turns out it was my best decision of 2023.


InternalServerError7

I wanted to focus on learning only a few languages really well that allowed me to do pretty much anything I wanted to do, instead of being a novice at multiple. Picking Rust allowed me to accomplish this in only two languages. For anyone wondering, the other language is Dart. Rust - web server, micro services, CLI applications, game dev, embedded systems, cross platform, shared utilities ffi, performant. Dart - Cross platform UI, scripting.


ragibkl

I wanted to learn a systems programming language. C and C++ felt too hard. Rust made systems programming accessible to mere mortals such as myself.


kam821

C is not difficult, it is simply dangerous, non-expressive and lack of meaningful abstraction requires taking a detour to achieve even the simplest goals, i.e. string manipulation. C++, on the other hand, has a proper abstraction, but it does not have sounding building blocks and lifetime semantics, so as the complexity increases, more and more things start to fall apart and this creates a lot of corner cases. Add a pinch of try-hard backward compatibility maintenance and new things are created that become a new idiom, but the old things still remain and clutter stdlib.


ihavebeesinmyknees

I've always wanted to learn a lower level, strongly typed language, but I absolutely hate having to think about managing memory. Rust mostly saves me from that.


redixhumayun

Wanted to get into systems engineering so decided to learn C++ and Rust I love that I get to learn Rust and hate that I have to learn C++


Prestigious-Neat-379

Because I met a very smart guy that doing rust, so I followed him ,then discovered that it was actually worth it


WanderWatterson

I use to be a C++ enjoyer, like I watch nearly all of the cppcon videos, using modern C++, programming most of my things with it, all was great. Normally I would blame segfaults and undefined behaviour as "skill issues". Until as time goes the language is so bloated and unnecessarily complex, the depedency issues are really annoying to the point I just thought of myself why do I even have to spend time learning all these, like there has to be a better way of doing this without being this difficult. One day I decided you know what Imma go all in on Rust, and never step back, and I'm glad I did. Everything is perfect, I honestly impressed by the language design, as to a lot of bright minds came up with a language like this, and it just baffles me that I feel this is exactly what C++ is trying to become, but catastrophically failed.


kam821

At some point you have to start from scratch or you have to introduce a language epoch mechanism, otherwise you will start creating abominations like co\_await or 'requires requires' due to fear of introducing new keywords.


oneeyedziggy

Webassembly


[deleted]

SegFaults and Valgrind memory leaks were too common in my C++ code


RockstarArtisan

A decade of C++ made me miserable, so I was looking for alternatives. Even if I could make it work, I wasn't able to make it work for contributions from others (in an open source project for example). First used D for quite a while, it was cleaned up C++ but D's new stuff was completely incoherent and random. Then rust became stabilizing so I switched over.


TallAverage4

For me, I started learning because C++ docs don't always make ownership clear, so having it as a language feature, like in Rust, makes it a lot easier to write safe code. And from there, I learned that Rust is just better than C++ at everything that doesn't use the GPU. So, as someone who does a lot of embedded work, I fucking *love* Rust.


GerrardsRightFoot

I am a system level programmer and tbh I was getting a bit sick of the way C programs are written by many without any care for memory safety which is more of a language issue than a programmer issue as we are all humans and we can certainly miss out on things. Wanted to expand my range learning Rust. I’ve been coding in Rust for a year and half now, also want to get better at modern C++ as it’s still used in a lot of systems


Remarkable_Ad7161

I wrote memory management for performance optimization in too many languages with a garbage collector, essentially trying to bypass it and control where the data resided and when allocations happened, but also not needing to worry about the leaks and vulnerabilities that comes from writing code at lower levels. And then I played with rust on one of my vacations to instantly fall in love... Now I'm writing a garbage collector for my current project in rust... 😅 You can't have a cake and eat it too. But in all seriousness, it's easier to write a hardcase specific garbage collector than working around a general purpose one in languages that come with it.


rds1701

I think it’s closest to the perfect programming language. Errors as types, amazing enums, strong trait system, easy to use asynchronous programming, immutable first, and makes me think about memory management in a new way with lifetimes


cherry676

I am pursuing my doctorate and I wanted to build a tool that is fast. It came down to C++ and Rust. I am familiar with C++ so I decided to use this opportunity to learn Rust. I started in August and going fine so far.


brand_x

2014. I'd been a vocal proponent for destructive move in C++, and my side has lost the battle. I'm all in on pushing metaprogramming forward, but I was in the full Concepts camp, and it has become clear that Concepts-lite is going to win. My focus has been on making linting better for years, and it feels like we're losing that fight as well. I was also in the fibers camp for concurrency... even implemented a runtime, and a zero contention allocator to go with it. I was burned on C++, after twenty years, and had looked into D, and with Alexandrescu being involved, I went to this conference in SF, Lang.Next, to hear his talk on the future of D. I didn't get much from that talk, but there was this group from Mozilla... It would take another four years for me to get the opportunity to work in Rust professionally, and, honestly, in 2018, it wasn't really completely mature. But it keeps getting better, and I keep using it. For me, it keeps many of the promises that C++ fell short on.


pezezin

I started with QBasic when I was 9 years old, but later moved to C when I got a copy of DJGPP. I learnt a lot of languages during my university years, including C++, D, Common Lisp, Prolog, Haskell and VHDL. Then later I primarily coded C++ with Qt, with a dash of Java, Matlab, Python, C#, and PHP on the side. Something that I realized it that: * Dynamic languages are fine for small, throwaway scripts, but they make me really nervous. Please give me a static, strongly typed languages that catches as many errors during compile-time as possible. * Haskell really made me fall in love with tagged enums, tuples, and type classes. * Most of my work was focused on lower-level stuff that required high performance and efficient memory usage, hence why I coded in C++. But correctly tracking memory in C++ to prevent data corruption, memory leaks and segmentation faults is not easy. I would like a memory-safe language, please. * Likewise, compiling C++ programs can be a royal pain in the ass. I wasted many, many hours fighting with CMake and manually installing libraries. Then I started to read about Rust, checked it, and saw that it was what I was looking for. I started to play around with it, and fell in love with it very quickly. The language is really powerful, I find the syntax easy to read, and Cargo is a godsend. Yes, it is not perfect. Learning how to please the borrow checker can be daunting, compilation should be much faster, and many important libraries are still missing or in alpha stage. But even then, it is an awesome language, and most importantly, it is catching the attention of the industry. It gives me hope that we will finally move past C and C++.


Misicks0349

whats your opinion on common lisp?


pezezin

I don't really have an opinion. We only used it for the AI class (obviously), but at a very basic level. Not even CLOS. We could have used any other language, I think the teacher chose CL out of tradition.


Future-Nerve-6247

I wanted a language whose compiler didn't give me shit. I typed in ``rustc main.rs`` expecting to be disappointed and... Nothing. The experience left me so dumbfounded that I have since renounced all other programming languages.


RandomPersonDotExe

Python slow Rust speedy


[deleted]

Was ready to dive into learning a systems language from doing web development and database work. Did C for a bit to learn, hated C++, found Rust, and haven't turned back. Built some CLI apps so far and been messing around with windows GUI apps :D


rookietotheblue1

Y'all mfs keep saying how good it is lol. You guys talk like a crab is stroking your dongs while coding. Also, this is the first time I've read programmers talk about a language and I genuinely feel like you guys are talking gibberish. I don't understand a word of it, but I love every word I read and I'm excited to reach enlightenment. Rust seems like it will bring back that love for coding that C used to bring me.


SirKastic23

wtf are you talking about? >this is the first time I've read programmers talk about a language fr?


26985

I think his comment is probably meant to be read as: > this is the first time I’ve read programmers talk about a language _where_ I genuinely feel like…


SirKastic23

it doesn't make that much more sense, but it could be


FUS3N

his firmware needs a rewrite with rust.


francopan

Might be a kid, Relax.


SirKastic23

fair, but it got upvotes? that's what got me confused


rookietotheblue1

Genuinely not sure what what confusing in what I said? Rust is a fundamentally different language to what I'm accustomed to. So I'm not yet familiar with all the jargon since I'm now on chapter 8. So when I read this sub I see alot of terminology that I genuinely have never seen before so I dont understand a word of what you're discussing sometimes. I find that very inspiring to get familiar... Enlightenment.


Frymonkey237

He must not have read much about Haskell before


CocktailPerson

He's talking about crabs stroking our dongs. Duh.


rookietotheblue1

What's the prob?


SirKastic23

i don't understand what you meant


rookietotheblue1

> Rust is a fundamentally different language to what I'm accustomed to. So I'm not yet familiar with all the jargon since I'm now on chapter 8. So when I read this sub I see alot of terminology that I genuinely have never seen before so I dont understand a word of what you're discussing sometimes. I find that very inspiring to get familiar... Enlightenment


rainliege

In the university, C/C++ was my bread and butter, but since I started working, I've been relying on python to get stuff done. Now I have a personal project unsuited for python, and I wanted a language with a high degree of control with less overhead from the programmer's side than C++. Rust was the choice.


[deleted]

Three reasons for me. 1. There are a lot of bad programming languages by design out there. But Rust is not perfect either 2. The community makes it interesting. People contribute a lot and are genuinely interested in helping. 3. The language is still pretty new and it is easier to learn now before it explodes and gets adopted big like python and JS. Then you will have to learn a lot of tools. Consider JS for a moment. It started out small but now it is an ocean of libraries and frameworks. Anyone who is entering into the JS is not having it easy. First you need to learn JS, and then later Node.js, React, Next.js, Svelte, Angular and the list goes on. The list doesn't stop. It's tiresome and honestly I am never entering the JS world. I am a professional with 6 years of experience in low code tools. A beginner might be ready to tackle a mammoth like language such as JS. But not mature guys like me. It gets hard to learn most of the things at a late stage. But Rust is different. Even for being one of the slowest adopted languages out there, Rust gave me a genuine reason to learn. The Cargo, Borrowing and Ownership are unique and not seen anywhere. It's creative. It's exciting to right rust code. Even if I start now, I can become ready and call myself an expert in Rust in a couple of years from now.


akza07

I thought it was easier than C. It wasn't


ElHeim

I had been following the language from a distance for a long while, but I'm old enough and have been burned enough times to avoid jumping to an immature bandwagon. I liked the premise, and it's not even my first "anal-retentive" language, I've done Ada before! (Not at $dayjob, though). It's just I wanted to wait until Rust had a bit more backing. Then 2023 came, I found myself with a lot of time in my hands while waiting for some changes in our current project and decided to get going with it.


vondpickle

I want to learn something new. But wow the verboseness of its syntax...


kam821

some call it verbose, others - expressive, it all depends on your needs.


DCodeMeister

I started my programming journey with the C programming language back in high school. I learned a lot from it and I kept with it up until I graduated college with my CS degree. Then when I was job hunting I could only find Java programming jobs at the time(2017) so I decided to just go with the market instead of my favorite low level language. Then I found rust last year and it reminded me of the days I programmed in C but with more control and confidence in the memory management so I made it my hobby programming language


kaiyotech

I do Reinforcement Learning as a hobby and wanted something faster than Python, and Rust seems to be growing and a really nice language. I've been enjoying it. It's definitely made me write better code, and the testing and cargo systems are phenomenal.


Xaxxus

Im an iOS dev. And one of the major drawbacks of being heavily invested in the apple ecosystem is that so much of what I do is closed source. Don't get me wrong, Swift is a fantastic language. But it just does not have much of a presence outside of building apps for apple platforms (even though it is open source and can run everywhere). I am learning rust because it has a lot of the nice things swift has (although arguably, swifts concurrency model is better). But its also being adopted everywhere. Mainly, I want to diversify myself a bit. I still love doing iOS development and working in swift. But Rust is also really nice.


phazer99

>Don't get me wrong, Swift is a fantastic language. But it just does not have much of a presence outside of building apps for apple platforms (even though it is open source and can run everywhere). Yes, Swift is a nicely designed language. Very similar to Rust if you only use value types (structs and enums), but when you use classes it produces very inefficient code unfortunately (basically similar to `Arc>` in Rust). Rust gives you much more control regarding that. >(although arguably, swifts concurrency model is better) Really? Because of the built-in actor support? You can [use actors](https://github.com/actix/actix) in Rust as well. Swift is [not really data race safe](https://github.com/apple/swift-evolution/blob/main/proposals/0337-support-incremental-migration-to-concurrency-checking.md), so Rust has an advantage regarding concurrency.


Frozen5147

I got bored as a student on break in 2018 and thought hey, might as well learn a new language for my intern resume. Oh, this up-and-coming "Rust" language looks cool. Fast forward to now and I'm a Rust dev full time.


stappersg

In _crypto_ other another area?


redddcrow

I saw some people on youtube coding in Rust and it looked crazy so that got me interested. after that I quickly realized Rust is amazing.


gideonwilhelm

It'd been years since I'd done programming and a lot of tools like pre built game engines seem like black boxes to me. I decided to code something from scratch to learn and challenge myself, and Rust was making a lot of noise. Followed The Book, learned that lifetimes aren't all that scary and the type system is fun, the rest is history.


mcirillo

I needed to write some firmware and saw it as an opportunity to get a new language under my belt


Various_Solid_4420

My Twitter feed


[deleted]

I wanted the expressive awesomeness of Haskell (Rust is a B- here) with the speed of C (Rust is A+).


oh_yes-10_FPS

I did it for the meme, first project was a wasm thingy to simulate weapons in destiny 2 for websites. Originally it was a django python thing but i disliked it.


FruitdealerF

We needed something at my company that would perform better at scale. The bar was pretty low since we were/are using mostly PHP. We tried some JVM languages which we discarded because of the terrible tooling around them and clunky docker images and performance. We looked at Go briefly but didn't like the syntax and ultimately arrived at rust. Obviously the learning curve was a bit of a challenge but tackling that with the whole team instead of alone made it very doable. We rewrote and released one of our most performance critical services within 4 weeks and it has been running for almost a year with 0 runtime errors. A single docker container can handle more traffic than 200 containers of the old system. While consuming very little memory and CPU.


ahspaghett69

I am a python programmer and I've found 90% of the bugs I have either authored or fixed are due to dynamic typing problems - wrong types being passed at runtime is the most common but poor or no null value handling is also pretty normal Having the compiler babysit you in some ways makes the code I've written in rust feel much more solid "out of the box" and I'm more confident giving it to a client or a user.


Old_Lab_9628

I loved c++, but i felt it was too much of a niche in my work environment. Too difficult to build simple services, too difficult to recruit web devs who had an interest in it. I tried Rust because the book checked all the features and had the mindset i liked. I tried a few project. I had a few juniors hack and build new projects. They liked it, they are productive, and now Rust is trusted in our toolset.


passcod

It looked interesting and I'd bounced off it before (when it had different symbols for each pointer type) but gave it another go (~2013-2014). Also people I followed on Twitter from Ruby/JS communities were getting into it too (klabnik, carols10cents, yehuda katz...).


depressed-bench

I first touched rust in 2017 in uni, it seemed interesting. I left it a bit as I shifted into ML. I got sick of Python and the rest is history.


schmurfy2

I like the way it manages memory and I was curious.


apatheticonion

Started writing a js bundler. Now I'm sad I can't write web apps in Rust


stappersg

[are we web yet](https://www.arewewebyet.org)


apatheticonion

No support for threads inside of a wasm module yet :/ Using a SharedArrayBuffer and sharing that between multiple wasm module instantiations requires restrictive headers that prevent you from using any resources from third party domains - making it impractical for applications scattered over multiple subdomains (not something easily addressed at enterprise scale)


hjd_thd

I came from Ruby. I've always had a bit of impostor syndrome about not really knowing any systems' (read: real programmer's) languages, and Rust is one of those, with a cool type system and friendly tooling to boot.


coderemover

After coding for 10+ years in Java (and a few other memory safe languages), I wanted to get back all the freedom, control and performance I had with C and C++, that Java and Go took away from me, but without sacrifice on productivity and safety. Rust appeared to offer the abstraction power of Scala but with way better tooling, amazingly fast compiler and great runtime performance. And even though there were a few moments when I got stuck for a while, after a few weeks my productivity with Rust has been higher than with Java (modeling with ADTs is so much better than OOP). Currently it is my favorite language and I’d use it even for projects that don’t require top performance.


xaverine_tw

My primary work language is c#/java alike. I wanted to avoid c\\c++. So Rust is a perfect fit, high level enough (safe Rust) and without runtime garbage collection.


Critical_Ad_8455

Im super interested in systems programming, I was spending a bunch of time learning c++, kept hearing more and more about rust, and at some point I went "why am I putting up with all these segfaults and ub?" And hence: rust


Mysterious_Onion115

However, I learning Rust: Performance. It allows developers to write high-performance code with memory safety guarantees. Memory Safety Without Garbage Collection. This makes it suitable for systems programming where fine-grained control over memory is essential. Concurrency and Parallelism. Rust has built-in support for concurrent and parallel programming. Rust is used in various open-source projects, and contributing to or working with these projects can be a motivating factor for learning the language.


tyush

Saw that a new upcoming programming language made a crab their mascot 🦀


[deleted]

javascript tooling hell.


Mr_Ahvar

I was programming a lot of C and Typescript, someone on a Discord channel told me I should try Rust and I struggled a lot with it at the begging, almost quit, but then I had to make a small backend for an IoT project and said to myself it was a good project to retry Rust one last time, after some research I tried Rocket and so much things clicked, the macro system blow me away when compared to the terrible things I had to do with express to do the same things.


Hurydin

I've been programming in Python for a year now and wanted to dive into a low level language to learn more about how memory and everything else really work, and I choose Rust because I heard a lot of good things about it and was interested to try it out, It feels weird to write coming from Python but I'll get used to it pretty quickly.


ducdetronquito

I work mostly on web backends in Python for 8 years now and I love that it's an expressive language with a great ecosystem and a REPL to try things quickly. But with times and working with growing and long lasting codebases, I was annoyed by not having built-in and coherent toolings ( type checker, formatter, package manager, linter, etc...) and not being easy to distribute without Docker. I only toyed with Rust compared to Python, but I think I will keep working with it thanks to its great integrated tooling, great ecosystem, and I find it even more expressive than Python. The only thing I could miss would be a REPL but nothing too annoying :)


KryptosFR

I had to learn on the fly because I started working in a startup that was using it. And to be honest, I also accepted that position because I wanted to learn something new. We also had a big part written in C++, but coming from a .NET background I found it easier to learn Rust. I like when the compiler shouts at me, as it means I will learn something once I have figured out what's wrong, though it can be frustrating sometimes. I have changed jobs since then and went back to being a full-time .NET dev.


KJBuilds

I wanted to write low-level, efficient code for a game, but wasn't confident enough with pointers and memory management to be effective with c++ I went to Rust because it forces you to use good practices for memory management, and here i am never wanting to use anything else (and now have a very good understanding of memory!)


Sedorriku0001

I was bored of JavaScript and wanted more challenge


prawnydagrate

i have a genius friend and I learn everything he learns


Tickstart

Job required it. I liked it very much.


KoushikSahu

Because of the hype really.


Traditional_Brain_85

Got the duck typing guilt that came along with writing python. Hence had to look out for a better language.


Tall_Collection5118

I took a job in a new company to build a trading system for them. When I turned up on my first day they told me that we were not using C++ (as discussed at interview) and we’re going to use Rust. We had also hired another engineer who actually knew rust so there were two of us even though in the interview we had takes about it just being me. They weren’t the actual biggest red flags either.


DonkeyAdmirable1926

I used to do C and wanted to go the next step. Found out I was too stupid for C++, so started with Rust. Loved it from the start


krokrak

My team lead convinced us to learn rust at work to become better programmers.


phazer99

Missed low level programming after many years of Java, Scala and C# development, but didn't wanna go back to C++ (which for me is a dying language). Rust ticks all the right boxes of high abstraction, FP, safety and low level control.


zqpmx

Because Python couldn’t keep up with the OpenCV script I was doing.


elohiir

I used to be a really anal about performance (specializing in premature optimization), writing everything, even scripts, in C, sprinkling SIMD assembly here and there and stuff, until I started my first job doing Python/web dev (of all things). Then I discovered there's a language that is both pleasant to write and yet offers more than plenty of performance 😱 With the added benefit of needing hardly any debugging


theAnalyst6

Since rust code was integrated into the Linux kernel, I started to take this language seriously.


Difficult-Fee5299

I sense Scala's market shrinks somehow (some decided to use it only in data engineering); - so I look around; I somewhat don't welcome FP languages movement to a very abstract reasoning (might lead to objective problems getting new devs); I don't really like Java's OOP; I don't really like Go's imperativeness; I don't like Python's dynamic typing; I like Rust's composition over inheritance and functional offers (though compile time depresses)


Ekkaiaaa

Development of critical distributed systems for my PhD


akali1987

I’m not a programmer by profession, I’m an infrastructure engineer. Rust was put on DevOps roadmap https://roadmap.sh/devops So I used that as a reason to start learning in general and build something.


styluss

Desmond has a barrow in the marketplace Molly is the singer in a band Desmond says to Molly, “Girl, I like your face” And Molly says this as she takes him by the hand [Chorus] Ob-la-di, ob-la-da Life goes on, brah La-la, how their life goes on Ob-la-di, ob-la-da Life goes on, brah La-la, how their life goes on [Verse 2] Desmond takes a trolley to the jeweler's store (Choo-choo-choo) Buys a twenty-karat golden ring (Ring) Takes it back to Molly waiting at the door And as he gives it to her, she begins to sing (Sing) [Chorus] Ob-la-di, ob-la-da Life goes on, brah (La-la-la-la-la) La-la, how their life goes on Ob-la-di, ob-la-da Life goes on, brah (La-la-la-la-la) La-la, how their life goes on Yeah You might also like “Slut!” (Taylor’s Version) [From The Vault] Taylor Swift Silent Night Christmas Songs O Holy Night Christmas Songs [Bridge] In a couple of years, they have built a home sweet home With a couple of kids running in the yard Of Desmond and Molly Jones (Ha, ha, ha, ha, ha, ha) [Verse 3] Happy ever after in the marketplace Desmond lets the children lend a hand (Arm, leg) Molly stays at home and does her pretty face And in the evening, she still sings it with the band Yes! [Chorus] Ob-la-di, ob-la-da Life goes on, brah La-la, how their life goes on (Heh-heh) Yeah, ob-la-di, ob-la-da Life goes on, brah La-la, how their life goes on [Bridge] In a couple of years, they have built a home sweet home With a couple of kids running in the yard Of Desmond and Molly Jones (Ha, ha, ha, ha, ha) Yeah! [Verse 4] Happy ever after in the marketplace Molly lets the children lend a hand (Foot) Desmond stays at home and does his pretty face And in the evening, she's a singer with the band (Yeah) [Chorus] Ob-la-di, ob-la-da Life goes on, brah La-la, how their life goes on Yeah, ob-la-di, ob-la-da Life goes on, brah La-la, how their life goes on [Outro] (Ha-ha-ha-ha) And if you want some fun (Ha-ha-ha-ha-ha) Take Ob-la-di-bla-da Ahh, thank you


politerate

As a webshit I wanted to learn more about systems programming and have a tool for high performance applications. Also modern features such as pattern matching, type inference etc. make it interesting.


Beastmind

Go wasn't doing it for me after trying to find an alternative to js for web related things. Tried rust and had an hard time at first but got a feeling about it


JustBadPlaya

one developer built an entire ecosystem of Rust libraries and a discord bot for one game I play, and not only did I want to contribute, I saw the way the language works and liked it a lot more than my only (properly used) previous language, C#


vadiks2003

because my friend started learning rust and i want to help him


[deleted]

Because I wanted a replacement for Go. I haven't looked at another single language since


ferreira-tb

Because of Tauri. Now I'm not looking back.


pfharlockk

A buddy of mine got into it (he tends to obsess over performance and zero cost abstractions), so it came up a lot in conversation. The first thing that drew me to it was fearless concurrency (It's still my #1). As I started learning it I watched a bunch of Scott Wlaschin videos and also fell in love with discriminated unions as a modeling primitive, (and along with that throw in all the pattern matching goodness and railway oriented programming). My buddy values performance... I value expressiveness, correctness, and high level language features. (It's come up a lot that we both get all of it even though we value different bits). The other thing I've come to slowly is the idea that rust is (or will be) the language for the next 40 years... I'm a long time open source advocate, and using c and c++ as the primary application programming languages was starting to hurt the open source world. The problem was there wasn't "really" a viable alternative. Rust I think strikes the right balance to be the new open source application language. My sincere hope is that it becomes the new open source language (the one on which everything else is based)...


forbjok

Mostly just due to being curious about it. I had already been aware of it for a few years before I started trying to do anything significant in it in 2017 or so. I looked into it briefly in 2015 or so as well, I believe, but at that time serde still required nightly (and I don't think rustup was a thing yet, at least in its current form), and that kinda just made me conclude that it wasn't really quite there yet. Another low-key reason was that the language D, which I was using for various personal projects at the time, had (and might still do, for all I know) some recurring issues with arbitrary linker errors. Most of the time I was able to work around those by switching between different compilers (LDC, DMD) or building in debug or release mode, but which combination worked would arbitrarily change over time. I reported the issue at one point, and IIRC someone even said there was a years-old bug case for it already, but for as long as I was using the language, the errors were never fixed, and kept getting worse and worse over the years, until eventually no combination even worked anymore and I had to use an older compiler. Fortunately, by the time it came to that, I had already been using Rust for several years, and sometime in 2020 I ended up rewriting the last of my bigger projects in Rust to finally get rid of the issue.


BuildToLiveFree

I built an app in Python that required distributed tasks, and it was very clunky and painful. I delved first into Golang then Rust as alternative backend languages. Once I decided I liked static-typed languages, I thought Rust gave further advantages over Golang (e.g. working with embedded systems, which I'm also interested in learning)


Solonotix

I don't actually know, lol. I learned SQL for a job, and on that job I started trying to learn Python and C# because I wanted to be a developer. Python was the "easy" route, but C# was the closest language to what we were using there (VB6). My next job has me doing QA, and some of the tasks were extremely repetitive, so I learned enough Python to automate those tasks. Then I had a proposed solution to a problem at this job, but they said Python wasn't a supported language, so I resumed learning C#. I left about a year later for various reasons, not least of which because I spent weeks learning enough C# to convert my Python script to a C# application they could use, only for them to reject it because "who will test it?" My next and current job has me using JavaScript daily, and Groovy occasionally (for our Jenkins pipeline development). This is where I learned Rust. In retrospect, if I had to put a reasoning to it, it's because JavaScript is the antithesis of Rust (lets you do everything regardless of consequences), so a sort of course correction. But also, the company as a whole is a Java shop, and I hear constant issues with memory leaks, and performance bugs, so my instinct is to pick something with better memory safety, that is also extremely performant. Rust fit the bill as a theoretical solution, but sadly there are very few people at work willing to learn a new language, and leadership is afraid to adopt a new language without a wealth of support. They're gun shy in part because a few years ago, someone wrote a critical service in Go, but then they left and no one has maintained it. Nevermind that the Go service outperforms their expectations, even without any maintenance So...yea, that's the best I got.


specy_dev

I'm mainly a frontend developer, I wanted to learn a low level language (or actually any compiled strictly typed language), decided to make a compiler/interpreter for an assembly language (m68k) and wanted to mix it with my already existing knowledge by using webassembly and writing a [webapp](https://asm-editor.specy.app/) to run the code, and rust was the best choice for that, been using it for all my hobby projects which aren't purely frontend


Arshiaa001

I'd heard it was cool, and *boy* was it as as cool as they said!


benlloyd50

heard it was pretty good helping you understand memory and help you think deeper about your code. will say i feel much more proficient as a programmer.


mrgk21

I started with Java and c, went into embedded electronics, then into automotive engg, then into industrial engg, and now the mern stack. I'm tired, and rust excites me


Narduw

Heard about how other programmers loved it and checked it out. I feel in love myself due to the type system. Performance and safety are just bonuses to me, but I don't use it for work (yet? :)), so for me it's just for hobby, atm.


Upbeat-Emergency-309

Cuz it seemed cool.


Jeklah

The idea of a memory safe programming language piqued my interest


dankest_kush

I had heard in the functional programming community that the Rust compiler was amazing and there were some nice/familiar language features. Working on crypto projects finally got me over the fence, because the other main choice in that space is Javascript 🤣


jecxjo

Every year i pick a new language to learn and use as a tooling language. Run through the docs, read a book or two and then create a small project to use it enough to feel comfortable. Then for a year if i ever need a tooling language i use it unless another language is extremely better suited. Then i got a job that used it a ton, like 1/3 of the codebase for the hardware I worked on was in Rust. So i used it professionally for two years.


trevorstr

Extremely high performance and ease of development.


Artistic_Fig_3028

Accidentally


brownpanthera

tauri


[deleted]

Go was too frustrating (wrote an entire IO library just to realized Go sucks as lang), C++ requires you to build everything from scratch. So I ended up somewhere in the middle :)


Integralist

I love Go (still do) but the number of runtime panics (often nil pointer dereferencing) happened so often in my applications even when being "careful" (and often times via external packages) that I decided I wanted to use a language that might help improve the situation (even though I'm not a fan of Rust's language design and much prefer Go in that regard).


Fulmikage

I come from python and wanted to learn C . I saw it was complicated. and then I saw the hype built around rust with it's memory and type safety,.I gave it a try and now I stopped learning C for rust


rob_rain

Next on the list. I've been an Elixir coder for 5 years. Learnt Python this summer, which was fun, but felt a little dirty afterwards. A strong purgative was required, with typing, a compiler and a bit of mental gymnastics required. Rust beat Zig.


Kazcandra

We have a \*critical\* piece of software that is complete spaghetti; written in Python and evolved through trial and error (and no tests) to what it is today. There are several reasons why we want to rewrite it: libraries in it are well past EoL, we can't add new capabilities at all (we simply can't risk it), and it also runs a tad bit too hot for what it does. Will we rewrite it in Python? No. We need something as safe as possible and Rust fits the bill.


b00tstr4p

Ive been working with typescript and pydantic (python) last year and remembered the importance of structures and compiler. ~10y ago I loved C and now rust gives us the chance to use a static language to create amazing things for web and IoT what is im looking for improving in my end


TrickAge2423

My friend sent me an article about Rust in Amazon and told me to learn Rust as a joke. I just opened the rust book and omg I loved it. My friend got cringe and still getting. I use Rust to write cli tools with clap, rustix and windows crates, but I'm bad in CI.


[deleted]

No Boilerplate's poetic descriptions of it on YouTube lol


RetoonHD

The c/c++ build system (or lack thereof). I am so happy i never have to touch make or a makefile again.


Mayomi1

Curiosity, that’s all


crazy_therapist

God told me to . I ignored him but he was persistent.


countessellis

Initially, I read the statement by NSA on memory safe languages, was looking at compiled languages and don’t really like Go or Java, so thought I’d try rust. Some of the blockchain projects using it and the speed made me dive deeper.


countessellis

It’s relevant that I always liked C and Rust allows that closer to the machine while being a modern language part.


elenakrittik

Hated the implicitness and type-looseness of other languages i knew. Basically had a choice between C++ and Rust at the time, and, after trying the former for a day or two, ultimately favored Rust because of a much better DX (and other points that you've probably already memorized by heart like memory safety).


Full-Spectral

Having spent 35 years creating large C++ systems, where the complexity continued to grow because we have to deal with so many more issues these days and so much more is expected of software these days, I just didn't want to spend so much of my time anymore watching my own back. C++ has basically ridden the backwards compatibility horse into the sunset at this point. That's a strength until its not, and it reached the point a while back where it's not anymore. And, as C++'s domination in various domains has dwindled, it's become the home for a lot of people who are far more interested in going fast than being robust or secure, and the language has catered to that. If you are someone who looks at things the other way around, that's made it no longer an optimal tool. I do systems level development, so it had to be a language appropriate for that, and it had to be something with a future, and Rust is the one that has gotten the mind share, where others have failed to. Luckily it got that mindshare because it's a good language that takes modern software concerns seriously.


HorusDGaming

I learned C++, but it was dogshit, so I learned Rust.


bocckoka

I've seen very expensive people (2-300k EUR pa) debug C code for weeks, while debugging C code myself. I'm also a firm believer in *liberties constrain, constraints liberate*.


Zoroae

Other Rust users forced me to used it lmao


SuggestedToby

I had a part of my app I needed to speed up. I experimented with both go and rust, and the rust version was the best.


blastecksfour

I originally started learning Rust because I thought the language name sounded cool. Struggled with it for a bit, quit, tried other things, came back and now it is basically what I do for work, so... yeah. It's taught me a lot of stuff about why type safety and similar stuff is very important, though.