Head-end View wrote:So let me get this straight.......... The Pennsy's planners over a hundred years ago had the foresight to design the East River Tunnels high enough so eventually several generations of LIRR bi-level cars and cars & loco's with pantographs could fit thru them; but the MTA's planners of the 1960's were so shortsighted that they couldn't envision ever running anything taller than an M-1 thru the East Side Access/63rd St. Tunnel?
Sorry to say that's about what I'd expect from a successful private enterprise vs. a government agency. Imagine if the MTA was running Microsoft or Apple? Still though, the MTA is a smarter agency than Boston's MBTA or Phila's SEPTA.
A simplistic "businesses good, governments bad" conclusion. For counterevidence, look at much of the older railroad railroad infrastructure, especially in Great Britain (Loading gauge - Wikipedia
Great Britain has (in general) the most restrictive loading gauge (relative to track gauge) in the world. This is a legacy of the British railway network being the world's oldest, and having been built by a plethora of different private companies, each with different standards for the width and height of trains. After the nationalisation a standard static gauge W5 was defined in 1951 that would virtually fit everywhere in the network.
So much for private-sector foresight.
As to Microsoft and Apple, they also made design decisions that caused trouble for later versions of their software, through they both improved over time.
Microsoft got into the operating-system business with DOS, and it was initially designed for the Intel 8088 CPU chip, with at most 1 megabyte of memory space. Users could use 640K of it, and the rest was dedicated to video-card memory and the like. When improved chips came along, like the 80286, a minor industry of "DOS Extender" writers emerged, for making use of the 80286's "protected mode", with its much larger memory space, as opposed to the 8088-like "real mode". The 80386 introduced an even larger memory space and 32-bit addressing, adding to the x86 series's original 16-bit addressing.
The first successful version of Microsoft Windows, 3.0, ran in 16-bit mode on top of DOS, but Microsoft did a new start with Windows NT, running in 32-bit mode (Win32), and only switching to DOS or 16-bit Windows (Win16) for running apps in them. It also had a compromise with DOS and WIn16 called Windows 95, released not long after. Windows 95 had successors 98 and ME, but Windows NT had successors 2000 and XP and every version of Windows since. Unlike with DOS and Win16, NT was written to run on several different CPU architectures with only a little bit of rewriting, making it much like some Unix flavors. That made it easy for Windows to support 64-bit instruction sets when they appeared in x86 chips, and also to be ported to ARM for smartphones and the like.
Now to Apple. Its first big success was the Apple II, and it had successors over the 1980's. Its Lisa was an attempt to create a GUIfied computer, but it was expensive and it didn't get very far. Its Macintosh was its next success, and it has had successors ever since. The original Macintosh was single-tasking and it effectively had a 24-bit memory space, despite using 32-bit addressing. The original MacOS used the high byte for various features of the memory. But later Macintosh models used the entire 32-bit space by having an app declare whether it was "32-bit clean". They also got cooperative multitasking, with GUI apps having to switch control over to each other. That was made easy by how the GUI layer worked: one would call a function to see what event the GUI layer had for the software. But if an app did not call it, it would hog the computer.
Apple originally used Motorola's 68K chips, but when it switched to PowerPC chips in the early to mid 1990's, it wrote a PPC-to-68K emulator, and ran much of the OS in that emulator. Apple originally tried to write a more advanced version of the MacOS called "Copland", but it involved some awkward compromises, and it failed miserably. The old MacOS would run as an app of the new MacOS, in an environment that got named the Blue Box. But the GUI part of every new-MacOS app was supposed to run in the Blue Box also. If it seems like a mess, it was.
In the meantime, ex-Appleites Steve Jobs with NeXT and Jean-Louis Gassee with Be worked on some advanced-OS designs, Unix-like OSes with nice GUI shells. Neither of the two was very successful. In the mid 1990's, Apple shopped around for advanced OS designs, considering both the NeXT and Be possibilities. Apple decided on NeXT, and the NeXT people took over Apple from inside. The current design of the MacOS is essentially NeXT's OS with some earlier MacOS features added on.
This new NeXT-Mac OS supported the old MacOS in "Blue Box" fashion as an app in it, but with new apps not needing the Blue Box for their GUI parts. Apple eventually dropped support for MacOS Classic, as Apple called it. This new NeXT-MacOS, which Apple called MacOS X and now calls just macOS, was designed to run on several CPU architectures, and it was easily ported from the PowerPC to the later Intel-x86 and the ARM architectures. it also was portable from 32 bits to 64 bits. When Apple moved to Intel-x86 chips, it ran PPC apps with a PPC emulator, even running some of the OS in it.
Looking at these histories, it is evident that there are a lot of differences between the software business and the railroad business. In the software business, it's much easier to have new software and old software coexist, and one can run old software inside of new software if one so desires.