3 ms·
"and why should be it?" I think you answer your own question. I was going to reply to the the parent post, but I'll say it here. I find it barking mad that you
by RogerL 13y ago
"and why should be it?"
I think you answer your own question. I was going to reply to the the parent post, but I'll say it here. I find it barking mad that you can get a 4 year degree without using C or close equivalent. How else you do really understand how the machine works, how do you debug difficult hardware problems, how do you.. you get the idea.
The counter argument is that University is not trade school. Sure, but you need to understand the fundamentals. While I intensely dislike how Knuth uses a made up assembly language for his books, he has an important point - we really do need to understand how things are implemented under the hood, either because we are the ones implementing what is under the hood, or we have to understand which of many choices to use, and/or to debug problems when they come up. And that is not a detail, it is a fundamental aspect of being an engineer.
I witness people, when I ask them "why is X happening", respond with guesses. I don't mean they say "since Y and Y, I suspect Q", which is a reasonable utterance for an engineer. I just get "Q". You press as to why, and like startled birds they flush and you get "well, maybe R, or it could be P. Yes, it's P".
Whether it is a "science" degree or "engineering", we need to understand systems, and have experience with them. Reading a book about heaps only takes you so far. If you haven't implemented, say, a simple file allocation system, debugged some pointers, stepped through the allocation and deallocation of memory, looked at the assembly generated from your code, and so on (these can reasonably be replaced with other, equivalent experiences of course), how can you really understand computers?