It’s been 35 years since I first wrote a program for someone else to use. A lot of things have changed:

What Then Now
Documents nroff Markdown
Data lines of text/regular expressions JSON
Visualization What’s visualization? SVG
Glue Pipes HTTP
Code C JavaScript
Testing Um… xUnit/CI
Sharing Tar files HTTP
Answers man pages and Usenet Stack Overflow

A lot of things have stayed the same, though. For example, there isn’t a row for “editing” because most programmers don’t do anything with their fancy IDEs that I didn’t do with Vi in 1982, even though those IDEs ship with tools that I would have considered magical.

So: what am I missing? Back then we used ASCII; today we (kind of) use Unicode, but I don’t think that’s as fundamental a change as the shift from mailing TAR files to sending HTTP requests. What else is big enough to belong on this list?