It's a bit of a shame the industry gave up on the idea, and abandoned these syntactically-sugared programming languages. HyperTalk reads just like English; it very much seemed like the next generation of the niche BASIC aimed to fill. Because computers of that era typically opened right into a development environment (e.g. a simple BASIC interpreter), there was even brief discussion of HyperCard potentially replacing Finder as the default Mac OS environment.
One way to experiment with this distinction might be to look at the Wikipedia page
https://en.wikipedia.org/wiki/HyperTalk#Fundamental_operatio...
and read through the examples and see if you follow them. I'm sure you will.
Now, close the page and try to write a valid loop, and a valid user interaction, and a valid test for the existence of a file. I don't think you're likely to succeed unless you've actually programmed in HyperTalk recently.
But I could readily imagine that many people can learn HyperTalk more quickly or comfortably than a language without the natural language elements. Maybe part of that is the low psychological barrier to using a system that looks like it makes sense semantically, compared to learning special meanings for lots of symbols.
[0] https://blogs.msdn.microsoft.com/oldnewthing/20070406-00/?p=... [1] https://blog.codinghorror.com/when-understanding-means-rewri...
This phrase reminded me of a thought I once had, that the removal of the compiler as a first-class application in user-centric OS distributions was an imperial gesture to enforce class hierarchies among end-users: you were either a user, incapable of making your computer do new things, or you are a developer, who must be convinced to make computers do new things using rules and policies (and tools) that were forced upon you by the Powers That Be™.
I think one thing we should be demanding, as computer power users/developers, is the return of software development tools to the forefront of the computing experience. It is unacceptable that computers are being shipped today without the means of making them productive, other than participation in a walled garden.
I know its a tall order, but I'd love to see an OS vendor make a serious point of making their users better developers, not worse.
That said, I do agree that programming should be made more accessible. Bret Victor and others seem to be exploring new ways of doing that, besides making computing more physical:
- The bundled development tools were usually still there, but they took a form that those of use who grew up with computers in the 1980s were less likely to acknowledge. Consider how web development took off soon after more traditional languages were removed.
- People are more interested in programming when new technologies appear. There are more itches to scratch, opportunities available, and the barrier to entry is lower.
- Programming simply became more complex. It used to take one line of code to do something. Between the OS and languages requiring more (initialization, boilerplate code, etc.), programming became less appealing. While tools like HyperCard addressed some of this, the distinction between "real" programs and these environments was quite clear.
All of this is driven more by the end user than by industry. And if end users are less keen on programming, why should businesses make the investment in creating tools for them?
I personally think this tools vs. appliances distinction explains a lot about tech culture nowadays and I would love it with we nerds could collectively exile the computing "mainstream" to mobile so we power users can have our tools (computers) back.
Microsoft, Google, and Apple et al are muddying the waters, by trying to shove mobile square pegs into desktop's round holes
Not just the failure of desktop Linux, but also Windows, which still asks regular users if they want to 'debug' a crashing app. To most people, 'debug' means 'fix' and the button just doesn't work.
The web has some of that, but the technology is just so much more complex. The difference between reading the .bas file for SNAKE vs. using the web inspector to understand how gmail works is astronomical.
I do worry that HyperTalk ruined me in the same way the Dijkstra asserted BASIC ruined programmers of his era, but I have a good job and seem to write good software so I don't worry about it too hard.
I really worry for kids these days: JavaScript + HTML is nowhere near as friendly an environment as HyperCard was. What's a clever kid going to use as a programming environment now?
I think you may be making a couple of unsavoury assumptions there.
> A lot of people ended up learning programming because of these simple languages/tools, and I used to love playing with their projects I'd download from Geocities and the like.
But I do agree wholeheartedly with your point. I'd love to see more people embrace hackability over shininess, and become more than just consumers again.
If I could go back in time I would have stuck with QBasic for at least another five years before moving to C. I wasn't close to ready for the briefly exciting dive into "real" coding, which led to abstract CS concepts, the thick books with exciting illustrations on the covers, the CS classes which were so boring. Meanwhile I believe I could have actually been shipping software had I stuck with QB. Gar to admit but true.
There wasn't a single new concept regarding low level hardware programming that C teached me, on the contrary, I got to learn how not to do it.
And I wasn't infected by the "micro-optimize each line of code as it gets written" culture, rather I was shipping software that was fast enough to keep its users happy.
The project was to split the parcels of land from Lille to Paris with the track of the TGV (high speed train) to calculate the expropriation the state was doing to the poor guys who'd end up getting their huge field cut in two, and would have to drive 20 miles to go from one side to the other :-)
Seriously. Hypercard was pretty cool to throw together something quickly, with a UI and more importantly it gave the client the impression they could go an tinker with it afterward.
It was also excellent to mockup UIs and 'processes' and other bits of Mac apps before committing to making them, so even internally at apple, Hypercard (and Supercard) were used a lot for mockups.
There was a huge ecosystem around hypercard, and it lasted for a very long time.
Oh, and Atkinson is still my hero!
Playing with this, I was trying to figure out a practical application for it. Is it fair to say it has largely been obsoleted by things like wikis?
I'd have a hard time thinking of anything current that's general purpose and would be able to do something of that scope. Probably Flash would be the thing you would use, but without Flash I'm not sure. The nice thing about HyperCard was that the vast majority of the work could be done by people who weren't programmers. Even for my bit, I was still a student and it wasn't really that difficult to write the plugin (stupid Mac Pascal compiler bugs aside... :-P).
I just opened ViperCard, and the GUI is totally intuitive. The scripts used by buttons share a lot of syntax with AppleScript. This is the GUI for AppleScript I always wanted. Now I know why people love it. If I'd been able to use HyperCard earlier, maybe I'd have become a front-end developer instead of a back-end engineer.
Lucky you.
I put it into AOL's ftp area as shareware and got checks from around the world for $2. I was about 8 years old!
EDITED: I'm offering a $100 reward if anyone can find a copy of this software in an archive or old shareware disc somewhere! I'd love to find it again. Also, bonus points for finding my OneClick Palette called "AOL ROVER".
There's Amber Smalltalk, but that's more powerful and the simplicity of HyperCard is part of its charm.
The Flash authoring tool was always, imho, pretty nice. The runtime had lots of issues, though.
Good luck!
However, you could open up a command console in this neutered version of HyperCard, type in 'magic', and you'd be able to unlock the full set of authoring tools.
Magic indeed.
They have a FOSS version behind that confusing website, the livecode.org site has access to the GPL version, you can download without acquiring a membership. It is just a bit hidden.
Aside from being easier on the eyes (especially an amber or red interface), they force UI designers to make careful choices, and potentially result in a cleaner, more useable interface.
It's not a project for me yet, just a series of notes and concepts, but I'd like to turn it into a proof of concept at the very least.
It was very much influenced by HyperCard, obviously. They didn't try to hide it, to the contrary, so much so that they hacked the UI-controls to make them more "Macintoshis" I guess.
Except it came in colors. The multimedia aspect of the Amiga, remember?
Hypercard overall was just great at getting out of the way and letting you get things done. Looking back, if Apple had realised how powerful networking was back then, Hypercard may have morphed into the browser one day, but they missed that boat.
I remember reading somewhere a while back that Hypercard plus some XCMDs were used to control the lighting system in Petronas Towers in Kuala Lumpar... actually here we go: https://www.wired.com/2002/08/hypercard-forgotten-but-not-go...
No, it's the worst form of development, except for all those other forms that have been tried from time to time.
edit: to clarify, even back in the day those were the two things that I really disliked about HyperCard. No color and no Windows
Well, heck. Now I can’t even see what is causing so much commentary on the memories of HyperCard.
(Reminder: If you're doing browser feature detection via User-Agent string, you seriously need to re-examine your life.)
Seems to work anyways.
And AOL hackers and soical engineers like HappyHardcore, creator of AOL4Free & the Master Blaster, the famous Da Chronic, creator of AOHell and KT (Shameer) who first taught me social engineering in 1995-
http://www.stepbystep.com/America-Onlines-Dark-Side-131812/
Koceilah Rekouche aka Chron, photo from the 1990s-
something that works for kids but also scales all the way into enterprise.
Sure there are some other issues in picking JS, but it is both readily available and (somewhat) scalable to "serious" projects.