Stop Saying Rust Is Too Complicated

Поділитися
Вставка
  • Опубліковано 8 лют 2025
  • Live At: / theprimeagen
    Wanna Become a Backend Dev & Support me at the SAME TIME???
    boot.dev/prime

КОМЕНТАРІ • 189

  • @mr.togrul--9383
    @mr.togrul--9383 5 днів тому +232

    this clip a bit long😂

  • @fus-ro-dah
    @fus-ro-dah 5 днів тому +57

    Simple != easy.
    Easy = low effort.
    Simple = low complexity.

  • @RationalDissonances
    @RationalDissonances 5 днів тому +126

    Do you know what "clips" mean?

    • @kahahabahaha
      @kahahabahaha 4 дні тому +4

      maybe the whole video is 42 hours long

    • @MennoDuursma-q9l
      @MennoDuursma-q9l 4 дні тому

      you\'re missing a zero though

    • @kahahabahaha
      @kahahabahaha 3 дні тому

      @ you right my bad

    • @bzboii
      @bzboii 3 дні тому

      silence wench

    • @massy-3961
      @massy-3961 День тому

      @@MennoDuursma-q9ldid you just escape a single quote tick in a UA-cam comment 😂

  • @icemojo
    @icemojo 5 днів тому +25

    32:02 Memory arenas and batch allocations are not a thing of game dev exclusively anymore. Check out what Ryan Flurry's doing right now with his debugger project. It's immediate mode GUI with arenas everywhere, but not a single malloc call insight.
    Point is, there IS more than one way to manage memory without GC. And there's definitely more than one way to make things safe, without Rust's bureaucracy.
    I'm not saying Rust is inherently bad. It's just that people are realizing more and more that Rust way is not the only way.

    • @CharleyWright-w1y
      @CharleyWright-w1y 5 днів тому +5

      For immediate mode UI arenas are an incredible tool to increase performance. I've found arenas to be useful any time you have a system with a lifetime that needs to manage a large number of child objects. For me I have a data structure that can allocate millions of very small structures so an arena in the container (thus tying it to the lifetime of the container) massively boosts performance

    • @icesentry
      @icesentry 4 дні тому +3

      An immediate mode UI is essentially just a game though. It still works exactly the same way a game would with a render loop. I agree arenas can be used outside of gamedev, but this isn't really an example of that.

    • @thesenamesaretaken
      @thesenamesaretaken 4 дні тому

      ​@@icesentryI wouldn't count on that. There have been games that bundled a javascript runtime so they could create the UI using react or whatever.

    • @icesentry
      @icesentry 4 дні тому +1

      @ What's your point? Not all games have to use arenas, it's just that arenas work really well in the context of games with a render loop. Also, for the record, react also works with the concept of a render loop so they could also use arena-like things, but it's JS so they don't control allocation. My point is just that arenas work really well with a render loop and an immediate mode UI can easily use arenas like games because it's essentially the same thing.

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 3 дні тому +1

      just use arenas in Rust

  • @seeemawn
    @seeemawn 3 дні тому +7

    you don't HAVE to propagate the err in Rust with the ?. You can also handle it with a match statement just right where it occurs.

    • @timodempwolf6560
      @timodempwolf6560 10 годин тому

      You can but what prime says is that a lot of people don't

  • @dvhh
    @dvhh 4 дні тому +18

    for me, the Rust community is more complicated than the language itself

  • @jordanmccallum1234
    @jordanmccallum1234 3 дні тому +1

    I really do feel the "type modification cycle" mentioned here, where you declare your data types, but they're so precisely defined that they quickly become interdependent and when you change one, you have to change many of them.
    I have a hard time recognizing when fucking with types is a productive exercise in modelling the application and when it's just procrastination, because it is so often a mix of both.

  • @brod515
    @brod515 5 днів тому +49

    this read to mea as "Nuclear Fusion is not hard... it's Life that is hard in general"
    rust is a complex language compared to other languages.
    this article should have take the route of explaining the need for rust's complexity.

    • @kejtos5
      @kejtos5 5 днів тому +1

      Yup. I am few days in learning rust coming from mostly python, and holy fucking shit is rust difficult.

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 3 дні тому

      complex vs difficult

  • @disguisedpigeon5465
    @disguisedpigeon5465 4 дні тому +8

    The BEAM languages solve memory through GC, concurrency through the actor model and error handling through the let it crash philosophy

    • @julians.2597
      @julians.2597 4 дні тому +3

      aka they solve memory problems by just consuming all of it.

    • @disguisedpigeon5465
      @disguisedpigeon5465 4 дні тому

      ​​@@julians.2597Nah, it's relatively light. Around 4 GB of RAM for 1M processes. Not on par with more low level languages, but pretty good.

    • @disguisedpigeon5465
      @disguisedpigeon5465 4 дні тому

      ​@@julians.2597The BEAM and erlang in particular consume surprisingly low RAM for big loads. Around 4 GB for 1M processes. It still can not compare to more low-level languages but hey, pretty good.
      Source: a random blog a while ago

  • @NakamuraSatou
    @NakamuraSatou 5 днів тому +10

    Dart is actually an amazing language.
    Sad thing that people don't even think about it.

    • @basione
      @basione 4 дні тому

      Dart is highly underrated 👌

    • @NostraDavid2
      @NostraDavid2 4 дні тому

      People say it's amazing, but never what's amazing about it.

    • @basione
      @basione 4 дні тому

      @ It has a nice, clean, familiar, practical syntax with plenty of features.
      Though, the "familiar" part probably makes it look "boring" on the outside.

  • @jackevansevo
    @jackevansevo 4 дні тому +3

    Compared to any GC'd language with a managed runtime, it's absolutely more complex.

  • @maximenadeau9453
    @maximenadeau9453 5 днів тому +3

    Today I saw that Primagen has the same kettle as I do, which means I'm on the right track.

  • @emircanerkul
    @emircanerkul 5 днів тому +6

    Ruby on rails? Rust on Nails? Php on Sails

  • @quinn1096
    @quinn1096 5 днів тому +5

    No link to the article?

  • @metaltyphoon
    @metaltyphoon 4 дні тому +3

    The bar keeps getting higher and higher…. “Rust doesn’t prevent logic bugs”. Ahhh hello wtf?

  • @taylorsabbag6962
    @taylorsabbag6962 5 днів тому +36

    Holy cow, I don’t mean to be mean, but this article was semantically gibberish. Rust IS complicated. You could also say it’s abstractions and implementation details are useful, but because of how numerous they are, it is by definition complicated. If any programming language can make programming something feel easier, then there must be programming languages that make programming feel harder. Rust may add complications for good reason, but that doesn’t make it not complicated. That’s a separate and arguably uninteresting argument, especially because Rust is already considered one of the better languages for writing safe code IF you can manage to understand its complications.
    For reference, in the board gaming world, there’s a distinction between complexity and depth. Complexity is when a game has many rules, whereas depth is when a game has few rules that compose to create many, deep game states.
    Rust is a complex board game. It has many rules. Following them all at the same is hard. None of that is reasonably debatable. Is it a good language like how complex games can still be good? Yes, it likely is. But what he’s saying is analogous to saying that because modern games add types of game mechanics considered to be more enjoyable and even educative on the nature of games that therefore a game like Dune: Imperium isn’t more complex than Catan.
    Doing things right often does require complexity up to a certain point.

    • @Heater-v1.0.0
      @Heater-v1.0.0 5 днів тому +8

      Yes and no. Rust is no more complex than C++ and I would argue a lot less. I would also argue that using Rust is no more difficult than C. That claim may seem strange to many but I will point out that all the problems one faces with C with memory and undefined behaviour that one can spend ages debugging are exactly the same problems that Rust tackles. The difference being that Rust tackles those problems with syntax and semantics where C says nothing except "that's UB, good luck". The same complexity is there, it's just that a Rust programmer has to think about that complexity at compile time not debug time,

    • @MarcelRiegler
      @MarcelRiegler 5 днів тому +4

      There is a big difference between complex and complicated. Complicated generally means "more complex than it needs to be". There's also a big difference between easy and simple. Where easy just means "ease of use", but simple means "as easy as possible, but not easier".
      Other languages aren't less complex, they simple hide a lot of complexity behind "easy" facades. Take something like Option. In Go, it's easy to ignore the complexity of possibly missing values because the language hides them behind the easy facade of pretending they don't exist. But would you really say that Go is less complex because of it? In anything but the simplest scripts you need to keep this problem in mind anyway, just that now the language/compiler doesn't help you. It's more complicated, even though the language is easier.
      Board games (as much as i love them) are a bad comparison simply because there is no irreducible complexity to board games. There's no underlying rules that HAVE TO be addressed by every single board game. So you can just choose to not have workers if you want to, or personal decks, or tableaus or dice or....

    • @Heater-v1.0.0
      @Heater-v1.0.0 5 днів тому +1

      @@MarcelRiegler If we want to distinguish between "complex" and "complicated" the definitions given by MIT here are as good as any. From which I can now conclude that:
      Rust is complicated because whatever problems you have with it can be addressed with rules and recipes.
      C and C++ are complex because they involve too many unknowns and too many interrelated factors to reduce to rules and processes.
      The complication of Rust is due to its syntax and semantics which many rate as more complicated than other languages.
      The complexity of C and C++ is due to the unknowns of undefined behaviour and implementation defined behaviour.
      Give me resolvable complicated problems any day. And that is why I use Rust not C++ or C.
      Anyway, having been around more languages than I ever wanted to be I don't see that getting anything done is more difficult in Rust than anything else.

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 3 дні тому +1

      Rust doesn't have that many rules.
      Yes compared to C or Go, but then compare it to Java or something like that. Or C++... you will suffer.
      Rust has rules which make programming difficult. Lifetimes.
      On the other hand C doesn't have many rules, yet you have to obey a lot of additional rules to write correct programs. Complicated?

  • @TopgamesMafia
    @TopgamesMafia 4 дні тому +2

    Keep saying it, it adds value to rust connoisseurs

  • @0x2a1A4
    @0x2a1A4 3 дні тому +3

    I think you cant even compare things like c, c++, rust to go or any other GC language..
    c: is a simple language and is easy to learn, but programming correct c is very complicated and takes years to develop.
    c++: is a more complex language then c, and so a bit more difficult to learn, in return you get some nice things so you can write correct c++ a bit faster then c
    rust: is a complex language to learn and takes quite some time, in return you can easily write correct rust without match effort,
    conclusion: program correctly in these non GC langs takes time, the ratio of where this time is spent depends on the language, and is of your own choice.

  • @joseoncrack
    @joseoncrack 4 дні тому +3

    If safety is really at stake, use Ada rather than Rust.

  • @defeqel6537
    @defeqel6537 4 дні тому +2

    29:40 when I tried Rust, it definitely wasn't a few minutes of compile time. Given that I do TDD, the compile times and borrow checker hits were taking way more time. Yeah, I probably could learn to play with / circumvent the borrow checker to reduce that time, but even C++'s horrendous build times enable my workflow better. With tests and valgrind I can get rid of most bugs anyway, and keeping thread communication narrow (e.g. channel-like constructs) will reduce bugs there.
    P.S. I'm getting less and less enthusiastic about RAII

    • @Dekharen
      @Dekharen 4 дні тому

      I mean even if you have an hour of comp time, you should hopefully run your tests locally on an incremental build, so it should actually take an hour once and then seconds to change.
      I never got the argument of compilation time because the vast majority of it happen upfront and is then cached. If you use something like github actions to do it and you're pushing every 5 minutes, sure, but I'd argue that's Github's infrastructure being completely wrong for Rust rather than anything inherent to rust itself. Which can be a problem of course, but also, if the problem comes with it's packaged solution, it's difficult to just say that the language suffers because of it.

    • @RustIsWinning
      @RustIsWinning Годину тому

      Skill issue

    • @defeqel6537
      @defeqel6537 Годину тому

      @ of course I do incremental compilations, but the issues sometimes till persists

    • @defeqel6537
      @defeqel6537 Годину тому

      @@RustIsWinning I absolutely agree that it could just be skill issue, but I also don't see a great reason to overcome that if the existing tools work for me

    • @RustIsWinning
      @RustIsWinning Годину тому

      @@defeqel6537 Honestly I stopped reading after the 2nd sentence. TDD is a flawed concept. If it wasn't we ALL would use it. Checkmate.

  • @pprocacci
    @pprocacci 4 дні тому +18

    I'm one of those people that think rust is too complicated.
    I'll just continue using C.

  • @arcuscerebellumus8797
    @arcuscerebellumus8797 4 дні тому +25

    "fearless concurrency", as in "you'll be too annoyed to be afraid" :D

    • @jonnyso1
      @jonnyso1 4 дні тому +2

      thread::scope gg

  • @Jeremyak
    @Jeremyak 4 дні тому +2

    Hey basically I'm just not gonna stop writing C. I know.... UGH I know... I'm sorry!! It's just that I'm not gonna stop writing it is all

  • @SamArmstrong-DrSammyD
    @SamArmstrong-DrSammyD 5 днів тому +3

    fundamental best practices*
    memory locality and defragmentation not included.

  • @sanjaykrishnan2052
    @sanjaykrishnan2052 4 дні тому +7

    I'm eleven and a half minutes in and I've already got a rant yearning to come out (I'm a rust developer). You first complain about how using anyhow and bubbling up errors is a bit too easy leading to situations where people end up using it when they probably shouldn't, but then go on to say that you like how in ts you can quickly check if a value exists and return nothing if it doesn't, both these situations are almost equivalent, if anything, rust is making you use a different crate rather than some core language feature to make this easy enough to do. The reason rust is complicated in terms of error handling is pretty much because it sort of forces you to think about which errors need to be explicit and returned as first class values (as these are the ones the caller can do something about) and which errors are just far off from the happy path that you want to not bother about them and so you just bubble it up with some anyhow context for logging purposes. In Rust, at least you're sort of encouraged to add some context.

  • @TheSublimeIbanez
    @TheSublimeIbanez 4 дні тому +5

    implicit returns are the worst feature of rust, bite me.

  • @ymi_yugy3133
    @ymi_yugy3133 5 днів тому +3

    I think the thing that makes rust not require the automatic coercion on if(value == null) { ...} /*use value as not null*/ is that rust allows variable shadowing, i.e. let Ok(val) = val else { ...}; /*use value*/

  • @nuttygold5952
    @nuttygold5952 4 дні тому +4

    Ahhh my favourite e-reader

  • @paxcoder
    @paxcoder 16 годин тому

    38:32 " I'm investigating languages such that I can show people..."
    * remembers Jai is a 10 yo proprietary language *
    "what's coming into the future my goal is to show you what's available and what potentially the next 10 years could have available to people to us"
    Jk, don't hate me. I know this might apply to Zig too, since it may not be ready for prime time just yet. But you have to admit, Jai is not it. And we don't know when it will be (if at all). Because it's closed-source and unavailable to the - general public.

  • @Ellefsen97
    @Ellefsen97 5 днів тому +8

    I don’t get the Go error handling hate honestly. I just started writing Go a few months ago and I had heard many complaints about the error handling. But I’m actually kinda used to writing code that way. When I write C I usually end up with: if(res == NULL) any time a function can fail

    • @maleldil1
      @maleldil1 4 дні тому +2

      Sure, let's compare the error handling of a (so-called) modern language with a language from the last century. It's not as if there have been decades of programming language evolutions in the meantime.

    • @robertluong3024
      @robertluong3024 3 дні тому

      ​​@@maleldil1no need to be snarky, but you do have a good point

  • @LusidDreaming
    @LusidDreaming 3 дні тому +2

    I can't tell you how many times I've been doing lifetime refactors and thought "id rather just manage the memory myself"

  • @filipg4
    @filipg4 5 днів тому +15

    Rust is too complicated.

    • @LusidDreaming
      @LusidDreaming 3 дні тому +2

      You're not supposed to say that anymore. It's a microagression against people with blue hair.

    • @RustIsWinning
      @RustIsWinning Годину тому

      YourMama is too complicated

  • @ebukaume
    @ebukaume 5 днів тому +3

    I don't see the diff between ? "issues" and "if err != nil return err" in Golang. It's just a matter of one's approach to error handling. We should all be intentional with error handling

    • @defeqel6537
      @defeqel6537 4 дні тому

      the latter gives your brain enough time to realize you need to be thinking about, at least enough to write a TODO/FIXME

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 3 дні тому

      @@defeqel6537 the latter just clutters your code with boilerplate

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 3 дні тому

      @ the latter just clutters your brain when trying to understand the actual business logic

  • @pedrg19
    @pedrg19 5 днів тому +2

    I just feel like this article was mostly written by ChatGPT.

  • @helloworlditsworld
    @helloworlditsworld 4 дні тому +2

    Uh oh is he using rust again

  • @Holobrine
    @Holobrine 3 дні тому

    22:35 To be fair that should really be a match statement to avoid the multiline return.
    match id {
    1 => Some(User::Alice("Alice".to_string())),
    _ => None
    }

  • @Mempler
    @Mempler 5 днів тому +21

    Sounds like a skill issue

  • @johnw.8782
    @johnw.8782 3 дні тому

    Prime ignores the let-else clause in rust which makes rust error handling read like go error handling.

  • @JamesRouzier
    @JamesRouzier 5 днів тому +5

    Go forces different decisions than rust

  • @taquanminhlong
    @taquanminhlong 5 днів тому +3

    29:50 so when you have reached to a certain level, learning programing languages are just basically learning syntax 😂

    • @PassifloraCerulea
      @PassifloraCerulea 4 дні тому +3

      At some point before that there are some rarer languages with actually new concepts to learn if you only know the most popular few. Lisp (less so nowadays), Haskell, Prolog, the APL family, and Forth will all bend your mind in good ways and teach you fascinating new ways of solving problems and give you insights into software engineering that may not otherwise occur to you.

  • @Jeremyak
    @Jeremyak 4 дні тому +3

    07:42 "How we see strings"
    I appreciate that before using Rust it was a dude, and then...

  • @caseys6536
    @caseys6536 5 днів тому +5

    15:23 I think this spectrum for thinking about language complexity is pretty accurate and a useful way to talk about it. Complexity increases as features and keywords are added, and particularly as the rules for using those features become more elaborate. Languages which are “simple” need relatively fewer features and rules but can be composed into many useful patterns (even complex patterns!), whereas complex languages have something more like: “when I encounter this precise situation I should reach for this precise feature.” That feeling of knowing such an intricate language enough to recognize those moments is itself satisfying and that’s why languages like Rust and C++ will have long-term appeal, but I think along a longer time horizon they will also become less tenable. Simple languages may take more work to do complex things, but they are learnable and “portable” in a way that complex languages cannot be. This is why C-like languages will outlast them.

    • @icemojo
      @icemojo 4 дні тому +2

      That's a very good take. I love that.

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 3 дні тому

      C itself is simple, but using C is no less complex than using Rust, perhaps even more

  • @hmil-h6
    @hmil-h6 5 днів тому +1

    I feel ya I also do Rust with coffee ☕

  • @ymi_yugy3133
    @ymi_yugy3133 5 днів тому +5

    I don't think Rust is technically any less suited to AAA game dev than C++, but the pressure to use something memory safe isn't as big as let's say in a web browser, there are very long project times and stakeholders are pretty risk averse towards new technology, especially when it can't be sold to users. On top of that, AAA devs rarely start with a blank slate. All major engines (to my knowledge) are more than a decade old.

    • @SMorales851
      @SMorales851 5 днів тому +2

      * cries in Unreal Engine codebase *

    • @Mike-zx7lq
      @Mike-zx7lq 5 днів тому +4

      There are ways in which Rust may be less suited at the moment, at least without a paired scripting language on top of Rust. In other languages it's a lot easier to quickly hack in some changes just to dial in the "feel" of something (very common in game dev, contrasted with other types of products), and Rust fights against that because it wants you to refactor in many places for correctness every time you make that hacky change. It can really slow that dialing-in process to a crawl. I'm not the first to say it, but many people are looking forward to integrating a scripting language like Lua into Rust game engines so that (among other things) they can do those hacky bits unimpeded, and use Rust to achieve that really polished result.

  • @tylermfdurden
    @tylermfdurden 3 дні тому

    How much did you spend on that kettle?

  • @lufenmartofilia5804
    @lufenmartofilia5804 4 дні тому

    It's not complicated, it's annoying and "not fun" (this argument is of course subjective). But nonetheless, it has huge pro's.

  • @Marxone
    @Marxone 5 днів тому +1

    For all the wife haters who would not pick rust to save wifu, what's the fastest simplest way to run out of memory?

    • @criptych
      @criptych 3 дні тому

      malloc in an infinite loop

  • @hoefkensj
    @hoefkensj 4 дні тому +1

    what do you call complicated , exactly...? answer: .... well is complicated ..:D

  • @ghun131
    @ghun131 2 дні тому

    Rust is really complicated and yeah it's my skill issue

  • @adnan7698
    @adnan7698 4 дні тому +5

    Rust is too complicated

  • @robindeboer7568
    @robindeboer7568 4 дні тому +1

    it is skill issue. Dont unwrap, dont ? use map and map over the options and results and pull em all out the end in 1 pattern match.
    But Im not going to say thats not complex for people who dont do functional, and also I will say most people dont do a good job of that, including me sometimes

  • @Daniel_Zhu_a6f
    @Daniel_Zhu_a6f 9 годин тому

    this article is such a sloppy job. how about instead of saying "stoopid people don't understand ADTs", just go feature-by-feature and compare it with analogous solutions in other low-level languages? Go is not low-level

  • @maxterminatorx
    @maxterminatorx 3 дні тому +2

    Rust is not difficult we just have too much people out there with MemoryManagmentPhobia and this Cult is getting bigger

  • @inertia_dagger
    @inertia_dagger 5 днів тому +6

    > anyhow::Result
    well if you import anyhow everywhere duh it's gonna be bad, it's the same opaque error type as go. unlike go, it's common to not have an opaque type, though (so you can specify your own custom error type)
    it's always such a baffling criticism of rust, because it provides you with ergonomic features and an option to make stupid decision, when go makes that stupid decision for you
    by opaque type I mean that `error` interface that you have to reflect on later
    /rant

  • @jonnyso1
    @jonnyso1 4 дні тому +1

    Prime keeps complaining about people who use anywhow as if thats an inherit problem of rusts error handling. 😂 its a library, I just don't use it. By default that's not how Rust works.

  • @AbuAl7sn1
    @AbuAl7sn1 2 дні тому

    i swear python to me is harder than Rust .. it s full of magic code

  • @mikel-zzzz
    @mikel-zzzz 4 дні тому +2

    Rust people always advocating that the rust way is the only good way is why we all hate Rust with passion.
    Rustaceans are A LOT to handle, and the worst part is they think they they have objective arguments, when most of the times is just preference on programming paradigms.
    Now, the argument about gen-ai will be the way of doing code and we need the rust compiler to save us.... talk about dystopian future, the two hype trains I hate the most together!

  • @Zuranthus
    @Zuranthus 5 днів тому

    so we're doin GO again?

  • @Mglunafh
    @Mglunafh 4 дні тому

    00:12 "software engineering problems that show up in every sufficiently complex system"
    Ah yes, my sufficiently complex hello world in rust where i try to get and print chars from the string by index

  • @fRutrn
    @fRutrn 3 дні тому

    prime lang when?

  • @emonadeo
    @emonadeo 5 днів тому +3

    these “clips” are getting out of hand

  • @andrespedraza8939
    @andrespedraza8939 5 днів тому +2

    42:32 minutes clip, 10x professional youtuber

  • @RenXZen
    @RenXZen 5 днів тому +2

    again, why was this uploaded here instead of theprimetime where long duration videos have more visibility?

  • @TawaraboshiGenba
    @TawaraboshiGenba 4 дні тому +3

    Rust👏Is👏Too👏Complicated👏

  • @Mike-zx7lq
    @Mike-zx7lq 5 днів тому +1

    I like the dumb way Go handles errors to, and I feel very satisfied when I handle errors with the same pattern in Rust. I do use anyhow and ? operator, but ALWAYS precede it with a .context() or .with_context() so it's obvious what step is throwing the error when I see it bubble up to the top. That's just a slightly more concise version of what I do in Go most of the time anyway.

  • @PedroNasser
    @PedroNasser 5 днів тому +6

    No. Rust is just poorly designed and is very convoluted.

    • @joseoncrack
      @joseoncrack 4 дні тому +2

      Yes. But it's the perfect tool for blue-haired people, apparently, for some reason that I fail to understand?😅

    • @defeqel6537
      @defeqel6537 4 дні тому +4

      @joseoncrack it's the perfect language for people who like to say: "you must do things the way I want, or you are a bad person", which also correlates with blue hair

    • @lufenmartofilia5804
      @lufenmartofilia5804 4 дні тому

      What make you feel it is "poorly designed" ? I'd like to know your point of view and what brings you to think this when compared to current options that a used in real world like C and Cpp.
      I did not add zig because it's far from being used in companies (especially at scale) and v1 isn't out yet.
      Go does not really compete in this area either just because of the gc being present (not against it, just saying it is simply not a system language)
      This is a legit question 😊

    • @ClimateChangeDoesntBargain
      @ClimateChangeDoesntBargain 3 дні тому +1

      of course it is, any other wise insights?

    • @Mankepanke
      @Mankepanke 3 дні тому +2

      I'd be interested in what you would've changed about it. I enjoy thinking about lang design sometimes, so that could be a good input.
      What are the problems, and the better alternatives?

  • @siriusleto3758
    @siriusleto3758 4 дні тому +2

    To replace C I would use Zig.

    • @lufenmartofilia5804
      @lufenmartofilia5804 4 дні тому

      I mean rust is more competing with Cpp then C. 😅
      Tho Rust benefits could of course be seen in C world too.
      But I would then prefere zig too

  • @u9vata
    @u9vata 4 дні тому +3

    Rust - meaning: programming language designed for false believers who think everything has to be as complicated as rust 🙂

  • @fg786
    @fg786 5 днів тому +1

    Was there never an attempt at creating a community language, where each feature is voted upon and how it's implemented. Why are there so many languages out there with subpar error handling, subpar syntax, subpar all the things.
    Is it all just a matter of taste?

    • @plaidchuck
      @plaidchuck 4 дні тому +2

      Because computer programming languages are definitely the part of computer science where human biases come into play

  • @rosehogenson1398
    @rosehogenson1398 5 днів тому +2

    Go's error handling is actually the best, and it's only babies who can't handle typing "if err != nil {" that complain about it

  • @andrew.derevo
    @andrew.derevo 5 днів тому +1

    I’m absolutely enjoying to write on rust

  • @cooltrashgamer
    @cooltrashgamer 3 дні тому

    RAII is horrible

  • @picatchumm64
    @picatchumm64 5 днів тому +2

    Go is the best, because apparent simplicity hides its strength ...

  • @sacredgeometry
    @sacredgeometry 4 дні тому

    Complicated is what it is ... or convoluted. What it isn't is complex.

  • @gnagyusa
    @gnagyusa 5 днів тому +10

    I've written a fully-featured 3D software suite (about a million lines of C code) by myself and I find Rust too complicated. So it's too complicated. All that crap does not belong in the language. It should be done with code because often, you don't need most of it.

    • @Qrzychu92
      @Qrzychu92 5 днів тому +3

      I did Advent of Code in Rust, and I am fully aware that's not REALLY representative, but I went out of my way to try more rusty stuff (like using Nom over regexes) - and at least at this level I found Rust pretty easy. Once you get the difference between iter() and into_iter(), everything else just clicks into place. There were some annoyances (like having to create a local variable instead of just passing the thing into a function for ownership to resolve). Also, WHY AREN'T LIFETIMES AUTOMATIC - I really don't get this one.

    • @Suhov
      @Suhov 5 днів тому +1

      To allow general threadsafety, allow some polymorphism, add memory checks and control and keep everything somewhat performant you have to create internal logic for them.
      In C you have to rely on developers skill, attention and usage of external tools for that. And when you need to write secure code and can't hire anyone under 50, it will become serious issue very soon.

    • @diadetediotedio6918
      @diadetediotedio6918 5 днів тому +3

      Lol, great argument, "I find it unnecessary, therefore it is true for everyone else".

    • @雑種-p3r
      @雑種-p3r 3 дні тому +1

      ​@@diadetediotedio6918 yea i mean youre not going to find any tangible arguments by these people. Any programmer worth their salt would acknowledge why rust has been built the way it has, even if they dont like it. I garuntee you "all that crap" this guy is talking about is probabaly ab lifetimes or how traits work or something.
      Im not saying rust is without flaws, for example the current lifetime model has some annoying situations where code is technically valid, but the compiler has to throw becuase it cant make the garuntee.
      A valid argument would be: rust makes _ annoying/bad because of how how _ works in the language. _ language does it better because _... not, "i built this and all that rust crap is too complicated"

    • @RustIsWinning
      @RustIsWinning Годину тому

      Old and b4ld dev cannot handle generic programming 😂

  • @uwo7130
    @uwo7130 3 дні тому

    You had me at stop saying rust

  • @colemanroberts1102
    @colemanroberts1102 4 дні тому

    I consider a language complex if I couldn't bootstrap a compiler for myself if I had to. I don't think I could implement rust, particularly given the lack of a written standard to write towards.

  • @TaiGroot
    @TaiGroot 5 днів тому

    Schlew

  • @polipio5389
    @polipio5389 4 дні тому +1

    Rust syntax is ugly AF

  • @anonymous49125
    @anonymous49125 3 дні тому

    2:48 Reqwest... uwu.

  • @oleksiistri8429
    @oleksiistri8429 4 дні тому

    rust is inconvenient, i do not know how rust is better with their borrow crap in comparison to smart pointers in c++.
    p.s. golang's error handling is great.

    • @peterixxx
      @peterixxx 4 дні тому

      Neither is necessarily good when you can stuff everything in an arena and forget about tracking tiny lifetimes of tiny things.

  • @funkdefied1
    @funkdefied1 4 дні тому +1

    1:48 we’re already upset at you for abandoning Rust 😭

  • @onncpp
    @onncpp 4 дні тому

    Glad to see prime repented and came back to the light

  • @oleksiistri8429
    @oleksiistri8429 4 дні тому

    "Stop Saying Rust Is Too Complicated" - says someone who is proficient in rust, but sucks in other languages.
    skill issue.

  • @LARathbone
    @LARathbone 4 дні тому +2

    Yeah!! I mean what's so hard about code like this:
    fn signals() -> &'static [Signal] {
    static SIGNALS: Lazy = Lazy::new(|| {
    vec![Signal::builder("volume-changed")
    .param_types([f64::static_type()])
    .build()]
    });
    SIGNALS.as_ref()
    }
    It's all so simple!! /s 🤮

    • @fullmontis
      @fullmontis 4 дні тому +1

      The more I read rust and c++ the more I love c

    • @Mankepanke
      @Mankepanke 3 дні тому

      How would that look like in C?
      The only thing I dislike there is the need to repeat the name of the types all over the place, but that's not the worst thing ever.
      Here it is included that it is bootstrapped the first time it is used, with race condition guarantees. How would you make that in C?

    • @RustIsWinning
      @RustIsWinning Годину тому

      This in C would require 200 lines and then segfault because it was written by a boomer who thinks he knows better LOL

  • @gnagyusa
    @gnagyusa 5 днів тому +2

    Rust code can also leak memory like crazy:
    ua-cam.com/video/PG0wRb7eYms/v-deo.html

    • @Suhov
      @Suhov 5 днів тому

      Does it leak, or does something keeps adding resources to the internal list?

    • @joseoncrack
      @joseoncrack 4 дні тому +4

      Yes, but they'll lecture you about memory leaks not being a memory safety issue, so they don't care, because that's beyond the scope of Rust.🤕

    • @criptych
      @criptych 3 дні тому

      ​@joseoncrackwhich is technically correct, but still smells like copium

    • @RustIsWinning
      @RustIsWinning Годину тому

      Ah yes Lundjerk and his clown followers know so much about programming LMAO

  • @pentakilltaliyah2310
    @pentakilltaliyah2310 4 дні тому

    rust is literal trash

  • @fabiopetrillo
    @fabiopetrillo 3 дні тому

    Rust is top! :-)

  • @miniminerx
    @miniminerx 5 днів тому +3

    Bruh just use bevy and life is easy

  • @miniminerx
    @miniminerx 5 днів тому +2

    PLEASE PRIME TRY BEVY

  • @flanwithaq2724
    @flanwithaq2724 3 дні тому

    I hate how he dopemine :w in his vim

  • @KangoV
    @KangoV 3 дні тому

    New style async in Java with virtual threads, concise stacks, thread shutdown/cleanup on failure. If child virtual threads start virtual threads, the task scope tracks the thread graph and shuts it all down on exit. Very cool. By bye reactive.
    try (var scope = new StructuredTaskScope.ShutdownOnFailure()) {
    var shelterFuture = scope.fork(this::getShelter);
    var dogsFuture = scope.fork(this::getDogs);
    scope.joinUntil(Instant.now().plusSeconds(2)); // easy timeouts
    var response = new Response(shelterFurture.resultNow(), dogsFuture.resultNow());
    // ...
    }