Software Antibloat

Back when dinosaurs roamed the earth, there was a Pascal development system for MS-DOS called Turbo Pascal. It was lightening fast, had a built-in IDE, and fit on a single \(5 \frac{1}{4}\) inch floppy. It even included the source for a fairly functional spread sheet written in Pascal. The whole thing cost \$50.

This was before reasonably priced—let alone free—C compilers were available so it was widely used and a lot of code was written with it. Given the size of practically any of today’s tools, it seems amazing that you could fit it on a single floppy. James Hague has an interesting post comparing the size of Turbo Pascal with some modern software related objects.

There are header files that are larger than the whole Turbo Pascal compiler/IDE, which for version 3.02 was 39,731 bytes. Yes, yes, today’s systems are far more complex and programs have to worry about operating in a GUI environment but consider that the binary for the Unix true command under MacOS Catalina is 30,944 bytes and all it does is return true (i.e. 0) when called. It doesn’t even do any I/O and it’s essentially the same size as a complete Pascal compiler and IDE. Here’s the code for the FreeBSD 10.0 implementation:

int
main(void)
{
        return 0;
}

which I’m sure is essentially the same as MacOS’.

It’s probably a mistake to try to draw any profound conclusions from all this but we should find it at least a little shocking as a graphic illustration of what software bloat really means.

This entry was posted in General and tagged . Bookmark the permalink.