←back to thread

205 points michidk | 4 comments | | HN request time: 0.817s | source
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 #
gwd ◴[] No.41835305[source]
This question of "what tools / languages" should we use was introduced to me (during an interview, actually) as "technical strategy". There is more to the choice of language or tooling than whether it's fast or slow or reliable at one instant in time -- you have to ask how you will grow and maintain things going forward.

That said, obviously all languages were in that state at some point. Twenty-eight years ago you might have said the same thing about Java. Twenty-four years ago, Perl might have looked like a better choice than Python; now it's clearly the opposite. XenServer took a gamble and wrote their main control stack in OCaml in 2008; on the whole that has had some benefits, but the number of OCaml developers has not significantly grown, and it's not easy to hire people.

That said, I think Rust is much more likely to follow Java's trajectory than OCaml's: My prediction is that it's only going to be easier and easier to find Rust developers.

replies(11): >>41835318 #>>41835619 #>>41835744 #>>41835903 #>>41835951 #>>41837013 #>>41837218 #>>41837495 #>>41837561 #>>41838356 #>>41840370 #
acomjean ◴[] No.41835951[source]
I don’t love Perl, but we have 10+ year old Perl scripts at work that work fine.

The python scripts of the same vintage have to be reworked because python versions and importantly supporting libraries have changed.

This is mainly because Perl hasn’t changed, with the failure of perl6 to launch. But it’s an interesting comparison.

I’ll agree Rust will be like like Java.

replies(3): >>41836648 #>>41837352 #>>41840408 #
1. adamc ◴[] No.41840408[source]
I dunno. Java was pretty easy to learn for its first decade. Eventually, the complexity of Java and, especially, its toolchain ballooned. By then there were already a lot of Java developers, though.

Rust is a different beast, much more complex from the outset, and not trivial to learn (as Java was). It will grow if that's where the best jobs are, but I don't think it is going to grow in the way Java did, because the difficulty and dynamics are different. There was a good stretch at the beginning where Java was both very helpful on your resume and really easy to learn.

replies(1): >>41844626 #
2. tadfisher ◴[] No.41844626[source]
The real comparison is between Rust and C++, even though folks seem to be pushing Rust for web services and internal tooling. And modern C++ is an absolute monster in terms of complexity, often just dancing around problems that Rust solves pretty elegantly with ownership and lifetimes.
replies(1): >>41846717 #
3. pjmlp ◴[] No.41846717[source]
However that comparision misses that C++ is reaching 50's, while Rust still isn't allowed to drink.
replies(1): >>41855991 #
4. phi-go ◴[] No.41855991{3}[source]
What's your point? Doesn't it only matter where things are now, not how long it took to get there? Or is this about more people knowing C++?