??? 01/24/08 00:41 Read: times |
#149890 - Wrong... Responding to: ???'s previous message |
I wish you were right Jeff, but I hate to tell you this - you're not. I recently graduated from undergrad and am currently a PhD student in EE. I guarantee you that at 95% of schools in the US (including the top ones) you can escape with a B.S. in CS and never code a line of C. You can walk away only knowing Java. That implies you can walk away and never see a pointer. Most CS students that finish undergrad and don't go on to graduate programs today have very very little understanding of the underlying hardware/computer architecture/compiler structure. Java/PHP/etc are "sexier" and are more focused on. Back in the day people learned assembler and architecture and then C. That doesn't happen anymore. The math classes you refer to aren't requirements anymore. You don't need to know calculus to be a CS major anymore. I've seen the "leaky memory" problem Dewar describes in industry (I worked before grad school) time after time. It's no wonder when a language like Java has built in garbage collection and you don't ever have hands on experience with calling free. Most of these programmers don't care about a silly memory leak. "With all the hardware resources, who cares!" That's not OK. While most people do take at least one course in the "ugly stuff" aka algorithms, math, etc, it's so hand wavy and under emphasized that students don't care. The result of teaching such a high level language like Java first is that by the time students take a course on computer organization they don't care about "that low level stuff." The stupid adage about how the average programmer writes n lines of code a day regardless of the language is told to these kids so they say "screw it, I might as well make some awesome graphics!" The result is that they use libraries that (hopefully) smart people have written with zero appreciation for the actual implementation of the library. |