As I write this column, I’m in the middle of two summer projects; with luck, they’ll both be i nished by the time you read it. One involves a forensic analysis of over 100,000 lines of old C and assembly code from about 1990, and I have to work on Windows XP. The other is a hack to translate code written in weird language L1 into weird language L2 with a program written in script- ing language L3, where none of the L’s even existed in 1990; this one uses Linux. Thus it’s perhaps a bit surprising that I i nd myself relying on much the same toolset for these very different tasks.
'''What’s Changed'''
Bill Plauger and I wrote Software Tools in 1975, nine years before IEEE Software began publication. Our title was certainly not the i rst use of the phrase, but the book did help to popularize the idea of tools and show how a small set of simple text-based tools could make programmers more productive. Our toolset was stolen quite explicitly from Unix mod- els. At the time, Unix was barely known outside a tiny community, and even the idea of thinking con- sciously about software tools seemed new. In fact, we even wrote our programs in a dialect of Fortran because C was barely three years old at the time and we thought we’d sell more copies if we aimed at Fortran programmers.
A lot has changed over the past 25 or 30 years. Computers are enormously faster and have vastly more memory and disk space, and we can write much bigger and more interesting programs with all that horsepower. Although C is still widely used, programmers today often prefer languages such as Java and Python that spend memory and time to gain expressiveness and safety, which is almost al- ways a good trade.