A very sad week so far, Tim Bray says it better than I would so I’m just going to quote him:
Some things we now know to be good ideas:
- Writing operating systems in a compiled machine-independent language
- Performing file I/O by reading, writing, or overwriting integral numbers of bytes at integral offsets.
- Creating processes by duplicating existing processes.
- Null-terminated byte strings.
- Investing a substantial proportion of programmers’ time in building tooling to make themselves more productive.
- When explaining a new programming technique, starting with “Hello, world”.
It’s hard to believe that there was a time when any of these weren’t conventional wisdom, but there was such a time. Unix is composed of more obvious-in-retrospect engineering design choices than anything else I’ve seen or am likely to see in my lifetime.
It is impossible — absolutely impossible — to overstate the debt my profession owes to Dennis Ritchie. I’ve been living in a world he helped invent for over thirty years.