|Friday, 24-Jun-2005 00:00
The problem with moore's law.. and cure for innovation's limit?
Gordon E. Moore predicted in the mid 60s that computer "calculating power" (to put it in lemans terms) will double every two years (due to technological advancements). This is called today http://en.wikipedia.org/wiki/Moore's_Law(Moore's law).
Naturally we are happy that computers are faster. I will even grant that its a fast enough "speed" growth rate. However, the fundamental problem is - computers are usually half as strong as we need them to be ;)
The reason for this is quite simple - we always want more than we can get. To put it in mathematical terms, we always want twice as much as we can get. Some will stipulate that its 3 times more, or 4 or 20.. the fact is - its more. It is true for most (not all) of things in life, certainly for technology related issues. We need twice the hard-drive space, twice the memory on out servers, twice as much MP3s in a CD, twice as many pixels in our digicam (although if you ask me, 5MegaPixels is enough 8-) ).
But especially when developing new tools and services, I never had a situation (certainly not for long) where what I had to deal with was strong enough, or big enough, for what I (eventually) wanted to do. When I was six years old, I got my first personal computer. It was a Sinclair ZX81, with the funky memory expansion card that you had to be careful not to sneeze in its direction or you will loose all you worked on for the last hours (it was right in the beginning, before Sinclair developed the tape drive for it). Back then it was amazing, you had to connect it to your TV and after 4-5 minutes of looking for the TV station of the computer, you saw a blinking cursor and once you pressed the keys, a http://en.wikipedia.org/wiki/BASIC_programming_language(basic) language appeared. I later learned that a special keyboard key combination brings you to the http://en.wikipedia.org/wiki/Assembler(assembler) editor (more accurately machine-code). However, I think the reason for me finding it was that I was frustrated and banged the keyboard randomly because it was all so slow. Later on when I started programming in Assembler it solved my frustration (for a short while only though) since it was "stronger". Although it took me weeks to program anything useful, it could actually write things that run in relatively "human" times.
Naturally, if my expectations/demands were reduced, maybe the "horse power" of a server would be enough, but why limit ourselves by trivialities such as "CPU speed", or "memory", or "http://en.wikipedia.org/wiki/Front_side_bus(Front side bus speed)"?
which brings me to the conclusion that if we had strong enough tools, we would see a bloom in innovation - at least the "practical" one, since theoretical one needs little tools really. Certainly to an extent.
Think about it... if we didn't have to spend hours trying to make some SQL select a bit faster so that we dont fall asleep while a select takes place.... we would have time to deal with the more important things...
On the other hand, maybe dealing with such painful nitpicking issues brings out another form of creativity from us? $-)