After Joel Spolsky’s famous rant about how Java isn’t hard enough to teach computer science, here’s a fresh idea about the best teaching language.

read more | digg story | original story

I was immediately attracted to these two articles because, you guessed it, I’m a dork. Not only that, but they hit close to home. I was brought up in the Computer Science world using primarily Java. If for some reason you didn’t read both articles, that’s OK. The gist was that Java isn’t a hard enough language to weed out average programmers from great ones. The original Spolsky article says that unless students are able to wrap their head around poiners and recursion, they’re maybe not fit for the CS field.

As I said, this hit close to home and also threw in an insult. Sort of. I say that because I didn’t really feel insulted after reading the article. I found myself agreeing more with it than anything.

At St. John’s, the first few courses do teach machine code and assembler. This is a good thing, according to Doug Ross’ article. Therefore, I don’t feel totally insulted. Thinking back to my college programming days, I can remember struggling through machine code and assembler and also pointers and recursion, but being a CS TA, I got to revisit the material often enough. In the end, I felt more confident with the concepts. The same goes for Java. As I was taking higher level programming courses, I was TA’ing the intro to Java classes. The review I got from that job was priceless.

I’ve said this before. I went to school and now work with or know many CS or computer people who can only tolerate so much. They say they spend hours upon hours on a computer at work and don’t feel like using one at home. Bah! That’s not a real computer dork. Now granted, I’m not programming all day at work (though I do sneak some in), so I can’t speak for those who do. But I know that someone who can and enjoys spending much of their time on the computer can only benefit from the time.

Now was I lazy in college? Yep, probably about as much as possible! Do I feel lazy for learning Java? Somewhat. I always saw C/C++ as a more useful and widely used language whereas Java made me feel like I was wearing some sort of training wheels. The big question is, do I feel like I’m one of the mediocre programmers or one of the above average ones? On one hand, I feel the dedication I have to computing says a lot. Then again, I haven’t done a whole lot of real world programming on what I’d call “mission critical” code. Yet I find many of my peers turning to me for help, so maybe I shouldn’t short change myself so much.