Monday, October 6, 2008

New era of computing is right ahead of us

Did you notice? It's slowly happening. It actually started happening 6 years ago but almost noone noticed it back then. It should be more obvious now...

Computers are at the point of no return. Soon this laptop I'm typing on right now will be thing of a past. A past we'll remember. 30+ years of Von-Neuman technology will soon be looked back at as the era of spectacular achievements, big success stories and amazing evolutionary steps. It is what I think the peak of this computer era. Multicore CPUs are common these days, computer clouds are popping up just about everywhere, everything is connected. How long do you think current technology (which is based on 30 years old foundations) can keep up? Ever increasing CPU clock speed and number of cores, memory hacks to bypass old screwups and similar fun stuff. Where does it all stop?

Let's take your bank for example. You're sleeping sound knowing your bank accounts are safe. Software you're using to manage your bank accounts is brand new addon to few year old system which manuals are long out of date. They just slapped web interface on to it. But under the hood there's still 80x25 style text mode interface which show it's real age. 10+ years old at least. Sure, system is tested, secure and it works. Why change it? Good point, read on.
Video Floppy Disk from Canon.
Remember those 3.5" disketes? Still using them? I don't think so. They were safe bet and they worked. CDs anyone? No, we just have DVDs now. See the pattern? Hardware is changing and is changing very fast. Bet you can't play latest 3D shoot-em-up on your computer without hardware upgrade.


My point is software will change. It has to change to be able to cope with hardware. Your Java or C++ or .NET application is probably using threads already but that's not good enough. You're puting a nice image on your customers eyes and sooner or later they will look trough it and see the real situation, much like what Neo saw in the matrix. Can you imagine having few thousand CPU cores on your desktop computer? No? Few years back noone could imagine computers in every household. "What would ordinary people need computer for?" Rings a bell? Can you truly manage few thousand threads in your current application? How about 20.000 or 50.000 threads?

We, progammers, still have few years to adopt. To make sure we won't be forgotten. To learn. I don't propose we drop all what was done till now. This is good software and we need to stay "backward compatible". But we should look ahead and try to see what's comming. I have hard time imagining programs will run in a single thread on single computer on one location. What it will be like? I don't know. But next 20 years will be fun to watch and participate.

No comments: