Re-read Fred Brooks “The Mythical Man Month” over vacation. Book remains insightful about computer science and project management.My spin on some points:
- System architects once were the people who said “no” to features to maintain design consistency and coherency. Now architects are the people who buy and bring in external frameworks and technologies (killing any chance of consistency or coherency). Kind of like the Fahrenheit 451 quote “I remember firemen used to fight fires.”
By far the thing that aged the worst was the reverence for the WIMP (windows, icons, menus, pointing) paradigm. At this point I think we can argue that WIMP codified a lot of provably bad decisions: desktops, icons, menus and mouse out of visual field. Maybe some of the ideas prior to WIMP (like SAGE’s light-pens) or after WIMP (application launcher noun-verb theories like Quicksilver, search, touch pads, full screen apps, versioning and not forcing the user to adapt to the file storage abstraction) are actually much more fundamental. I think we all were seduced by the 1968 Engelbart demo but forget that the Semi Automated Ground Environment was a production deployed direct (light pen) multi user information sharing point and click system since 1959.
SAGE station, Computer History Museum- Mountain View, CA
Most everything else ages very well. The discussions of pain of having to work “out of core” remain relevant as this is what we now call “big data” (though in Brooks’ time this pain extends to documentation, source code and binaries all of which are too big to hold in memory or even in machine accessible format in the time of the IBM System/360).
Though in the old days- “out of core” meant punched cards, punched tape, magnetic tape or very slow hard disks (which were a new luxury for the period Brooks writes about).
SDS 920 with built in tape-drive, Computer History Museum- Mountain View, CA
- Linkers were among the biggest problems in the 1960s and remain the so now (though we now call it late binding, jars, shared libraries and APIs). At one point Brooks throws up his hands and says that it would be faster to just re-compile everything than to deal with some relocating linkers.
- Brooks definitely advocates and anticipates things like developer wikis (though he had to use microfiche as the computers of his day didn’t have enough storage to manage their own documentation).
- “Literate Programming” is clearly anticipated.
- Version control procedures are definitely written about, but Brooks seems not to anticipate version control software.
Overall: very well written and still interesting and relevant.