by Brian Ensink
18. September 2008 00:02
I have been reading through Robert L. Glass's book Facts and Fallacies of Software Engineering. In this book Glass presents a number of fundamental truths about software development.
While reading the book I am continually struck by how much historical perspective it offers. The software development industry is young but it has a history. Its helpful to have a good historical perspective to avoid repeating past mistakes but also to moderate expectations for the future.
For example, today there are scores of websites devoted to sharing small bits of useful code. Individual developers post everything from small code fragments to large sample applications and explanatory articles. One might think this is a new phenomenon made possible only by the emergence of the world wide web but in fact developers have been sharing code since the beginning and we can expect this will continue for years into the future. To illustrate this consider Fact #15 in the book about code reuse-in-the-small. Glass claims the very first reusable code library emerged in the 1950's and consisted of user contributed subroutines and a catalog of available code. To add more reference points to the historical timeline recall that Grace Hopper wrote the first compiler in 1952, and Fortran, Lisp, and COBOL were all developed later in the same decade.
Glass's conclusion of Fact #15 is that code reuse-in-the-small is a solved problem. I certainly agree and also think it shows sharing code is natural. Today of course we have to respect copyright law and software patents because code has monetary value, but scores of websites devoted to sharing small bits of useful code complement that value because its not so much the code that is being shared but the knowledge and experience behind it.