September 17th, 2005


Computer Science is JAVA

Come Monday, and I am back to `teaching' Java ... Oh, how I hate this stupid language!

It seems programming languages too have personalities, just like human beings. You simply can't stand certain languages; and you will love certain others. I personally abhor Java and C++ and love Python and C; it's difficult to do precise technical comparisons of languages - but just like it is in love, there seems to be some kind of `chemistry' between the programmer and his language(s). I had started using Python a long long time back, and it was almost love-at-first-sight. I am happy to say that my devotion has stood the test of time - I still adore Python and consider it to be THE Best language in existence, surpassed only by C in the domain of systems level programming (where C is still unmatched).

Meantime, I watch with amusement as hundreds of our great would-be Software `Engineers' go after Java/Javascript/J2EE as if that is what Computer Science is all about. Forget algorithms, forget Don Knuth, forget Edsger Dijkstra - Computer Science means JAVA.

Computer Science is also .NET - one of our englightened universities (in Bangalore, the Silicon Valley of India) has started a M.Tech in ".NET technologies" to create future engineers who can take India forward on the dot-netty road to techno super-stardom.

There is nothing wrong in learning bread-and-butter stuff; but what I find horrifying is that many of the guys who learn these pedestrian things sincerely believe that they are learning `cutting edge technology'. Even though we don't teach or learn Computer Science in our colleges, I think our students should at least be made aware of what `real' Computer Science is; that's the minimum we can do.

I think every Computer Science classroom should display this quotation prominently:

Computer Science is no more about computers than astronomy is about 
The very first lecture on Computer Science should be devoted fully to explaining what this quotation really means.

It's time for me to revise my Java once again .....