On Tool Regression and Dark Ages in Tech

On August 31, 2024, Microsoft officially retired Visual Studio for Mac. This was the end of a lovely period when it was easy and pleasant for me to write C# code on the Mac. That journey began when the good folks at the Mono Project, originally owned by Novell, decided to port their Linux tools over to the Mac. VSMac was originally MonoDevelop, and in both its iterations it was one of the most pleasant IDEs I ever used. In its last few iterations VSMac had become more like its Windows step-sibling, a direction I did not especially like but could live with. As of this writing I can either try using the C# tools on VSCode (which is a fine IDE for Python and JavaScript but terrible for a language like C#) or use Rider which many devs prefer but which feels to me like the Java-based app it is.

If your career in tech lasts long enough, you will experience some Dark Ages -- periods when some idealized piece of tech either decays, or dies, or is replaced by something altogether inferior. One of the earlier examples of this feeling is documented by the authors of the Unix Hater's Handbook all of whom had to leave behind their sophisticated LISP machines for what they regarded as the barbarity of The Unix Way. As a young man I saw the Fall of OpenVMS, the deprecation of Resource Forks on the Mac, the horrible transformation of Ami Pro to Word Pro (and its eventual discontinuation), and the sidelining of eDirectory first by the inferior Directory Services of competitors and then by a seeming amnesia as to the entire concept of a Directory Service.

Technologies die for many reasons, and a taxonomy of these would be its own series of essays. For the tech worker, the reaction to an oncoming Dark Age can have implications for one's career. You cannot overly romanticize the tech that has gone because then you get stuck trying to bring back a past that is now inaccessible. But you cannot simply move on to the new thing because very often the new thing forgets the hard-won lessons of the past. Nor can you ignore the New Thing because sometimes the paradigm shift and advantages of the New Thing make up for the ways in which it is inferior to the Old Thing (The Cloud is rife with these tradeoffs). You have to tread carefully and figure out what is worth adjusting to within your current skillset or career path and when it is best to go down an entirely different road. For example, if you used to maintain the on-site e-mail for your organization you might have taken pride in maintaining products that had advantages over Gmail and Outlook.com. But eventually you probably had to migrate to one of those two because either your users demanded it or because mail delivery to these titans became too difficult due to the various anti-spam hoops that they make you jump through. Do you then became an admin for these two products, or do you hand those duties over to a junior teammate who can deal with the lesser admin overhead? You can then spend your time working in Containerization or whatever else is coming along. (Yes, I realize this is a really contrived example and you are probably the sole sysadmin and you do not have this sort of luxury. Just go with me a little ways here.)

I am excluding from this meditation times when the new and old ways can co-exist but the hype is on the New. The Single-Page-Application and its great-granchildren in JavaScript Framework Hell can still exist with plain HTML and VanillaJS. I am also excluding pure hype (i.e. NFTs) rather than the merely overhyped (Kubernetes).

The most frustrating thing about tool regression, Dark Ages, and all that is that about the time that things really go downhill you can just see the perfect version of the thing on the horizon. Search engines kept getting better throughout the 90s, and then about the same time both Northern Light (powered by OpenVMS) and Google came along. Google survived and for many years it seemed like eventually Internet Search would be a solved problem. Except at some point Google search started to degrade and now it is pretty much a dead item (as I write this, I recommend Kagi as do many others). VSMac lacked a few features but I could see an upcoming state of perfection. And then Microsoft made it more like regular VS and then killed it.

You can also feel like you are going crazy, a lone voice in the wilderness decrying what has been lost. Thankfully it does feel like in the last few years a tribe of Hype Skeptics has grown up in various corners of the Internet who, while not always right, are able to expand responsibly upon the Dark Age thoughts that it feels you alone harbour.

Nonetheless, VSMac is at a dead-end (no more .NET runtime updates) and I have to decide whether to use a different tool, or use Windows, or not use C#. I have been writing a lot more Python, in a combination of Nova and Jupyter Notebooks on VSCode. That is partly because of the tasks and partly because of the tools. Xcode is still pleasant so maybe I'll write some web tools with Swift ...