I like Rust for the same reason why I like math. There are no blurry maybes, only strict yes or no. It feels good to not need to track needless complexity everywhere, only having to consider a task at hand, trusting compiler to do its job.
Formal proof isn't used widely in math, however. Mathematicians mainly rely on human check for correctness of proof, and that's the exact opposite of Rust.
Rust, neurodivergent and furry Chronically sleep deprived because when bored brain goes "good time for another game" I go "RU-vid addiction" until it's 3am
The undiagnosed train lover inside of me would like to point out that the main issue with sorting floats isn't +0 and -0, it's the infamous NaN. It doesn't have a position of the number line, so comparing it with other numbers doesn't make sense. The sorting algorithms in most programming languages just ignore this case and end up with unpredictable and only partially sorted lists if they encounter a NaN.
Rust certainly changed how I program at work. Previously I would just write the code, play with it for a bit in debug mode, then run a shell script to build the release and ship it. Now I have a CI pipeline that checks that everything is formatted correctly, that everything is documented, that there are no typos, that there are no warnings (with pedantic warnings enabled), that all the tests pass (with a coverage report as well), that all the i18n files are complete and in the same order etc. And it does that for multiple feature combinations and multiple targets as well. And it was all so easy to put in place, because basically everyone who writes Rust is doing that sort of thing, and everyone uses cargo, so I can just copy what I like from other projects and it all works first try. And that's barely scratching the surface. Jon Gjengset's talk "Towards Impeccable Rust" is mind-blowing. So yeah, it's easy to go overboard with Rust. Maybe I'm acoustic too.
Trains are cool because they’re powerful, fast, efficient, safe, have a really cool sound (I lived close enough to a rail line that I could just about see trains that go past and learnt to identify different trains by sound, so I can train watch trains at night while comfortably laying in bed with the window cracked a little so I could hear them better), and come in many different shapes (at least in the UK). Trains are the pinnacle of logistics, and logistics is incredible because of so many moving parts with ridiculous complexity and yet near perfect organisation, and logistics isn’t a solved problem, no part of it is solved, from organising warehouses, to orders of containers on a ship, to routing of road vehicles, to stocking the correct amount, to predicting needs, and on top of all of this needing to then assign all of these tasks to people with their own needs, limits, variability, and unpredictability (as if I have to mention that people are unpredictable). Trains being the pinnacle of the best part of a really complicated topic that you can think about endlessly (unsolved problems are the best, can dedicate infinite thinking towards it) makes it safely the best.
I dont think i am autistic but i still love trains: Logistsics ofc is one point, trains are enough to rpelace trucks at every point of the supply chain except oceans and "the last mile", they are faster, more reliabilie and way cheaper. But transporting people is also very much more efficient on a train, the costs of building tarin tracks comapred to cars are ridiculously low and that doesnt even talk about the non direct cost of cars like Parking spaces, the thus missed income from buildings, the deatsh by traffic and noise pollution, just the roads themselves. They also are way more durable than cars and car infrastructure, in munich they still used "U bahns" (trains but under the city) from the 1970s and the biggest problem is the seat layout being inefficient.
Isn't them following (being restricted to) railway tracks another factor? I'm not hugely into trains but I always imagined that playing a role for the obsession beyond that of road vehicles.
spot on about the being autistic thing lmao but funny enough my perspective on Rust is pretty much the complete opposite. Something I love about C is that the "path of least resistance" somewhat aligns with what makes performant and simple code. Malloc is verbose and ugly, so naturally you want to avoid unnecessary allocations. In Rust I constantly find myself writing code _I_ know is safe but the borrow checker is not smart enough to validate. And the only solutions are to either write incredibly ugly zero-allocation code or just throw in a clone() and accept the slight performance hit. Neither option makes my autistic brain happy. I think it's a very nice language for writing parsers and the likes but I haven't found too much joy in it outside of that.
I originally felt more like you do on Rust. Coming from my C# background however, a clone is comparatively nothing, with the most performant code I used to write in C# involving trying to remove constructor and method calls to make a mediocre runtime work. There are some places I find the borrow checker to be less than understanding (per field borrowing requires breaking out into local variables IIRC), but more often than not if you're fighting the borrow checker, you need to format your question differently. Refactoring the end of a method I wrote to be a match statement instead of multiple unchained ifs for instance fixed a borrow checker issue. I've come to accept to just do a clone instead at this point, as this is something that if it *is* a performance issue in the future, is extremely easy to spot due to the explicit operation :)
@@DestinyHailstorm Honestly that's the case even when compared to C++, where defensive copies are extremely common and vectors are passed by value with an implicit copy
Programming a computer is like sitting on the couch talking to your girlfriend/ so watching Netflix together Programming in Rust is like sitting on the couch talking to your girlfriend/so watching Netflix together .. with their strict old auntie sitting between the 2 of you .. smacking you on the wrist if you say anything unsafe Netflix is gonna happen.. but forget the chill bit afterwards
I've not being diagnosed, but I gotta say, as a once C++ dev, the hyperfixation to "correctness" is what first pulled me in. I've legitimately held myself back in so many ways because of that paranoia of "not being correct", and languages like C and older C++ fed into that. The modern tooling on top made me soft-abandon C++, especially for personal projects. It might sound weird, but that constant worry of things being fragile on huge and clunky codebases, started leaking to other parts of my life too. I became worse at drawing for example, because mentally I became more meticulous, and paranoid of every stroke, about what are only supposed to be "happy little accidents". Losing the "flow" because of overthinking everything as if it has larger implications than it actually does etc.
@noamtashma617 It 100% helps because Rust makes bad designs very obvious and even easier to fix. When you learn how to design with rusts type system, everything feels deliberate and high quality because it is, as the language naturally promotes good and secure design. I still mostly do C though nowadays, as that's out of my control.
I also feel like my programs written in languages like Python or JS are super fragile and going to fall apart if I look at them wrong…mostly because that’s accurate. Rust is a language where I can just run the compiler and it’ll give me great, clear error messages if any detail is wrong.
I've recently spent a bunch of time with professional C++ programmers (10-20 years) and they definitely move slow and try not to do anything risky, which is a bit foreign to me.
What I love about the C# team is their want to innovate, for example by making things disallow null by default, and the recent proposal to add rust-like error types! (also, Optional secretly still uses null pointers for performance :3)
I used to consider myself definitely autistic, though I've gone away from that recently as I found that I was lumping in treatable issues like anxiety with the "well I'm autistic and that's just how I am" attitude. But yeah, what I love about Rust is exactly what you described. I write Python for my job, and every time I get to work on a Rust project again I get exactly the same feeling as when finally coming back home after an overstimulating day. When I write Rust code, it feels like I have full control over everything that is happening. The are no diffuse unknowable things happening in the background I am not aware of that suddenly pop up in the form of unexpected runtime errors, obscure library version incompatibilities, etc. Writing Python code feels a lot like talking to an (allistic) person, no matter how closely I specify what I want, they do their own thing in the end and I just have to deal with that. That Rust is so verbose is to me one of it's greatest features. I say exactly what I want, and Rust does it. If I'm not specific enough, the friendly Analyzer tells me that up-front. I love it.
a bunch of the stuff you said about autism also sounds like ADHD (i am fairly sure i have both with the latter officially diagnosed), apparently they often come together
from what I've heard, no one really knows exactly what the relationship between them is yet they might be two different things that have similar symptoms, they might be two variations of the same thing, they might be mutually exclusive, they might be two components of the same thing (always present together) as always, the real world is much more complex then our simple models can model I personally empathize a lot more with ASD then ADHD
@@dinhero21 I'm the opposite. Diagnosed ADHD, people have been calling me Autistic for over a decade, but I'm 90% sure I am not autistic. My social anxiety was learned from bad experiences, but I was a loud and extroverted child that grew into a high anxiety adult lol. In a room with neurotypicals and autistics, feeling a part of the social fabric and getting social cues with no effort makes me feel like a neurotypical. Being aware about it is weird though, because I'd expect the neurotypicals to never question it and the autists to never identify it. Perhaps I think about it because it's more interesting than actually socializing.
Hi, I'm halfway through the video. I'm also formally diagnosed with both autism and ADHD. With the exception of taking speech therapy (though I was almost entirely nonverbal until I was about 5 years old), I feel like I could have made this video. Welcome to the club! Also, have you heard of the game Satisfactory?
Hahaha, I have heard of Satisfactory. I've spent some time in it, but still prefer Factorio :) Both are / are about to have major updates about now, and I will never recover from the amount of time both take up in my life XD
@@DestinyHailstorm I tried Factorio very late (like, 2 years ago), and I don't play it for the simple reason that if I did, I know I'd play it far too much.
AuDHD rust enthusiast here, and also cis man. I’ve come to realize that gives me a rather unique perspective on gender seeing as mine is not so confusing to me no matter what my AuDHD throws at it. I feel as though I found the correct understanding of gender in its totality and wish to share it with my lost audhd friends, but it’s gonna be one hell of a video essay if I ever get to it.
Would you mind sharing in summarized form? A while ago I had a moment where I felt as if I understood "gender" and achieved a satisfactory framework (more like a embryo of a framework), so I'm very interested to compare with yours.
I'd be interested in your perspective as well. I also consider myself AuDHD, but seem to be the exception in the neurodivergent programmer community as a rather 'gender normative' cis man. While some gender norms get on my nerves, I never felt really confused about the ones we have.
I've thought before about how perfect that match is for me personally, but I'd never considered if it was a wider trend. From my limited sample size, it seems to me Autistic people *generally* lean towards both explicit rules and bottom-up thinking; two areas Rust combines to tickle my brain in the best way.
About the explicit rules and bottom-up thinking part: Have you heard of _No Boilerplate?_ The author also has a video on the connections between Rust and Autism, and specifically mentioned the bottom-up thinking as one major match.
@@LinkEX I have seen no boilerplate's videos on rust, and his videos on autism, though I didn't see as explicit a connection between the two until it was mentioned here.
This video might have just convinced me to learn rust. Kind of a weird tangent, I hope it'll make sense why I bring it up: I'm prone to fantasizing about utopian societies. But the more I build up an idea for a utopia in my head, the more I realize how easily it would be a dystopia for someone else. My most recent iteration is a group of societies that each tries to fill a niche, to be a utopia for a specific kind of person. One of them I call "Pacifica," and it's inspired by Singapore and Switzerland. It would be a place with a strict code of conduct that everyone is expected to follow to the letter without exception. It's meant for people who take comfort in knowing how they're meant to behave and being able to predict how others will behave. It stems from my autistic discomfort with laws that you're not meant to follow or that people in general expect you not to follow, like how you're supposed to drive over the speed limit to keep up with the flow of traffic. Not to mention the unspoken rules that everyone's supposed to know but nobody will spell out for you. Anyway thanks for listening to my TED Talk.
This isn't the right time in my life to learn Rust (zero spare energy), but I do respect it for having clear opinions what is the right way to do things.
unfortunately my adhd+autism is turbo stuck on c and c only. i need to know exactly what the computer is doing with my code. its like we are holding hands
If you want to optimize the audio in your videos, consider recording some of the ambient silence in your recording area and filling in the cuts with it, so your speech doesn't sound like it has gaps. 👍
i’m not autistic, but I do have ADHD and this video resonated a lot with me. It’s a real struggle programming in any other language after rust, because they all feel WRONG. I had to make a project in C, and I couldn’t resist writing a preprocessor that provides me with essentially the basic tools and logic we have in rust, such as Vecs, Boxes, Slices, Options and even iterators
I have a potential (part of an) answer for the question of why trains are so friggn cool! I think in a certain way you could see them as the »correct« solution to the problem of transportation, in the same way as one can write »correct« code for a programming problem. For example they transport stuff very efficiently, fast and (if done correctly) 100% safely (at least in Germany, if all regulations would always be followed to the letter, a train moving would always be very close to 100% safe). Ask me more about German and Dutch train signals and train control, I'm always happy to Infodump about it ^w^
i definitely agree on your assessment of what makes rust so appealing for us, and i think it really speaks to why i love programming in general, why my favourite and best subject was always math, even why i prefer using linux. it really comes down to a love of consistency and a clear interface to interact with, i think.
For me (autistic), it's ultimately a trade-off between the serenity of guaranteed correctness and the cognitive overhead of the additional complexity that requires. I like being correct, but I also have executive dysfunction and therefore precious little energy to devote to coding in the first place. Ultimately I've decided I'm willing to tolerate messy and ambiguous code if it means I can actually do projects at all, hence why I've largely switched to Lua and C (though I am also eyeing Zig.)
I'm an autistic Rust -evangelist- developer and you've basically summed up my thoughts. I keep a local copy of the Rust standard library documentation and flip through it when I have nothing else to do.
I can relate to a large portion of your experience. Programming may be the closest thing to being a wizard in our modern world. Learning Rust has been like learning new magical incantations that make me a more powerful wizzard. It tickles my mind in ways I don’t fully understand, but enjoy. I find the layers of complexity really interesting. I don’t know if I’m smart enough to be a great Rust programmer, but I am enjoying the journey.
I read a post a few days ago that talked about the (autistic) posters trouble with ambiguity: Basically, the concept itself is understandable and ambiguity by itself wasn't a problem, for example with flirting or in poems. What annoyed them was ambiguity in contexts where there shouldn't be any, like government or medical forms. You kinda already said it in the video, but Rust takes out a lot of the ambiguity that shouldn't be there: A function must state whether it is fallible via its return type [1], your program is either type-correct (which is often a good way towards 'free of quite a few kinds of bugs') or doesn't compile, etc Footnote: [1] Yeah, panics are a thing, but it's usually well-documented if and under what circumstances a function can panic.
I’m Autistic but i’m more-so a creative and designer than a developer. I still like Rust for similar reasons, it just feels so much more logical and consistent in a way I cant describe, but probably makes it more accessible for us less techy folk.
I tried Rust, loved it until it became incredibly complex. Skills issues on my end, but i didnt want to dedicate a ton of time to learn Rust and only Rust. I was scared of things like Go, C, or Zig, but i ended up picking up Go and loving it, still using it to this day. Being Autistic, its interesting to see that even though i like how Rust is very strict in enforcing its rules, Go's freedom just enabled me to be better and think differently about a language
honestly i think i get rust now. not the language, but the appeal. i'm audhd myself and this explains rust to me in a way that i get. i was confused by the borrow checker for a while but honestly this video might be the thing that makes me a Rustacean. this was really eye-opening, tysm for this.
This video got me thinking about why I really enjoy Rust. > ... rigid ruleset of Rust, who feel safe with it's compiler I realize now how much I value a rigid ruleset. I like things well defined. > ... language built by and for people who don't like things that are unpredictable I think the why behind a lot of what I do is make things more predictable.
Whilst I can definitely appreciate wanting to not deal with nulls and errors as exceptions, there are dozens of libraries for C# that support Options and Results (and they are simple enough that you can implement them yourself if you feel so inclined). Of course, I'm sure that there are other benefits that Rust offers over C#, but given that I use it in a professional capacity, I am never going to convince my team, let alone the company, to rewrite everything in Rust (nor should I).
I agree with the sentiment, I just want to add that c# nowadays has strict mode (or whatever it's called), where null can be only on nullable types and even objects will either be nullable, or won't accept null as value. Which makes c# still one of the greatest languages out there (except it's insistence on GC).
i get the same filling with c ! like nothing is hidden and even if its hidden you often can easily recover it (-E compiler flag is very usefull for me). Its crazy how a language with many undefined behavior is still very predictive and reliable
I don't understand the overlap between autism and gender confusion. Since it doesn't really have any defined hard boarders, is it something about gender being a fuzzy concept? I would really like to know.
It isn't "confusion", it's recognition that gender is a bullshit concept. When your brain isn't really wired to align itself to social norms for the sake of remaining safely within in-groups... what else would you expect?
My gosh, this is so relatable, thank you for this video! I never really thought that autism might be the reason I love the structure and rules that rust provides so much... It just feels right :)
IDK, I'm happy with D, and my main development hurdles were from wrestling with OS APIs, especially as there's a big "you supposed to use SDL2/Raylib/Qt/VisualC++/whatever, not your own thing" sentiment.
sums up my feelings on rust with regards to my autism so well. so much of why i absolutely love rust is the rigid enforced ruleset that (at least aims to) correctly capture how the computer and specs work and do so as consistently as possible. sometimes i could wish for more consistency. for example i love odins extremely simple, concise and consistent assignment syntax. but on the whole rust is great at consistent and dependable rules which makes my brain very very happy
5:55 This view of Rust makes my experience with it a lot easier to pick apart. I found the way Rust types are dealt with unpredictable itself, needing to have 3 or 4 different variable conversions just to make the compiler accept the string I was trying to use. I also found the way variables went out of scope unpredictable. It could have been a lack of experience, but it makes me nervous to even think about trying it again.
So, there's a few things that can help ya here. When you're setting up parameters for say a method and want a string, you want it to be a &str as most string like things like String can be converted to it really easily. Most of your issues with strings here probably relates to which types are used where in your code, and you can easily change this to improve it. Variable lifetime while a bit difficult to learn at first, is usually quite predictable. I'd recommend spending some more time reading the Rust book for it. I'd recommend giving it some more time, since while these may be more difficult in the beginning, once you are passed them you start to actually *get* the language. The Rustlings GitHub might be useful to you.
That definitely sounds like a lack of experience. Once you learn about the ownership/borrow rules it makes it very easy to fix the compiler issues. In fact, I would say that learning curve is why Rust is a good language for entry level devs, since you understand how exactly your data is managed in memory and flows through your code.
I'd like to make it clear that I'm just sharing my experience to provide some extra perspective. I think Rust is a very interesting language, but it's also extremely challenging, and definitely not for everyone. I plan on giving it another shot eventually if C falls through for me again, but I'm not ready to try it again yet.
I am not diagnosed either, but i feel i maybe be autistic to a degree, and i found a lot of this video really relatable, and its what pushed me to learn rust, im making the github repo for it as after i type this. thank u, i appreciate the guidance
Very interesting theory. I myself are actually diagnosed with ADHD and as soon as I started to understand Rust and the concepts behind it, I really started to miss these concepts of conciseness and predictability in any other languages I need to work with. Rust feels like it is built by mathematicians, based purely on logic and algebra, which makes it actually pretty basic in its core and also so incredibly robust. The only problem is that Rust really has a somewhat high barrier to get into which makes it almost impossible to propagate in most companies who use other languages. Even though I think that Rust has one of the best libraries of learning resources available with the incredible language Book and the vast code documentation filled with useful examples. Honestly, Rust has one of the best ecosystems for packages out there with a beautiful build system connecting it all together. I really hope, that the language and ecosystem will improve to a point where it loses the perception of being such a hard to get into language so that more people actually give it a try.
As an aspie I am an expert in avoiding work and procrastinating. But when I start working I just cannot stop. I guess it is just the way my brain works lol. Greetings from Brazil!
As a probably-autistic person myself, the idea of safe code is _super_ alluring to me. However, there is a point in Rust where things just become borderline impossible if you haven't been coding in Rust longer than the language itself has been around -- hence me no longer using it. Edit: another pain point for me is a lack of a proper free IDE. This isn't a major issue, but I do like having an IDE to help me throughout the coding experience. Edit 2: I just now checked and it would appear as if RustRover is available for non-commercial use. Awesome. I'll be giving Rust another shot today.
VSCode with the Rust-analyzer extension is the de facto 'Rust IDE' tbh, VSC is a generally good experience and R-a is the official language server (replaced RLS a while ago)
@@Starwort Yeah, fair enough. I personally like the IDEs provided by Jetbrains due to how well they are designed imo. Only time I've used VSC over a dedicated IDE is when I was writing code for an Arduino -- I disliked how the Arduino IDE lacked a Git integration, so I transitioned to a VSC Arduino IDE plugin instead.
I've semi recently fallen in love with Go for the same reasons (coming from PHP and JS), it's not as strict as Rust but still fairly strict. Might have to try Rust in the future too since I'm the same elsewhere in life as you (I FUCKING LOVE TRAINS)
it's funny, the slipperiness of any intrinsic types (types inherent to the programming model) are precisely what led me *away* from static typing and towards untyped lambda calculus. Somehow church numerals made more sense than array[int] ¯\_(ツ)_/¯
Perhaps you might enjoy Idris as I do. One of its neat features is transparently optimizing Church/Peano numbers to binary, including arbitrary precision. It's nice when the language can apply inductive reasoning to numbers.
I'm not autistic - I'm on another spectrum that's rather diametrically opposed to autism - but I also really like Rust since I don't have to make as many assumptions when writing code and that leaves more bandwidth in my brain for thinking about more important stuff that I actually want to burn energy on. Like, I've been burned by enough code that has poor documentation or no type information and so you have no idea if it's going to fail, in what ways it can fail, if it modifies state, what types it takes/returns, etc. Rust's type system avoids a lot of this and I can determine a lot about what a function does and doesn't do just by it's signature
I actually really like python as an autistic person, a lot of its more "pythonic" ways of doing things just come across as really elegant to me with my simple coding needs. I want to try rust but I haven't really found an application where I would want to build a compiled application over a script, but when I do it's the first thing I'm going to. I also think the primary userbase of rust is made clear with packages like cargo-mommy. Also self-diagnosis is valid and based ❤
I want to contribute something because I liked the video, and that helps it reach more people, but my brain can't brain right now, so I'll just leave this explanation of my nonsense. Also, you convinced me to try rust, as a fellow AuDHDer.
It's honestly really interesting to see someone with a completely opposite approach to programming than me. For reference, my favorite language is php. I love how it just gets out of your way and lets you do things the way you want to. You can write absolutely horrible, awful things in it and no matter what, php will try its best to do what you tell it to. On one hand that can lead to _really_ wild stuff happening occasionally, but I'll take that if it means that i just get to write my shitty prototyping code on peace. Sometimes you don't need perfect code, you just need to get stuff done. I also just kind of love all the dumb jank. Like, reflection is so easy, it's incredibly funny. $name to instantiate a variable. Makes sense. $$name to instantiate a variable with the name of the content of $name. That's in the language. By default. You could just accidentally do reflection. I honestly just think that's really funny, and kind of emblematic of what php stands for. They just let you do whatever, php doesn't care how awful your code is, it'll just do whatever you want. It has functions for literally anything you could think of. In the standard namespace. I can just write password_encrypt() and encrypt something with bcrypt. I can just do $_POST and look at the post request data. PHP doesn't care about perfect code, or modern coding standards, or even sane coding conventions, the only thing it cares about is just letting you do the thing you want as fast as possible without getting in your way by telling you you shouldn't do something and that's what makes using it so damn fun for me. Don't get me wrong though, this is absolutely just me being weird. Rust seems like an awesome language, it just so happens to be the exact opposite of what i specifically enjoy when programming xd By the way, id be really curious to know what you think about haskell. It seems like it goes even further in that direction of trying to achieve "perfect" code than rust does.
I am diagnosed with autism. I have a hard time getting into Rust because everyone and everything is telling me to put open braces at the end of lines instead of new lines. Indentation (I assume that's what you actually meant with white spaces) in Python is not an issue for me because I always have tabs and spaces rendered, and I know what buttons I'm pressing on my keyboard. Auto-formatters are pointless to me.
Auto-formatters aren't for people who don't know what buttons they're pressing. Auto-formatters are for people who want to spend their time doing the fun and productive part of programming, which is not pressing spacebar / tab the correct amount of times.
@@ougonce I wasn't talking about other people. My comment was only about my personal experience with auto-formatting and formatting rules. When I said, "I know what buttons I'm pressing on my keyboard", I meant that I format my code in the way that I like, and that can change depending on the context. - I can't fully explain why I like it more, but one of the reasons I render white spaces is, so I can see which one is used in a given file/project, so I don't ruin it. VSCode has the option to not render singular spaces, which means that the "fun and productive part" is visually unaffected. - Sometimes I place braces on new lines, sometimes on separate lines. I generally prefer code blocks to be surrounded by empty lines, and braces on separate lines achieve that well enough. Even in Python, where braces don't exist, I rarely have a function's header and body not be separated by an empty line. - Sometimes I have one empty line between two functions, and sometimes two or even three empty lines. This depends on how much is going on in the current file, and how large each function is. Whether the functions are inside a class is another factor. I basically can't *not* format my code in the way I like, so even if a magical auto-formatter that knows exactly what I want existed, It would simply do nothing. Again, this is my experience.
It isn't there. I like Forth, which is the opposite of Rust. It does what you tell it to do, no questions asked, no other actions performed. I find it utterly predictable.
If youtube had existed back in 2002, this would have been about everyone moving from the horrible anarchy of Java and Perl to the safe world of Python. You are experiencing the upswing of a new language's hype cycle. I am sure that in 25 years most code will be written in Rust, but most people will hate it, and there will be a few brave autists who are exploring a new language called "Blub" that basically solves all the problems created by the previous hype cycle. You are pioneers, and your code will set the path of the next generation.
The first minute and a half was such a perfect description of a friend of mine I had to send it to her. - A degenerate whose favourite language is GDScript, a whitespace-based language with no Exceptions and a need to check for null in many cases
I like Rust for the same reason I don't mind C, but am constantly frustrated by C++: everything is explicit. Rust does this by having rules that dictate the temporal and usable scope of anything bound within a function (as functions are the working unit of the bounds checker), this has the side-effect of limiting (or _heavily_ dis-incentivizing) certain types of code architecture (no pointer-cycles, no linked-lists, very few raw pointers, etc.). These are all very common or the standard way to architect code in most mainstream languages, which I think is why most people find Rust difficult to learn: you have to _first_ realize you have certain underlying coding habits, _then_ realize the potential dangers they pose and why Rust disallows them, _then_ discover how to write your programs without them. That's a massive undertaking for most people, _especially_ if you only have yourself to do all that internal retrospective work. C is explicit in the opposite way: there's just not a lot you can really _do_ in C. You can _code_ basically whatever you want, but C, specifically, doesn't have enough syntax for you to ever get _super_ lost. If you take the time to really learn the syntax that's there, you're done. You know everything the language can, and will, do when it outputs assembly. Most other languages though (and C++, for me, in particular) have all the complexities of Rust, _and_ all the "do-whatever-you-want" of C. Leading to the worst of both worlds! You have a language that's too large to reasonably hold in your head while solving problems, has no guard-rails (user-defined or otherwise), has a type-system that's either bare-bones or an entire second programming language, and has all the built-in tooling of the decade when it was originally built 40+ years ago. Despite it being my favorite language, the world doesn't have to switch to Rust. I just want it to leave C++ behind.
Not autistic, but I do love Rust for how much sense it makes. Oh, and for what it's worth none of the people who I've had talks about Rust with in real life *seemed to be* on the spectrum either. On the Internet, though, definitely some correlation so far.
I can see the appeal. I might learn this language myself knowing that even though I am quite happy with C. I bet the predictability of this language makes the compiler even better at finding optimizations 🤔
I think that having Python, Perl, Ruby, Tool Command Language, Lua and GNU Guile written from scratch in rust would make rust more relevant to programmers in these languages and allow them to be embedded in rust software.
I don't think I have autism, to be clear, I have ADHD and I do have a variety of autistic traits, but I'm way more so on the ADHD side of the spectrum. Definitely "neurodivergent". I love strong typed languages and I love vim! I've noticed that other people who like vim are also ADHD or autistic. In general, graphical user interfaces to me are incredibly overwhelming. I will never remember where everything is, and muscle memory is more difficult to rely on with mouse-based workflows. Looking at vs code or pycharm or something like that with the terminal in the bottom and all the files on the side and all the buttons at the top and all these tiny little settings and icons for a whole bunch of different things... Freaks me out!! My first time with vim was a breakthrough. Felt like I could finally breathe and think. Despite a variety of bugs with my config, I would never go back. I see the same thing with strong type languages. It's what moved me from data science to data engineering. The highly moose type code you see in data science with python drove me nuts. Having to dig to find out what functions are meant to be returning for what inputs... Disgusting. I would always find myself confused, a lot dumber than I am. Unfortunately, while I do use rust as a hobby, my career is based in Python. So I'm just the most anal type hinter around. I use very precise type hints, a strong linter, and assert statements to cobble together the strictness I desire. Others see my code as overly verbose, but for me it has to be this way. Otherwise, any refactoring work or bug fixes later will take substantially longer. TLDR: I think it might be more driven from the ADHD side at least regarding remembering the return types of functions. I feel like our ADH D brains can't pull in as much contacts at once as others. In that way it is a detriment. But in doing so it forces us to be more focused, and prefer systems and designs that require less background context put it into memory so to speak
When I first clicked on this video I saw 2 anime pfps in the comments and as the channel's logo Then you called me autistic (how'd you guess) This is a great start
idk if i'm autistic, but i am not normal and that's all i know so far also rust is awesome, autism is awesome, c# is also cool, also i hecking love trains anyway i love programming in general and i went roughly from c# to c++ to rust and i really enjoy the certainty of the last two in that i knew better what was going on from a memory point of view than in c#, but i have been however very proficient in c#
I actually strongly dislike Rust. Interacting with memory is infinitely more difficult. It is a fight with the borrow checker every single step of the way. Plus the compiler also tells you to fix memory issues incorrectly leading to more annoyance and frustration. A circular beating around the bush instead of just telling it to me straight and blunt. Maybe that's why there is an entire unofficial guide to linked lists.
DO NOT DRINK COFFEE EARLY Wait at least 1h since waking up, better more If you need it and can't stop yourself that means your body is in not best shape, especially when it comes to sleep and food, pls take care of yourself and don't repeat my mistake
I gotta say this makes it less appealing to me. I tend to focus on flexibility and freedom of exploration. Focusing on correctness too early can stifle creativity. But it really depends on the team and where you’re at with the project. As the team grows and the product matures the company is essentially forced to adopt a more disciplined workflow because at some critical point everything blows up and the company spends all their time fixing problems instead of building the product.
This gets me thinking if there is a way to make rust microprograms that can interoperate, to fight against compiler slowness, as program size increases... so what is the maximum size any single program really needs to be? I've never used rust yet but I love C mostly because it's fast compiler and it fails fast and hard (granted, at runtime) when it fails... almost the same reason developing in JS seems nice because fast debug cycle even though it feels like banging your head against the wall until it works. IPC is an old concept, and there are probably really good ways to do it these days eg protocol buffers, etc... I'm not a fan of the get a coffee while it compiles but then again I'm the type of idiot that likes to program like it's always an emergency; (to pretend what if this was urgent and needed to be done immediately). Cheers to the idea that such a mindset can become a thing of the past... Rust is still very appealing to me and someday I might start to pick it up... esp if the compiler becomes hyper-quick or there is a sound methodology to create small interoperable rust programs that serve together as one application.
there is white noise when you talk but not-in between talking. i think the white noise should always be on for consistency; its absence when you are muted is auditorily jarring.
I've tried Rust but quiet frankly i find it a bit annoying. Maybe that's because i'm lazy and the ability to just return null when i don't have a result and let the following code deal with it is so appealing ...
I actually prefer less strict languages because I can make and enforce my own rules. It is more satisfying to add an assert to force the use of a library to conform to my expectations than get a compiler error after waiting 5 minutes that says I need three more lines of boilerplate to print "hello world".