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.
Because it really isn't natural at all, it only looks natural. AppleScript is a kind of COBOL. You have to know exactly what (natural-sounding) keywords and clauses you can use. Try some real natural language and the interpreter is suddenly lost.
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.