this post was submitted on 21 Feb 2025
209 points (94.5% liked)
Technology
63082 readers
3509 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each other!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
- Accounts 7 days and younger will have their posts automatically removed.
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
As do I. I could jump into a modern C codebase and feel comfortable. I've worked on microcontrollers, built servers (UDP, TCP, and HTTP), and worked with cross thread communication. If I know what I want to build, I can achieve it with C. Maybe not as quickly as someone who works with it every day (it has been a while), but within a month I'd be back in shape.
I feel the same about Python, Go, JavaScript (both on server and FE, either React or straight DOM manipulation), and Rust (I use it for personal projects extensively). When I write C++, it usually turns out like C with vectors and smart pointers, so I'll add that in as well. Except for Rust, I've used all of these in a professional capacity (and I did technically do a couple POCs in Rust). I could list a bunch of other languages I'm less confident in, but could also use professionally if needed without needing to study first.
I'm not suggesting they go out and do the same, I'm merely suggesting that when an option comes along that solves some serious problems they run into every day, maybe they should try it. Most of the languages I mentioned are useless for kernel development, so it makes no sense for them to bother with them. However, Rust is really interesting because it comes with some very compelling guarantees, and you don't get many guarantees when it comes to low level development.
If I told a kernel dev that I had a tool that can identify most if not all memory safety/soundness issues in their C code, they wouldn't hesitate to try it out. But if I ask them to try out Rust (same guarantees), they'll refuse. Why? Hubris and stubbornness.