News for hackers. Stuff that matters.
Re:Rust in 2022 by nicoburns on Wednesday January 12, 2022 @10:17AM (#29907495)
One might argue that one of the problem with C is lack of good resources teaching that theoretical knowledge. For example, the Rust book has a great section teaching the difference between the stack and the heap. Most C resources I have tried to learn from in the past have just assumed that I would learn that sort of thing by osmosis.
Re:Rust in 2022 by wheelerof4te on Wednesday January 12, 2022 @10:27AM (#29907636)
Theoretical knowledge is aquired at an university or by reading a book on computer science. Then, you apply that knowledge when you use C or Rust. It is good that Rust book teaches about some CS concepts, but that is not a job of a book about Rust and can be considered a bonus.

To really learn about the innerworkings of the CPU, you must read a book about...the innerworkings of a CPU.

Re:Rust in 2022 by adwn on Wednesday January 12, 2022 @11:15AM (#29908563)
> To really learn about the innerworkings of the CPU, you must read a book about...the innerworkings of a CPU.

But C doesn't map to the "inner workings of the CPU", it maps to a certain abstract machine, defined in the C standard [1]. If you think that C maps to an actual CPU, you're already using C wrong, and it probably shows – in the form of undefined behavior bugs.

[1] standards, actually, pick your preferred version

Re:Rust in 2022 by nicoburns on Wednesday January 12, 2022 @10:49AM (#29908049)
> To really learn about the innerworkings of the CPU, you must read a book about...the innerworkings of a CPU.

That's simply not true. There are all sorts of learning resources that aren't books. I have personally learnt a ton about the inner workings of CPUs by following the /r/rust subreddit for example.

Most program languages are accessible to people without a university degree or the desire to read a doorstop book on the subject. C and C++ are a notable exception to this. I don't know how you can argue that a language is easy to learn whilst simultaneously holding that it requires a university degree.