In my better world, programming language designers have been studying usability since the 1960s, and every new language worries as much about usability as it does about memory management or concurrency.

In my better world, language designers worry about package management as much as they do about type systems. Or maybe more—no, definitely more.

In my better world, scientists don't create new file formats every time they sneeze.

In my better world, people have implemented mailing list throttling to limit the number of messages one person can send per day so that quieter and more thoughtful people have a chance to keep up.

In my better world, every professional programmer reads great books like these ones as part of their training, along with informed analyses of real software architectures.

In my better world, the standard undergraduate course on software engineering teaches students how to gather and analyze data from real projects. They then expect arguments about design patterns, agile development, and the like to be backed up by evidence instead of shouting.

In my better world, image coordinate systems put (0,0) in the lower left corner.

In my better world, the ACM and IEEE have been leaders in adoption of open access publishing instead of laggards.

In my better world, computing education research gets as much funding as data science, because people believe that teaching children to program is as important as getting them to click on ads.

In my better world, everything uses a USB connector—including my iPhone.

In my better world, we used the Internet to create federated systems instead of unaccountable single points of failure.

In my better world, I can get through a weekend's reading without being reminded of every one of these shortcomings of ours.