I've figured out something about evolution and how it relates to software, and I think it's time to try to write it up. #
It goes back to a puzzling statement made by Neil deGrasse Tyson in his Cosmos series. He said that human eyes evolved when our ancestors were fish and thus are designed to see under water, and don't work nearly as well in the air. You might think that evolution would fix that, but it doesn't work that way. Evolution never goes back. Evolution never fixes a mistake. We just muddle through somehow with what we have. #
Now I'm not a biologist so I can only guess why it works that way, maybe someone reading this is more savvy and will correct me. Basically evolution can't revise the design of our eyes because to do so would require a mutation that has no eyes, so it could re-evolve eyes the way the first fishes did. But that eye-less animal, which no doubt has existed, would have to have a survival advantage over humans with eyes, even the flawed ones we have, but such a creature would not have a survival advantage. So we're stuck with our inferior fish-evolved eyes. I think that explains why evolution can't fix past mistakes. #
Then I came across something I posted on Facebook a few years ago, imagining that a programmer from the 80s had time-traveled to the 2020s and wondered why we used such crappy writing tools, when in the 80s we had a remarkable variety of excellent writing tools. In evolution terms here's my theory of what happened, and I admit I'm vastly simplifying this, I know a lot more about it because I lived through it, and made software in this period, and until recently was puzzled why some ideas took off and other good ideas did not. #
In the early 90s a technological asteriod hit the software world called the web and wiped out all the GUI apps. To access the new network (the asteroid) all you needed was a web browser. And that was all that survived from the desktop operating systems of the 80s. The server operating system, Unix, came to dominate because it had the networking that the new world evolved from. The creatures from the network survived, the ones that lived on GUIs did not. To the animals that lived in UnixWorld, the web looked pretty amazing. But they liked their editors, and didn't see the need for anything more. Further, the desktop writing tools couldn't do the things a Unix programmer needed to do. So they just kept using the ones that came with Unix, Emacs and the like.#
Evolution could have taken a different path in regards to eyes and writing tools. If the first life evolved on land, our eyes would see much better in air. If the Macintosh developed open and easy networking as Unix had, making the switch to the web unnecessary, ad we could have kept using all our wizzy writing tools. #
Looking back, it seems obvious now why some of my ideas caught on and others didn't. For example, the idea of editing a website in a browser, something I called Edit This Page in 1999, an idea that evolved into blogging, then Twitter and Facebook and all the other stuff we edit in browsers or browser-like environments (iOS and Android). That thread had a long life. But editing a blog in a word processor or outliner, for example PageMill or FrontPage, desktop apps which everyone thought would be used, didn't go anywhere. They weren't of the web, so it wasn't continuous with the Unix philosophy, they were part of the species that were wiped out by the asteroid, even though they came about after the asteroid hit. The ecosystem they depended on was no longer viable. #
Similarly, much more powerful programming and runtime environments were possible, but didn't catch on like Python and JavaScript et al, again because they weren't of-Unix. Even if they borrowed big ideas from Unix but were still tied into the GUI philosophy, that made them unusual, not on the mainline of evolution. #
The general rule is this, you can't go back in time and redo a decision. What's done is done. Build on the stuff people use and your ideas have a chance.#
Last update: Saturday March 5, 2022; 10:03 AM EST.
You know those obnoxious sites that pop up dialogs when they think you're about to leave, asking you to subscribe to their email newsletter? Well that won't do for Scripting News readers who are a discerning lot, very loyal, but that wouldn't last long if I did rude stuff like that. So here I am at the bottom of the page quietly encouraging you to sign up for the nightly email. It's got everything from the previous day on Scripting, plus the contents of the linkblog and who knows what else we'll get in there. People really love it. I wish I had done it sooner. And every email has an unsub link so if you want to get out, you can, easily -- no questions asked, and no follow-ups. Go ahead and do it, you won't be sorry! :-)