Should a computer science degree require learning C?
marc:
A software engineer that has first hand understanding of the vagaries of pointers, type casting, memory management (and fragmentation), and even OS internals (whatever the OS) will be better able to appropriately research and choose from PHP, perl, ROR, or even Ada. C (or some other suitably “dangerous” language) can facilitate learning these.
BUT, what about the CS major that is focused on human-computer-interaction, math theory, or other research-oriented areas? Then whatever languages that compliment those goals are the “right” ones.
Learning C doesn’t just teach you syntax or a particular library. It teaches the fundamentals on which nearly all other languages are built. It’s as close as you can get to what the hardware actually does and still remain productive. […]
You can get along just fine without knowing C and its concepts. But your skills and knowledge reach an entirely new level when you fully understand what the computer is really doing.