Live data from Hacker News

Why Hypercard Had to Die

loper-os.org

51–60 of 142 posts

Re: Why Hypercard Had to Die

#51

He's kind of pissed off. I see nothing special with it except for the "natural" language.

Y'know, I can see where he's coming from. I'll get to that in a moment, but first: I'm starting to get a little sick of HN's tone lately. I'll readily admit that I've contributed to that in the past, but some of the comments in this thread ("person is a troll", "writes vacuous posts", "is a crackpot") are really over the top asinine.

He's a better person than I am, because if it were me, I'd already have a script in place that checked the referrer and would post a blank page with "Eat a dick" for anybody coming from HN. If nothing else, it would ensure that the submission wouldn't get as many upvotes (or would get flagged) and I wouldn't feel compelled to put up with the abuse.

Anyway:

So, IIRC, my progression as a young programmer went something like: BASIC on a Commodore 64 / Vic-20, to Logo on I-don't-remember, to HyperCard (and then on to QBasic and Pascal and C and C++ and OOP and on and on).

HyperCard was amazing because its barrier-to-entry was so, so low, and I agree with the author's comments that there still isn't anything quite like it. For one thing, it was on most Macs by default at the time, so you didn't have to find a copy of the software and install it first.

As he shows, it was a piece of cake to get started with. A budding HyperCard programmer could easily learn new tricks by downloading anybody's stack and reading the code. Since it wasn't compiled, you could learn from it. Anything that anybody else did, you could take apart, and learn how to do.

And it grew with you. You could make something as simple or as complex as you wanted. My very first, very naive foray into AI was in HyperTalk; I discovered I could write self-modifying stacks, and decided to see if I could teach a HyperTalk stack to talk to me like a person.

HyperCard also introduced me to online forums for the first time. I still remember, fondly, downloading J5iverson's XFCNs from eWorld. From there, I discovered the world of the early internet -- the alternative to BBSs. Whereas BBSs at the time let me easily chat with someone else in my town (or, more often, play TradeWars or something), eWorld let me chat with people "across the pond" for the first time. For a young kid, this was a life-changing, world-shrinking event.

I disagree with the comments that SuperCard is a reasonable alternative. I don't remember the details now, but while I appreciated the addition of color in SuperCard, it brought with it other complexities that I disliked. I played around with SuperCard but ultimately went back to HyperCard.

So, what I'm getting at is, if it weren't for HyperCard, I don't think I'd be a programmer right now. HyperCard was simple enough for a beginner, and rich enough to keep my interest. It was a huge influence on me. I really can't overstate that.

Almost two decades later, I was approached by an employer who wanted me to teach computer programming to his son. His son was young, not yet in high school, pretty sharp, and, y'know, geeky. Liked video games, liked taking things apart. Not exactly a challenging pupil in terms of motivation.

I spent a ton of time trying to figure out just what in the hell environment to use to teach him. JavaScript? You have to know a lot of other stuff before you can really begin to do anything of value in JavaScript. Before we could do the calculator example in the author's blog post in JavaScript, I'd have to teach basics of HTML, the DOM, and eventually we'd either end up using JQuery or going over the whole "browsers are different in how they handle the same code" discussion, which, honestly, is one of the most stupid problems in the history of computing when you think about it.

Anyway, I went through a bunch of options and finally settled on something called Kids Programming Language (or Phrogram). What a damned mess that was. It wasn't very long before I had to teach the concept of objects to the kid. And scope. And then half the time the entire environment would just up and crash with no helpful explanation. There's a fun problem for a newbie programmer: write some code, your environment crashes, no explanation.

If the field has improved much since then, I'm unaware of it. Not having something like HyperCard available to young programmers really is a tragedy, because it means that future programmers are going to be introduced to programming in college (which, often, is a joke, and IMO also too late in an individual's mental development), or they're going to have to tough it out through JavaScript or Ruby or Python or whatever the inscrutable popular language-of-the-month is, and that's going to really narrow down the field of people interested in getting into programming.

Some free market adherents might respond with, "Well, if there was demand, someone would build it, so obviously there's no demand". Honestly, I find that entire argument completely boring. It's clear that there was a lot of demand for it; did nobody want it before it was invented, and has nobody wanted it since it became no longer supported? I don't think so. I think there is a market for such a thing, and it just hasn't been built yet.

I really hope it will be. It's already on my list of near-future projects if nobody else does it first.

Re: Why Hypercard Had to Die

