Monday, May 18, 2009

You Cannot be a Programmer Without Understanding Computers

In The Perils of JavaSchools, Joel Spolsky pretty accurately describes the problems with a lot of programmers who are coming out of colleges today. Back in the mid to late 1980s when I was in college, C++ was brand new and Java didn't yet exist. Most classes still used Pascal, though C was becoming more and more popular. The thing is, our classes back then mostly taught concepts, not languages. I even had to take a hardware digital logic class. (Much fun!) The only classes I really remember are Assembler (IBM 370 assembler at that!), Data Structures (taught by Jeff Harris, who last I heard, went off to a very well paying job at Motorola after being let go (!) by a university that obviously didn't appreciate the tremendous value of his teaching), Systems Design, where we wrote a software coputer and then later an assembler and linker for it. Everything else was fun, but just entertainment. Those three classes are the ones where I learned stuff that became the foundation for everything I've done since then. The sad thing is now, none of those classes are even offered, much less required.