←back to thread

205 points michidk | 8 comments | | HN request time: 0.998s | source | bottom
Show context
baq ◴[] No.41835199[source]
As expected, the people problem is the biggest factor. Turns out getting C folks to learn Rust is a difficult proposition (hello, lkml) but the other way around it isn't too much of a problem.

I wonder how much of it is low-level experienced developers only ever using C fail to see that C is not the universally best tool (or, 'if all you have is a hammer, everything looks like a nail' question).

replies(5): >>41835262 #>>41835561 #>>41835870 #>>41836074 #>>41836108 #
dunefox ◴[] No.41835262[source]
> I wonder how much of it is low-level experienced developers only ever using C fail to see that C is not the universally best tool

I'd say that's it. From my own experience with software developers, convincing some of them to learn something new is practically impossible.

replies(3): >>41835349 #>>41837027 #>>41840580 #
marcyb5st ◴[] No.41835349[source]
I generally speaking agree, but I would be more specific:

If the person in question has a true passion for the craft, you can regardless of the age/seniority of the developer (at least in my experience). In fact, learning something like a new programing language is a big undertaking and if your work doesn't offer incentives/rewards the will has to come from the person him/herself and so that's why the passion bit I mentioned above.

In my experience I also notice that more senior/older devs are more reluctant to learn new things, but I am unsure if that's due having their passion destroyed by many years of bullshit companies politics, pointless meetings/trainings, and adherence to the latest flavor of agile development every quarter or simply an age thing (I'm not there yet and so I can't tell first hand).

replies(2): >>41835492 #>>41835973 #
1. Lanolderen ◴[] No.41835492[source]
Would this not also be partially connected to not wanting to throw away your 15 years experience with C for 1 year experience in Rust assuming the company actually ditches C? (or any other direct replacement language/tool scenario)

Sounds like a way to replace yourself by 2 low pay students who also have 1 year of Rust experience.

replies(3): >>41835609 #>>41835679 #>>41836004 #
2. nsteel ◴[] No.41835609[source]
I'm genuinely surprised there are Rust developers out there that don't know C. Perhaps I'm showing my age, or my ignorance to how much CS education (even self-taught) has changed.
replies(2): >>41835851 #>>41837660 #
3. marcyb5st ◴[] No.41835679[source]
I honestly don't see as throwing it away.

The more you know the better software engineer you are with everything else being equal (IMHO).

Also, if you need to gradually add rust to an existing codebase the C knowledge is extremely valuable.

4. Lanolderen ◴[] No.41835851[source]
It's still thought but it's mostly a pointer course from my recent experience. It's a low credit subject where you play around with arrays and strings, maybe there will be an overflow calculation as well. Whereas something like Rust you'd do in a high credit course project where you have freedom over the tech stack and actually produce something with functionality.

Edit: My point with the replacement is not that juniors don't/won't have C on their CV but that a manager would be more willing to replace an experienced dev with 1 year exp in the current tool with 2 worse devs also with 1 year exp in the current tool compared to replacing an experienced dev with say 10 years of experience in the current tool with 2 worse devs with 1 year experience in the current tool.

replies(1): >>41836278 #
5. sgu999 ◴[] No.41836004[source]
That's really just being a Luddite, I understand the mindset but that's a very poor strategy if one cares about job security. A (good!) senior developer has a ton of value outside of the pure mastery of a language specs, not to mention that learning a language for 1 year with 15 years of prior knowledge really doesn't lead to the same level as a student who does the same.
replies(1): >>41837076 #
6. nsteel ◴[] No.41836278{3}[source]
I understood (and agree) with your original point. My comment about not having C experience/knowledge came from the article, where it really did sound like just that.
7. netdevnet ◴[] No.41837076[source]
That kind of value only matters as long as you can find an ecosystem of companies that can be convinced to pay you what you think that value is worth. Many companies can't be convinced to do so and the companies that can are overflown by candidates smarter than you that have regular contributions in top rated github repos if they haven't made super popular frameworks and libraries
8. jcgrillo ◴[] No.41837660[source]
I studied physics, not CS, so I can't really speak to the CS curriculum part. But I am someone who has written rust professionally for a few years so I'll describe how I got there. I think the most experience I've ever had with C was writing a fourth order Runge-Kutta routine and calling it from python for a college project. Maybe 20 lines of C? In industry for the first 5yr I wrote lots of python and java code for web APIs and "big data" systems. Simultaneously around 2015 I started getting interested in rust because it seemed interesting, and like it would probably play a big role in the next 20yr--memory safety without a garbage collector is inherently compelling if you've spent time trying to make java GC act right. Eventually I got a job which was a full time rust gig. After about 3 years of that I ended up in a golang shop. So I've written some tens of thousands of lines of rust and only a few lines of C. I read C, but it would take a while for me to get comfortable writing it. But I wouldn't, probably, because I can use rust instead.