#52
I was sad to see Hypercard abandoned - I learned how to program with it myself (along with Perl & CGI apps - syntax didn't matter so much as what you could accomplish with it). But part of the reason I think is that Steve Jobs abandoned going primarily after the education market when he returned to Apple - he had already been burned by it (or become disillusioned by it) at Next, but also really Apple had already saturated the education market. He and Apple focused on the consumer market (imacs, ipods, etc.) - the business market had already been won by Microsoft. Microsoft also already had a more successful end-user friendly programming/scripting environment: Visual Basic and VBA. In case some don't know, Visual Basic was the most popular programming language in the world until overtaken by Java. VB didn't really start to significantly decline until more people developing business apps switched to C# and other languages.

Microsoft also won with a more popular tool for creating visual 'stacks' or presentations: Powerpoint. Most educators were basically using hypercard/supercard/hyperstudio to create presentations - and Powerpoint made it easier to do so.

Hypercard (and hypertalk) isn't dead though. Applescript is still around (despite Apple also trying to kill it). LiveCode and other options are still around and being updated for HTML5 & mobile platforms, as is Visual Basic, too (nsbasic). A java port of the hypertalk language is here: http://code.google.com/p/openxion/

Natural language-like interfaces aren't dead, either. Look at testing tools like Cucumber, the google search engine, Siri, and so forth. Look at all the DSLs out there that try to make Ruby/Javascript/etc. more like natural languages, at least in certain contexts.

Re: Why Hypercard Had to Die

#53

He's kind of pissed off. I see nothing special with it except for the "natural" language.

Y'know, I can see where he's coming from. I'll get to that in a moment, but first: I'm starting to get a little sick of HN's tone lately. I'll readily admit that I've contributed to that in the past, but some of the comments in this thread ("person is a troll", "writes vacuous posts", "is a crackpot") are really over the top asinine. He's a better person than I am, because if it were me, I'd already have a script in…

Finally, a breath of sanity on HN.

Re: Why Hypercard Had to Die

#54
post #39
post #32

Earlier quoted context omitted.

> > the WWW was coming. > In 1998? I built my first HTML page in '93. NCSA Mosaic was the rage in the lab. > > it's spirit certainly lived on in Visual Basic, Borland Delphi, > > Macromedia Director and a bunch of other things. > > I have used all of these, and beg to differ. The spirit of > HyperCard was that of radical simplicity, and it does not > live in these systems. ??? Drag and drop, double click to add scrip…

> Hypercard is different from systems like Director > in what isn't there: the cancerous complexity. No offense, but you're reaching for straws now. Any stack of any complexity was just as complex as the equivalent in Director. I'm not sure what you were doing in 96 or so, but I was making a living with Director after cutting my teeth with some serious SuperCard action. I wrote a precursor to AIM/ICQ for our feeble A…

I never used Director, so I can't speak to that. And, by '96, I had graduated from HyperCard into C and Pascal.

But: I spent a lot of time in HyperCard, and I can assure you that the field of HyperCard complexity was not limited to just "simple back and forth stacks" or "anything truly useful beyond that". HyperCard afforded a really nice way of gradually ramping up complexity and approaching complex-on-the-outside problems with simple-on-the-inside code.

I doubt I could remember any of my own HyperCard projects at this point if my life depended on it. But, I can tell you about a HyperCard project a good friend of mine did: he called it "MusicMaker", and it came with a piano keyboard, multiple synthesizers, and its own unique musical notation system which allowed you to easily translate any sheet music into text which the HyperCard stack could synthesize and play on the piano keys. It could teach people music better than just about any other piece of software at the time. This was not, as I recall, remarkably challenging for him, and we both had a lot of fun with it.

I think any network-related programming is going to suck. Tricks of the Mac Game Programming Gurus had an entire chapter devoted to it, as I recall, in which most of the chapter could be summed up as, "OpenTransport sucks". So, I don't think it's fair to use a networking-related program as an example of a challenging HyperCard (or SuperCard) project.

> I appreciate your romantic notions to the contrary however.

(edited for snark)

Please try to keep the snark to a minimum. Thanks.

Re: Why Hypercard Had to Die

#55
post #7

Sigh. Maybe instead of ranting at your "typical software engineer", the author should spend a moment to consider that maybe it "could be built again" - but it never has. So the question then turns to, why has it never been built? Is it maybe because Hypercard (and other visual systems) become entirely unmaintainable once we get to large-scale systems? And maybe it is because most people don't want a trivialized progr…

Spreadsheets are arguably a "trivialized programming environment".

Re: Why Hypercard Had to Die

#57
Hypercard was a wonder. I used to teach street people how to make simple, useful applications that they thought of themselves.

Sure it was limited in what it did, and that was part of its beauty. It was a tool for quickly hacking together a simple application. A tool that nearly anyone could learn to use quickly. And it was fun and spontaneous.

And the Hypertalk language was very interesting to work in. It was like a limited dialect of a spoken language; a pidgin for computers.

Re: Why Hypercard Had to Die

#58
I think much more likely explanations than the nefarious anti-creative one given for HyperCard's death are that, to varying degrees: Steve found all HyperCard stacks he saw to be messy and confusing, not at all the functional simplicity he was looking for; HyperCard was taking engineering resources and/or money that could be better spent saving the Mac, and therefore Apple.

Apple has not, in recent years, on the Mac, been against trying to provide simpler programming environments - look at Automator, (the now also defunct?) AppleScript Studio, or Dashcode.

Re: Why Hypercard Had to Die

#59
post #55
post #7

Sigh. Maybe instead of ranting at your "typical software engineer", the author should spend a moment to consider that maybe it "could be built again" - but it never has. So the question then turns to, why has it never been built? Is it maybe because Hypercard (and other visual systems) become entirely unmaintainable once we get to large-scale systems? And maybe it is because most people don't want a trivialized progr…

Spreadsheets are arguably a "trivialized programming environment".

Which (sort of) supports GP's argument. We have programming environments on one end, full products on another and spreadsheets (maybe also MS Access) in the middle. The environment looks crowded.

Btw, I'd love spreadsheets-as-apps replaced with something more maintainable but they also have a huge advantage: you can start using a spreadsheet with zero programming. Unless you copy that, you can't compete for that niche.

Re: Why Hypercard Had to Die

#60
post #9

Earlier quoted context omitted.

Take that article with a large grain of salt. Much of it has been proven wrong by now. ("HTML is where the Web starts and probably where it will end.")

Take anything from loper-os with a massive grain of salt, he is a long-term troll who has been writing these sorts of wistful but ultimately empty posts for several years now. Calling everything and everyone stupid and bloated and yearning for the good old days is his thing. I only mention this because some HN readers might not be fully aware of his history.

I don't think loper-os is a troll. I think there are some fundamental social deficiencies at play (the profoundly arrogant and strange README in his SVN trunk is a must-see), but I believe he genuinely means what he says.
Post reply on HN