|
|
Subscribe / Log in / New account

WHAT?

WHAT?

Posted Aug 31, 2024 0:38 UTC (Sat) by Cyberax (✭ supporter ✭, #52523)
In reply to: WHAT? by rc00
Parent article: Rust-for-Linux developer Wedson Almeida Filho drops out

> An experienced engineer won't learn Rust in under a year.

This particular engineer learned Rust in about 2 weeks back around 2018 (IIRC). If you know C++, then it's a fairly straightforward process.


to post comments

WHAT?

Posted Aug 31, 2024 0:44 UTC (Sat) by rc00 (guest, #164740) [Link] (7 responses)

> This particular engineer learned Rust in about 2 weeks back around 2018 (IIRC). If you know C++, then it's a fairly straightforward process.

Are you suggesting that a sample size of one that can't be corroborated is statistically or otherwise relevant?

Professors I engage with don't even think the language could be taught in a full academic year to upperclassmen.

Which sample size is more relevant when extrapolating to the general programmer?

WHAT?

Posted Aug 31, 2024 0:59 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (3 responses)

We're not talking about general programmers, but about kernel developers, who have to intimately understand all the low-level complexities of programming. I just don't buy that it's going to take them significant time to learn Rust on a good enough level.

WHAT?

Posted Aug 31, 2024 11:49 UTC (Sat) by pizza (subscriber, #46) [Link] (2 responses)

> We're not talking about general programmers, but about kernel developers, who have to intimately understand all the low-level complexities of programming. I just don't buy that it's going to take them significant time to learn Rust on a good enough level.

Sure, except for the minor detail that "good enough level" _currently_ means "expert level in bleeding-edge Rust" on top of already being an expert in kernel-C and one or more subsystems. That isn't something you just pick up in a few weeks, even if you had no other demands of your time.

WHAT?

Posted Aug 31, 2024 18:07 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

> Sure, except for the minor detail that "good enough level" _currently_ means "expert level in bleeding-edge Rust"

You don't need to be a bleeding-edge expert in Rust to program for Linux. Just as you don't need to be Paul McKenney level of parallel-savvy to use the RCU mechanism.

WHAT?

Posted Sep 2, 2024 12:10 UTC (Mon) by taladar (subscriber, #68407) [Link]

You also don't need to be an expert in a language to fix some bindings you already changed and semantically understand in another language. Most of those changes are just things like an added field of a type that is already in use elsewhere or some extra parameter to some function, not a complete re-evaluation of every invariant in the system and how it is affected by advanced optimizations on obscure platforms.

WHAT?

Posted Aug 31, 2024 1:32 UTC (Sat) by roc (subscriber, #30627) [Link] (1 responses)

What it means to "teach a language" is quite ambiguous.

When you "teach" C and C++ to undergraduates they don't learn the full language and they don't learn to write reliable code. They just learn enough to get code that runs and which is likely chock-full of undefined behavior unless you run sanitizers as part of your grading process.

Teaching Rust would be harder, I agree, but the resulting code will be a lot more robust and I think the students will have actually learned a lot more and will probably be better programmers as a result, even if they end up using C++. Just like learning Hoare logic makes you a better programmer even if you never use it.

WHAT?

Posted Aug 31, 2024 2:30 UTC (Sat) by roc (subscriber, #30627) [Link]

Actually an interesting exercise would be to try to teach undergraduates to write a significant chunk of code for the kernel, some in C and some in Rust, up to the standards the kernel aspires to --- something you can throw fuzzers and sanitizers at. If the fuzzing and sanitizing finds a bug, don't tell them what the bug was, just tell them to try again.

I would bet good money that it is much easier to get the Rust group over this bar than the C group.

WHAT?

Posted Aug 31, 2024 1:40 UTC (Sat) by mussell (subscriber, #170320) [Link]

And how many of those professors have tried teaching Rust? From the way you're phrasing things, it sounds like 0.

Besides professors are probably the worst people to ask as, from my personal experience, they only tend to teach what that have been taught themselves. The C++ course at my university doesn't teach smart pointers, or really anything after C++98 since the prof never had to use them herself. Professors also don't tend to help out students struggling to debug their C code, nor do they mark the final code, that is of course well below their pay grade and is the job of humble student TAs.

And if you want to know just how well professors are teaching C today, go run `git log -i --grep='null pointer deref' --no-merges v6.10..HEAD` in your kernel source tree.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds