Most active commenters

    ←back to thread

    205 points michidk | 11 comments | | HN request time: 0.203s | source | bottom
    Show context
    dazzawazza ◴[] No.41835253[source]
    Access to competant Rust developers can be a challenge even for large companies.

    I recently finished a contract at a (very large game dev) company where some tools were written in Rust. The tools were a re-write of python scripts and added no new functionality but were slightly faster in Rust.

    The reality was that these tools were unmaintainable by the rest of the company. Only the author "knew" Rust and it was hard to justify a new hire Rust developer to maintain this small set of tools.

    The only reason these tools were written in Rust was because the dev wanted to learn Rust (a big but common mistake). I pointed out to the Technical Director that this was a big mistake and the teams had taken on a large amount of technical debt for no reason other than the ego of the wanna-be-rust-developer. Since I "knew" Rust he wanted me to maintain it. My advice was to go back to the Python scripts and I left.

    replies(21): >>41835266 #>>41835268 #>>41835305 #>>41835386 #>>41835427 #>>41835460 #>>41835522 #>>41835570 #>>41835607 #>>41835745 #>>41835838 #>>41836318 #>>41836384 #>>41836673 #>>41836742 #>>41837344 #>>41839371 #>>41840322 #>>41840444 #>>41846616 #>>41848063 #
    1. realusername ◴[] No.41835427[source]
    What concerns me even more than the talent pool is that Rust is a language that isn't straightforward to learn.

    I can be confident to teach any average developer about Go without any prior experience relatively quickly, I'm not so confident I could do the same with Rust.

    replies(3): >>41835688 #>>41835716 #>>41835986 #
    2. amelius ◴[] No.41835688[source]
    Go is also a more productive language for many use cases.
    replies(1): >>41837442 #
    3. sunshowers ◴[] No.41835716[source]
    On day 1, yes, a newbie to Go would be able to be more productive.
    4. ramon156 ◴[] No.41835986[source]
    These comments make it seem like it's impossible for people to learn Rust. I have to admit that it takes a fair bit longer than other languages, but so is c/c++. Is there a bias towards not using Rust by other devs? Is it a scary language?
    replies(2): >>41836204 #>>41837421 #
    5. realusername ◴[] No.41836204[source]
    I'd put the same concerns for C and C++ to be fair. The learning curve just isn't the same as most other mainstream languages.
    replies(1): >>41837462 #
    6. ttfkam ◴[] No.41837421[source]
    A garbage collector really takes away a huge amount of cognitive overhead. In doing away with it, Rust requires that you understand the borrow checker and lifetimes, even if minimally due to extensive use of .clone() in your early code. This ties into all of the different kinds of strings in Rust from str to string to vec[u8], etc.

    Unlike Go that only really requires experience in general programming to become rapidly productive, Rust basically requires that you read The Book in its entirety before you even think about applying that knowledge in production. There are just to many interdependent concepts to hand wave away the prep time. It all (mostly) makes sense once you've familiarized yourself with the basic concepts, but it's a training step you simply cannot skip without inflicting a fair amount of pain on yourself and others.

    replies(1): >>41839040 #
    7. jcgrillo ◴[] No.41837442[source]
    My experience is the opposite. I spend a lot more time in a debugger when I work with golang than when I'm working with rust. Sure, there's a learning curve with rust's borrow checker, but once you figure out how to use it I find rust to be a much more "flow state" development experience, with less interruptions of the form "what is this program actually doing and why?"
    replies(1): >>41837491 #
    8. ttfkam ◴[] No.41837462{3}[source]
    I'd put even more concerns on C++. All the same concerns plus all the concerns that arise from the compiler not helping you nearly as much. It's easy with C++ to be lulled into a false sense of security because it compiles, and your trivial happy path works. Under load or with unforeseen input, the chance for memory corruption is massive even for experts let alone beginners because it only takes one to bring down a whole process.

    C++ is better than it used to be, but it was truly atrocious in that regard for decades. It was simply the least worst option for those decades.

    I do not consider it the least worst option anymore.

    9. amelius ◴[] No.41837491{3}[source]
    You forget that a lot of projects benefit greatly from generalized GC.
    replies(1): >>41837749 #
    10. jcgrillo ◴[] No.41837749{4}[source]
    No. I didn't forget. It has not been my experience that not having a garbage collector in rust was a problem in practice.
    11. oneshtein ◴[] No.41839040{3}[source]
    It doesn't match my experience with Rust. How much code you wrote in Rust?