• @YaBoyMax
    link
    2211 months ago

    I’m all for some good old Rust evangelism, but I think it’s a bit of a stretch to claim that KDE is "doomed"in the absence of a migration path to Rust, and it’s not obvious to me that moving to Rust is somehow a necessity for the long-term viability of a project.

    To your point about young devs and C/C++, afaik C is still pretty standard curriculum for CS degrees at most colleges and universities. C++ maybe not so much, but I would argue that it actually has a shallower learning curve than Rust. IMO the STL is a lot easier to get a grasp on as a newer developer than Rust’s borrow checker or lifetime system.

    • @[email protected]
      link
      fedilink
      411 months ago

      IMO the STL is a lot easier to get a grasp on as a newer developer than Rust’s borrow checker or lifetime system.

      I actually feel like Rust’s borrow checker is more difficult to learn for experienced devs. We’ve got a trainee in Rust and for her, it’s just a normal thing that variable slots hold ownership and can lend it and get it back. She does sometimes still struggle with when to clone and when to borrow, but she’s getting there.

      As for the lifetime system, no one on our team really gets that one. 🙃
      But (that’s because) you rarely need it.

    • Tobias Hunger
      link
      fedilink
      1
      edit-2
      11 months ago

      @YaBoyMax @Pantherina I do think that KDE is doomed if it stays with C++ long term. The tooling is just horrible, you spend so much time debugging things. In my experience young people just do not put up with all that! It’s just us old people doing what we always did.

    • Tobias Hunger
      link
      fedilink
      1
      edit-2
      11 months ago

      @YaBoyMax @Pantherina this assumes that a C++ dev gets by without managing lifetimes. That is just not true: Mismanaging lifetimes is a bug in all languages.

      The difference is the rust compiler detects those issues and errors out, so you have to fix the issue right away. In C++ the compiler will just accept the code, so you can deal with the issue later once bug reports come in.