The Best is Yet to Come
Imagine that you had a magic parts bin with an infinite supply of instantly available free components for almost every function; just think what you'd be able to build! That nirvana is already available to those of us who "build" software. Computing power is cheap and getting cheaper; the price of data storage is coming down; and software "components" – scripts, subroutines, code packages, libraries, open source operating systems – are free.
As a programmer, I'm Rip van Winkle; didn't write code for seventeen years and now I've started again. All the young hotshots who were just learning to eat solid food when I last programmed take all this free code for granted; to me it's a wonder. Even at my age, I can build much more interesting stuff in a day of coding now than I could in a week the last time I was doing this – all because most of the functionality I need already exists for free picking off the web. I just have to find it (usually with Google), download it, understand it, lash it together, add a little secret sauce (which I promptly make open source), debug to alpha, and voila.
It's not that us ancient programmers didn't understand the value of code libraries and reusable code. When I ran a software company, I insisted that we componentize and build a subroutine library to make the next project easier. We negotiated contracts with our customers which allowed us to retain ownership of code that wasn't product specific so we could reuse it. We even kept the software library as an asset on our books – albeit a fast-depreciating one.
We got a competitive advantage from reusable code; so did anyone else who succeeded in the software business. Libraries were a huge asset when I was at Microsoft – and one that Microsoft had every right to.
Developers of new machines and new operating systems learned that making rich code libraries available to developers meant more applications would get written for their platforms. The Macintosh would never have succeeded if there hadn't been vast quantities of sample code to speed and guide our development for this new environment. BTW, most of this code came on floppies; some could be downloaded over our painful dialup connections.
I'm sure companies still have their own libraries of reusable code and benefit from them.
But now all the private libraries are dwarfed by the cornucopia of free code on the web. The first beneficiaries of this largesse are we programmers. Rather than diminish the need for programming, it makes each one of us much more valuable in terms of what we can produce – and produce very quickly. The ultimate beneficiaries are the computing public – which is anyone with a watch, a cell phone, a DVD, an modern appliance, or a computer.
Reusability of code is a network phenomenon: its value grows with the square of the number of people who are contributing and sharing. We've only begun to reap the benefit of global code sharing. The best is yet to come!
Comments