I would claim that the intuition we have involve a natural conflating of something like "the idea of a wheel" with "the software implement of a wheel". Yet, this intuitively, with our human intuition, just doesn't seem right. In this perspective, it is absurd to expect the Moreover, the variety of distinct circumstances a software system needs to be engineered for is vast - it faces far more meaningful-context-changes than a car. It seem logic that an engineer needs to change the components whenever they are putting together a different system for a different purpose. Looked at this way, initial criticism of a software engineer "reinventing the wheel" is a bit ridiculous. Here we can see problem and the solution ("reinventing the wheel") does not seem intuitively to we-humans as a problematic state of affairs. Yet no one complains that the automotive engineer must create a new wheel for a new car with different mechanical properties than the old car which had the old wheel. Now, if we look at the automotive engineers who build cars, we will note they too are "constantly reinventing the wheel" (literally now). Oddly enough, I think can illustrate my explanation for "why" by noting the common complain that programmers are "constantly reinventing the wheel". The grizzled software engineer often knows this as a fact without caring about why and indeed the why is obscure. The edifice of modern computing seems to lack a sound foundation.
The thing is that this comes after fifty years of efforts to "do it right" failing in the sense that we don't have a single language we're satisfied with, we don't have a single operating system people unambiguously call good etc.
I certainly have my conception, my agenda, of what the right way to code and good software engineering is. On the subject of "doing it right" - every software engineer or maybe most passionate software engineers, have an ability to look at a spec or a piece of code and see how it is "done right". My original tone was probably a bit too sarcastic. I upvoted you because I think this is a conversation that should be as civil as possible. If I had to chose, I'd say it's going to be something else over the JS/CSS/HTML stack in the same way 8bit BASIC sat over the primitive OS at the time. Python comes with a lot, but doesn't fit into native environments very well. Processing is perilously close but not quite there because it's so domain specific. I'm not totally sold on that - because the stack is too too baroque (although, again, people do learn in that environment). Now that machines are powerful enough that "real" software is being written in interpreters, JS seems like it actually is the new BASIC. Lowering that barrier while coming close to the capability of "real" software is a hard problem. People can learn in that environment (and did), but the barrier was much higher. This was not necessarily true in the 8bit days - but from 16bit on, you either learned assembly/C or gave up. Essentially, anything you created was going to be a huge disappointment with that tool. Why? Because there was no fucking way you were going to recreate even the bouncing ball demo in BASIC. The Amiga had a built-in BASIC - but no one used it. Software was already starting to get too good and too complex for a simple tool. I remember when it started to happen in the 16bit era. that's it? Hypercard really can't match even JS, et al. It's demotivating to create a calculator program. Matching the capabilities of modern software is hard nowadays. No one is really impressed by a calculator program anymore. It was killed for the same reason BASIC, in the sense of built-in 8bit micro BASIC, kind of fell to the wayside except as a way to stitch existing apps together. It certainly was not BASIC, but the idea was the same, a little language and environment that fit into the machine's environment that allowed novices (and then highly practiced novices :-)) to create stuff on the machine for other people to use. Hypercard was the BASIC of the Macintosh in that it served the same niche.
This doesn't seem to be anything special about Hypercard.