« Perl, according to Larry Wall himself | Main | Vishy's Indian English Dictionary: bandicoot »
March 16, 2006
Bubble 1.0, Boom 2.0
In case you haven't woken up to smell the coffee, it's a very exciting time to be a programmer, especially of the Web variety, right about now. Startups are mushrooming around Silicon Valley and other places, in ways reminiscent of the late 90s tech bubble. That bubble was built around a lot of exuberance of dubious rationality, just because people wanted to believe in whatever they were investing in--if only due to cognitive dissonance ('so what if they don't seem to have a real business plan? Everyone else seems to be eagerly throwing money at them, so I should too'). Venture capital funding has been booming as well, and this time around investments are being made in ideas that are technically deeper and more fundamental than pets.com.
So what is the biggest contributor to the latest tech boom, Web or otherwise? Many cite the highly reduced cost of setting up a company these days. Bootstrapping software components that would hitherto take months to build are now freely available online because of the open source software movement. With the spread of broadband, these components can actually be downloaded off the Web by the general public, rather than being restricted to a privileged set of hackers at corporate and educational research institutions. This leaves Web developers free to spend more of their time dreaming up creative things to build rather than worry about how to get to a point where they can build them.
In addition to fundamental software components being more freely available these days, the computing technologies that support them have also come a lot further along. Java has finally matured into a fast, enterprise-grade platform with a lot of traction in the corporate and open-source communities. Other frameworks like PHP that were at best nascent at the time of Bubble 1.0 have become the stuff from which most small to medium sized websites are created. The endless river of Java frameworks streaming out of the open source community seems positively awful when one is wading in it; yet, the experience of having been knee-deep in a mire of configuration files and assorted JMumboJumbo has sharpened the design and esthetic skills of many programmers to a point where they are themselves creating easier languages and frameworks.
We're finally at a stage when the tech industry is realizing that programmer time is a lot more precious than machine time. Contemporary computers have become powerful enough that increased reliance on dynamic languages, which are relatively free of tedious compile-debug-deploy cycles, is not a major issue anymore. Development frameworks like Ruby on Rails take respect for programmer time to the next level by automating a lot of mechanical configuration work. Techniques like test-driven or prototype-driven development have been codified, which means that future generations of programmers will be raised in that tradition, rather than learning it by being knocked around and figuring it out for themselves. It's already a technologically exciting time to be a programmer, but indications are it will only get better, no matter how long the current boom lasts!
Posted by Vishy at March 16, 2006 09:01 PM