In the beginning, computers were characterized by lights and switches. In what I call the "second generation," the first operating systems introduced the concept of files, linear streams of bytes on magnetic tape. The outstanding contribution of unix was to consider everything as files, including keyboard input and display output and even inter-process communication (which they called "pipes" but were still accessed exactly the same as files. Unix was developed at Bell Labs, which at the time was legally prevented from making a profit from it, so they gave it away to universities, where its simple and uniform linear way of seeing data developed a huge fan base, which persists to this day.
Because everything is a linear stream of bytes, program startup is also effected by a linear sequence of bytes (called a command line), and sequences of individual program startups could be strung together linearly as a file, which is called a "shell script" but it's still just a linear sequence of bytes. The whole operating system, or any part of it, could be programmed like a computer by assembling a linear sequence of bytes. Like natural selection to the Darwinists, it was an awesome and powerful insight in its day. It just doesn't solve all the world's problems -- nor even those problems its adherents wish it solved.
The third generation and major innovation was the idea of events, which broke computers out of the linear file model into a three-dimensional world of interconnectivity and real-time. The original Macintosh was the only commercially viable computer to be wholly in the third generation, completely and only event-driven. It is the nature and essence of a computer that it can be programmed, so the MacOS from the very beginning was designed so that any program could send events to any other program, although the ability to script sequences of operations was not exposed to ordinary users until System 6. This was not a shell script, because there was no command line to build into a linear file, but rather the events themselves could be saved and rerun to drive the computer. This is much more complex than just walking through a linear file, but it had awesome power.
Steve Jobs was more of a visionary than technical whiz, but he knew how to attract smart people and drive them to excellence. For business and legal reasons beyond the scope of this essay, Jobs was forced out of Apple, and he could not take with him his flagship innovation. So his next computer effort, built by the available smart people he could find -- essentially "fresh-out" college grads who knew and understood only the linear thinking of unix (I call them "unixies") -- was a unix system. Meanwhile Apple, after they retired the wizards who invented the Mac, replaced them with their own crop of fresh-outs who understood only unix and certiainly not event-driven systems like the Mac they were charged with maintaining. With Jobs also gone, Apple didn't even know how to attract smart people who knew what they were doing, so later versions of the MacOS became increasing garbled and unmaintainable. In a final act of desperation, they threw the whole system away and brought back Steve Jobs and his unix-based system.
But they could not abandon their customer base, so the unixies -- who still had no idea what they were aiming for -- painted a thick layer of whitewash over the unix system to make it vaguely appear to be event-driven, and called it "Mac" OSX. But under the hood it's still a linear-file unix system operating by command lines. Plaster is the same substance as whitewash only thicker, and talented artists can paint beautiful pictures on it called "fresco" but it's very flaky and no longer used by artists who know what they are doing. Most of the fresco work by Michelangelo and DaVinci and others of their time has crumbled into oblivion, whereas their three-dimensional sculptures in marble (and also those thousands of years older) still survive. OSX is like a fresco painting: it looks pretty on the surface, but it's flat and flaky and crumbles under pressure. The MacOS was more like marble, three-dimensional and sturdy and beautiful even without paint.
Take scripting, the end-all and be-all of computing. The unixies who designed OSX want and need to be able to script their computer system, but all the programs they want to use in their narrow-minded linear way of thinking are command-line-driven and can be scripted with a shell script. The paying customers live in a three-dimensional world, and they want and need event-driven software, so command-line shell scripts don't work for them. I guess the marketing folks at Apple noticed OSX's broken legs and came up with "Automator" as a kind of crutch to compensate for this massive blunder, but the unixie programmers have no use for it, so they botched it like the rest of the pseudo-event-driven whitewash that makes OSX look different from Linux. A person who wants to use what he is building will do a good job making it. I drive a car that was designed by guys who wanted to drive it, and I live in a house that was built by the guy who wanted to live in it. The quality is obvious. The MacOS was such a computer. So also was unix in its day, but it's 40 years out of date. That's 19th century in computer years.
So OSX is not really good unix (all that event stuff cannot be linearized into a stream of bytes), and it's certainly not good event-driven, because it cannot be scripted at that level. It's nothing more than a flaky whitewash, destined for the dustheap of history.
The bottom line is this: if you are narrow-minded linear-thinking 19th-century unixie fresh-out, OSX is as good as it gets. Everything you want to do is scriptable, and the Apple business model provides for funding to fix bugs. You might even discover that pointing and clicking is faster than typing long command lines (which it is, but unixies generally don't know that). If on the other hand, you are a broad-minded three-dimensional Real Person with real work to do in the real world, you need an event-driven computer to do it, and you are mostly out of luck; nobody makes the real McCoy any more, but for a while Windows was mindlessly slouching in that general direction. Unfortunately, now that Bill Gates is gone, the company is run by clueless bean counters, and it's unclear if they will continue his meandering into the 21st century, or if they will let the unixies take over and make something as hard to use as Linux. However, because their customer base is so much larger than Apple's, Microsoft has a lot of pressure (and the finances) to keep the system usable. It helps that it's much easier to program (you don't need to learn a non-standard language), so there are more people making real-world apps for it. I can't say one is better than the other, but Linux is certainly out of the running. Both companies are now visionless, so there's opportunity for a third party to come in and do things right, but it probably won't happen this decade. We will have to wait for the two market leaders to show their own incompetence.
2014 July 24