One limitation not mentioned is that Action! didn't support recursion. This had to do with how local variables were stored.
Whether it was the best language for 8-bit programming, it certainly was a great fit for the 6502, as the language targeted the peculiarities of that chip. Accessing hardware-specific features of the 8-bit Atari's was a snap, which was necessary in order to do anything more interesting than sieves or print loops.
Action! probably could've been ported to the Apple line, but 8-bits were winding down by the time it was released. Porting to 16-bit machines like the IBM PC or Mac (or even the Atari ST) would have been a tougher sell, since Pascal and C were better established by that point, and worked well on those machines.
Two bad things about Action!: Charging a license fee to distribute the runtime, and that dumb bang in the name.
Atari's port of Asteroids also supported four joysticks. You could play melee, co-op, or team mode, with four players on the screen at once. It was a blast.
TADS, an OOP language + VM for interactive fiction, has this "value database" model. Once loaded into memory, the compiled image can be updated with values stored in a separate save file. The compiled image itself could store updated values as well.
In fact, it does this during a "preinit" stage that runs immediately after compilation. Once all preinit code finishes executing, the compiled image is overwritten with the updated state. The language includes a "transient" keyword to permit creating objects that should not be stored.
This same mechanism permits in-memory snapshots, which are used for the game's UNDO feature. No need to rewind or memento-ize operations, just return to a previous state.
It's not a general-purpose mechanism. After all, the language is for building games with multiple player-chosen save files, and to permit restarting the game from a known Turn 0 state.
INT 2Fh was the so-called "mux" that various TSRs and drivers could hook into for (in essence) interprocess communication. The half-baked idea was to solve the problem of TSRs commandeering other interrupts for one-off needs, which led to lots of collisions.
In order for the mux to work, each TSR had to have its own identifier code. Other than some reserved ranges, no one organized such a namespace, meaning it was possible for two or more TSRs to intercept the same request, leading to the same collision problem.
This note from Ralf Brown's Interrupt List has the gory details:
Some of these problems (esp. Facebook's) look like someone used an existing service framework to code OAuth2, and either didn't or couldn't adjust the framework to conform to spec.
Some of the other problems look like a common problem with scripting—the ease of treating an int like a string, and vice-versa.
"This isn’t about being spec-compliant anymore. I need to know the thought process behind this decision."
May not be a thought process, just a rush to get the service into production, and a lack of attention to detail. Lots of coders treat error-handling as a hassle or optional, hence the 80-20 rule.
On top of that, the content itself—a spectrum of lean to rich—isn't all that informative, especially compared to its solemn presentation as the result of some kind of deep meditation.
The licensing fee wasn't the sole reason, but it certainly sounded the death knell for Gopher and gave users reasons to look elsewhere.
For all the gauzy what-could-have-been speculations about Gopher, it really was more like a hierarchical wiki. WWW's freestyle document model quickly expanded to an application platform that could support all manner and style of services. Fees or not, Gopher didn't have a chance.
Back in the late 2000s, a viral blog post (which I can't find now) asserted that Microsoft was irrelevant—that Google, Facebook, Twitter, etc. wiped out MS as a market leader, if not in income, but in reputation.
Look at MS today. Not so irrelevant.
I do think the original post is right, that WordPress is plateauing and they're scrambling to maintain their hold on a zero-sum market. But, if they can figure out a new direction, they're also in a unique position to lead.
Getting there is not going to happen through dot releases and a squeaky new blog template named for the current year. It looks to me like they need some fresh leadership.
It was widely reported that Musk was moving X and SpaceX's offices to Texas due to a new LGBTQ+ reporting law for schools, which in turn was heralded as Yet Further Proof of California's demise.
Bjarne Stroustrup once wrote: "Software development is an iterative and incremental process. Each stage of the process is revisited repeatedly during the development, and each visit refines the end product of that stage. In general, the process has no beginning and no end."
> For one thing a company like Sun Microsystems or Apple that specializes in making computers that are much more expensive than PCs would not want people to get anywhere near the PC clone ecosystem where you can pay less and get a lot more.
Except in the 1990s Apple did permit PowerPC-based Mac clones to proliferate, until Jobs returned and cancelled all the contracts.