Case in point: Some of the finance people I work with build incredible spreadsheets. Formulas upon formulas that turn their special spreadsheet into what is really an application. They're programming, but that isn't how they think about it (I've asked). They're just Excel power users.
HyperCard aficionados were the same way. They were programming with the assumption that they just knew HyperCard really well.
You wouldn't be able to sit Douglas Adams (were he alive) in front of XCode and get the equivalent of his HyperCard stack out: https://archive.org/details/DouglasAdamsMegapode
The reason is that it requires a dramatically higher investment to create in XCode. "Just learn Swift" doesn't really cut it as an alternative.
But there was something philosophical: I liked the idea of introducing them to the feel of fundamental computer science, rather than a nice layer over computers for artists. (And what artists actually use those nice layers?) I wanted them to experience an open source ecosystem (unlike Max), and I felt that the Java-base of Procesing was off aesthetically -- too many layers over the machine.
Thinking about the OP, I do wonder what it would have been like to teach coding-for-artists with Hypercard. One thing I love about Emacs Lisp is that it is only grudgingly visual. That it returns computers to something which sends output to a TTY. It gives people who have grown up with a GUI a vision of what computers were like before. I like that Emacs (and Lisp) are things with a history and touch on earlier eras of computer culture.
You're correct in that some software developers got their first taste of programming with HyperCard, but you're incorrect in that 99%+ of HyperCard users would have zero interest in developing in Xcode (regardless of language).
They are completely different experiences designed for completely different types of users.
But I also disagree. The people who just dragged around icons in Hypercard and never actually did any scripting, they wouldn't do anything with Xcode, but they're also not the people we're talking about. The people who did learn Hypercard scripting absolutely could do the exact same thing by dragging around buttons in Xcode's Interface Builder and hooking them up with a little bit of Swift scripting. That tutorial about making a calculator in Hypercard, you could do very nearly the same thing in Xcode except for the missing "eval" operator, but that's ok because you can just run each operator immediately (like normal calculators do) instead of building up a long string and then eval'ing the whole thing.
You did, but (as you note) Swift Playgrounds don't get you anywhere near the interactive, self-contained experience that users could create and share with HyperCard.
> The people who did learn Hypercard scripting absolutely could do the exact same thing by dragging around buttons in Xcode's Interface Builder and hooking them up with a little bit of Swift scripting.
What you're saying is analogous to saying, "People who learned Excel and VBA could do the exact same thing by creating a web app in Visual Studio Code and hooking it up with a little bit of JavaScript". Yes, conceptually both are "just" programming. In reality, they're worlds apart.
This. I remember trying Playgrounds when it came out, and it took only minutes to reveal itself as an embarrassing fraud. It pretends to be a persistent environment in the style of Smalltalk systems but it isn’t. Edit a single line of code, and re-executes all of them. Every single time. Utterly useless for exploring stateful systems. Utterly useless as an open environment that users can shape and grow to suit themselves.†
Worse than useless, actually, because it lies to those users just as Tim Cook does.
Hypercard may have had its problems, not least its dour unappealling 1-bit graphic shell, but it was built up from, around, and for users; a depth of design that both reveals and proves itself in use. Software that fits itself to its users; not the other way about. Swift Playgrounds may bring all the shiny, but scratch its surface, step beyond the picturesque preplanned boundaries, and it reveals itself a hollow shell. Canned hype-ware; a dumb monkey-trainer, nothing more. Seymour Papert would’ve garroted it, were he not spinning in his grave instead.
--
†Bonus irony: Swift’s command-line REPL implemented persistency absolutely fine, so there was absolutely no excuse for Playgrounds’ botched cheat. (OTOH, the REPL completely buggers up the “P” bit, making it equally dreadful for non-trivial interactive coding.)
..
As for Hypercard, it died because nobody knew how to sell it. No customers, no revenue; no product. Doesn’t matter if you’ve the best technology in the world, it ain’t worth squat if it doesn’t put bums on seats. And while users who did “get” HC really got it, and absolutely adored it as a result, there wasn’t anywhere enough of them to justify its continued existence as part of the Apple product line.
A basic rule of business: learn how to fire your customers. Scrapping niche-appeal distractions that will never drive your major markets is just a subset of that.
Things like PHP, VB and to some extent Excel had some success, but only by forcing the non-technical to become technical. In actuality they're just regular programming with a slightly less steep learning curve. Only Excel escapes this somewhat.
Most IDEs, and XCode have no pretence at catering to user-friendliness or the non-technical. Apart from anything else you have to search for, find, and install XCode from the app store - I know it's not hard, but that's not the point. The learning version of PyCharm for instance just integrates some tutorials. You still have to become a techie to succeed.
There's a distinct hole in the experience in not having Hypercard, or even the simple BASIC of 8 bits ready to go, with examples. It both reflects and reinforces the position as consumption device, and has distanced creation.
Could that be where the actual magic is?
Far more were able to dip into a little ugly BASIC to knock up a menu, calculator or whatever, just as many were able to build surprisingly complex things in Hypercard without ever thinking they made that leap.
I think slowmovintarget has it by saying they never acknowledged they were programming at all. I'd liken it to the kids who were terrible at, and hated maths, but could do frighteningly quick and accurate mental arithmetic when working weekend at their parent's market stall or shop.
Maybe the magic is the ability to hide that you're doing something somewhat technical.
Hypercard was a breath of fresh air. Not only could I write useful programs quickly, but I could share them with others, with little risk of mishap. I even wrote software to control rudimentary hardware gadgets using a couple of code resources that I wrote in Pascal.
Today, the point may be moot if Python and Javascript work well enough on a Mac.
VB.Net is still pretty easy.
They absolutely do not. Even getting started with a GUI app is a major undertaking in either one of those ecosystems.
And that term "ecosystem" indicates the problem, HyperCard was an application for making applications when "application" was just a fancy word for a program with a GUI. Nobody wants to download and learn an ecosystem just to build an app. There should be an app for that, but there's not. We don't have app-building apps on every iPhone because Apple chose not to put app-building apps on every iPhone. It's not hard to see why.
It's definitely not Hypercard, but it shares its spirit, and is still a very useful thing. Like, e.g. last weekend I though I'd like to run a sampling profiler on myself - i.e. every now and then pop up a notification to record what I'm doing at any given moment, and store that data in a format I could later use for analysis. I managed to build one in 30 minutes in Tasker - complete with showing the list on a smartwatch and recording to CSV; after first spending the same amount of time looking for existing solutions and failing to find any. That's to show how easy it is to do, straight on your smartphone. It's something you could easily do on a bus or a train - and more importantly, it's something a regular non-tech person could do too.
I think that is something that we had not seen before and have not seen since.
Yes. And perhaps the last major remnant of this once prominent philosophy on what personal computing should be about.