The most important software innovations
A captivating catalog of software innovations over time from David Wheeler that includes, among others:
- Babbage’s analytical engine, Boole’s algebra, Turing machines and von Neumann’s stored program concept
- Bush and Nelson’s Hypertext, Structured programming, Dahl and Nygaard’s Object-oriented programming, Codd’s Relational model and structured query languages,
- Word processors from IBM (and its later evolution into Rubenstein and Barnaby’s Wordstar), and Bricklin and Bob Frankston’s spreadsheets
- Dijkstra’s semaphores, Parnas’s modularity criteria, Hoare’s Communicating sequential processes, and Model-View-Controller from Alan Kay and others at Xerox
- Distributed hypertext via simple mechanisms from Berner-Lee, and Skrenta’s Computer virus
- Goldfarb, Mosher, and Lorie’s SGML as a precursor to XML
- Grune’s lockless version management (CVS)
It appears that there is room for some of the service-based innovations in the list over the last several years including but not limited to Fielding’s REST services.