Live data from Hacker News

Why Hypercard Had to Die

loper-os.org

81–90 of 142 posts

Re: Why Hypercard Had to Die

#81
post #75
post #72

Earlier quoted context omitted.

If we have room at the ends (for new programming environments, and new products), why can't we have room in the middle? Something else with zero programming is online form builders; some already have constraints and reporting systems. If they added simple programming constructs, it could be as powerful as you like. (e.g. google forms enables you to skip to different questions based on previous answers, though it's ge…

I think we agree - my point was not that there is no room in the middle but that if you want to go there you need to give some zero-programming benefits for starters. And yes, forms are an example of what this benefit might be.

Yes, I think your zero-programming point was spot on (though check that spreadsheet link: I was surprised to learn that visicalc automated existing paper spreadsheets, so "programming" wasn't even an issue, at least for its initial massive success).

But note that we're not really in "support of GP's argument" anymore. ;-) That's what I was arguing against (but excellently provocative questions BTW).

Re: Why Hypercard Had to Die

#82
I think it'd be interesting to re-write HyperCard in javascript and HTML5, as a way to get kids interested in coding (and maybe use javascript instead of apple script as the card language?). Not sure how difficult this would be as I've never actually used it, only heard of it's majesty and wonder. Cool that you can still run it on an emulator. I'll have to try it out.

Re: Why Hypercard Had to Die

#83

Earlier quoted context omitted.

Simple programming environments have a fundamental flaw: they fool you. Let's say we have a type of perforated balsa wood that you can just snap into pieces and glue in place. Making a dog house just went from hours to minutes! Hurrah! So you start telling everyone that this is the new way to construct buildings, but then as you get bigger structures, it starts to fall apart. Simple programming environments fool you…

And why does it need to be "deep"? It's good that it died because it doesn't "scale" to the elephantine size of software you're accustomed to?

I was a fan of Hypercard all those years ago. But, in my opinion, that combination: lack of depth + poor syntax, it just wasn't a strong enough contender. It could be kept as an introductory technology, but even there, we can do better. The same fate happened to VB, Actor, Object Vision, Omnis, and so many others. It's a cold world if you can't keep up.

But notice that list. It's all efforts from the 80's and early 90's. We gave up at some point. There's no excuse for that. Shame on Apple, and everyone, for that.

Maybe I'm being too hard on Hypercard, but that criticism is only about that particular technology -- certainly not the effort as a whole.

Re: Why Hypercard Had to Die

#84

Actually has a really good example (a calculator) to show how HyperCard could be used. HyperCard was a big part of my junior high years. It could even be extended, e.g. there was one add-on that allowed color graphics to be displayed and I learned to make some simple games that way.

But its not a good example. You're sitting at a device with a numeric keypad, and a 9" screen; Replicating the calculator interface in clickable buttons, with a textbox as simulated LCD is a horrible misuse of the potential of a computing environment. A screen, a keyboard and a hardware ALU. Being used to run an OS which draws some keys and a screen, interprets mouse movements, parses and interprets Applescript and p…

I don't think the calculator was intended as an example of a great program, or of the "potential of a computing environment". I think it was intended to be a very straightforward example of something that anybody could make as a practice project in HyperCard.

If you're new to programming, "make a calculator" is a great project. It involves simple math -- which you probably already understand -- simple operations, and simple concepts.

It also illustrates some of HyperCard's strengths. I can't think of any other development environment in which "make a calculator" would be a suitable project for the end of the first week of a programming class. And, in the end, the programmer gets something that they can look at and interact with, and which can be easily extended. ("OK, now make it do factorials!")

> It's almost funny, until you read his seven tenets of computing and find that any program which encounters any error should enter a debugger, so you can fix it and carry on. I think that would drive anyone insane.

I wish it worked that way!

Yes, if programs were constantly crashing into debuggers, it would drive people nuts. Absolutely, no argument there. But, I would hope that that alone would motivate programmers to make them crash less.

What we have instead are mysterious black boxes, and I hate that. But, I'm on the end-user support side of things. Here, let me give you some examples of stuff we've dealt with in our little shop in just the last few days:

1. An iMac that hates booting. Sometimes it boots, sometimes it won't. We invoke "verbose" mood, we get some sort of helpful text, and then it all goes away to a black screen. Or, it decides, "OK, all done with verbose mode!", switches to a gray screen, and hangs. Or, we attempt an install from any of our sets of install DVDs, and the most helpful error message we can dig out of any log anywhere is, "i/o error in dvd-rom" (or something similar). It is literally impossible for us to pinpoint the source of the hardware trouble without shotgun replacing every one of the major components in the machine.

2. A FreeBSD system that occasionally does a hard hang. No error log, anywhere. At all. Just halts. Hardware problem? Software problem?

3. An Acer Aspire One with all kinds of really unhelpful error messages in the system logs. Everything seems to be glitching everywhere. Ah, but Windows 7 helpfully generated a mini-dump file of just one of the crashes. Maybe we can track down a bad driver? Let's see, we'll just find and install dumpchk.exe and ... hmm, need to fix debugger symbols for this and ... wait, there's no stack trace? ... uhm ... oh look, it has a "probable cause" at the bottom: "hardware". That's helpful?

I know I'm forgetting some. Anyway, it's like this for us all the time.

I used to know & love MacsBug. Even with the old MacOS programmer's switch, I could occasionally figure out something useful. I would love it if, instead of calls like, "my computer is stuck at a black screen, should I reboot?", we'd get calls like, "my computer just went to this black screen that says null pointer exception at a bunch of numbers in iaStor.sys".

And, even better, if we were so inclined, we could notify software vendors of the specific errors we ran across, so we could do a better job of helping them track down bugs.

Re: Why Hypercard Had to Die

#85
post #4

FTA: "And if you think that XCode, Python, Processing, or the shit soup of HTML/Javascript/CSS are any kind of substitute for HyperCard, then read this post again." I always hope in the back of my mind that someday there will be a way to create a web interface as easily as you could in Hypercard. I miss it so much.

Waterbear is something that is headed in that direction. http://waterbearlang.com/

Re: Why Hypercard Had to Die

#86

Earlier quoted context omitted.

"Simple programming environments fool you into thinking you into thinking your projects can scale, and the result is a mess." Doesn't seem to have stopped Excel in particular, and spreadsheets in general, from being wildly succesful.

Very good point. I think spreadsheets are just deep enough and map well enough to the domains that use them, that it can tread water. (Not swim, mind you.) They're also quite clear about their constraints.

Of course, from a software engineering perspective many things that are developed using spreadsheets are truly horrific - but the non-developers who create complex systems using them love them.

Re: Why Hypercard Had to Die

#87
There's no mystery, here. No great conspiracy -- the article has a screenshot of the smoking gun.

http://www.loper-os.org/wp-content/hypercard-calc/hc12.jpg

The scripting language had a verbosity and ambiguity that only a lawyer could love. The documentation for that language was similarly impenetrable to anyone with a background in CS, requiring a serious commitment to trial and error to perform operations that were trivial in BASIC.

Re: Why Hypercard Had to Die

#88

There's no mystery, here. No great conspiracy -- the article has a screenshot of the smoking gun. http://www.loper-os.org/wp-content/hypercard-calc/hc12.jpg The scripting language had a verbosity and ambiguity that only a lawyer could love. The documentation for that language was similarly impenetrable to anyone with a background in CS, requiring a serious commitment to trial and error to perform operations that were…

That is total conjecture and is not historically accurate. Hypercard was ridiculously popular and widely used amongst people who wouldn't ordinarily program (lawyers, historians, graphic designers etc). Hypercard was not aimed at CS graduates but even when if it was it comes from a time long before CS courses taught Java (And in many cases even C). This kind of verbose, human-readable scripting was exactly the sort of thing that a CS graduate would have experimented with along side the more traditional Pascal and Lisp.

Re: Why Hypercard Had to Die

#89

Actually has a really good example (a calculator) to show how HyperCard could be used. HyperCard was a big part of my junior high years. It could even be extended, e.g. there was one add-on that allowed color graphics to be displayed and I learned to make some simple games that way.

But its not a good example. You're sitting at a device with a numeric keypad, and a 9" screen; Replicating the calculator interface in clickable buttons, with a textbox as simulated LCD is a horrible misuse of the potential of a computing environment. A screen, a keyboard and a hardware ALU. Being used to run an OS which draws some keys and a screen, interprets mouse movements, parses and interprets Applescript and p…

Have you never watched a video on your PC depute owning a perfectly serviceable TV?

Re: Why Hypercard Had to Die

#90

Earlier quoted context omitted.

Very good point. I think spreadsheets are just deep enough and map well enough to the domains that use them, that it can tread water. (Not swim, mind you.) They're also quite clear about their constraints.

Of course, from a software engineering perspective many things that are developed using spreadsheets are truly horrific - but the non-developers who create complex systems using them love them.

Spreadsheets have a much more brilliant potential than we currently understand. In fact, it's my opinion that in the future we'll be essentially coding in a spreadsheet; not a text editor. (That's the case with the project I'm working on.)

If you want to talk about this more, I'm david927 at gmail.

Post reply on HN