←back to thread

205 points michidk | 4 comments | | HN request time: 0s | source
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 #
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 #
1. 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 #
2. 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 #
3. nsteel ◴[] No.41836278[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.
4. 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.