Live data from Hacker News

Why Hypercard Had to Die

loper-os.org

121–130 of 142 posts

Re: Why Hypercard Had to Die

#121

Earlier quoted context omitted.

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.

Simon Peyton Jones et al. wrote an interesting 2003 paper on extending Excel's "natural" mapping to functional programming with first class (i.e. cell-based) user-defined functions.

http://research.microsoft.com/en-us/um/people/simonpj/papers...

Re: Why Hypercard Had to Die

#122
post #62

Filemaker is similar to Hypercard.. http://www.filemaker.com/

You know what's actually the product I've met with the most similarity to HyperCard? Microsoft PowerPoint . You have cards, buttons that can navigate between them in arbitrary ways, effects that can trigger on loading or unloading a card, etc. And for everything else, you have VBA, which, like AppleScript, allows buttons and fields to do arbitrary things (with generic COM objects, even!) I once wrote a full-scale Dra…

There's some truth to this (as appalling as the notion is). While I'm teaching Python to my 7th grade nephew his school is having him 'program' in Powerpoint. As dismissive as I am of the notion, it does allow students to quickly get some stuff up on the screen and start being interactive.

Fortunately my nephew has taken to Python and is even starting to become a language snob "That looks like a stupid way to program".

Re: Why Hypercard Had to Die

#123
post #16

This doesn't seem to be anything special about Hypercard. Hypercard was the BASIC of the Macintosh in that it served the same niche. It certainly was not BASIC, but the idea was the same, a little language and environment that fit into the machine's environment that allowed novices (and then highly practiced novices :-)) to create stuff on the machine for other people to use. It was killed for the same reason BASIC,…

> This doesn't seem to be anything special about Hypercard. Tell that to the thousands of otherwise non-programming people who developed real, useful applications (some of them best-selling) in Hypercard. > it's going to be something else over the JS/CSS/HTML stack Like building a castle on a swamp. Foundations matter: http://www.loper-os.org/?p=55

You're completely missing my point. I'm actually sort of agreeing with you -- but I'm also saying you don't really need (want?) to duplicate Hypercard.

Let's just say that considerably more than "thousands" have written BASIC programs that were real useful applications in their day. I would not argue that people have not done the same in Hypercard.

There's nothing special about hypercard. What's special is having an easy-to-use beginner programming environment that you could create fairly good small programs in -- in comparison to the commercial offerings of the day. BASIC was that, Hypercard was that, but that only partially exists today as the web stack because of it's baroque nature.

"Foundations matter" is really a tautology. I don't think the problem is the foundations. We build on sand all the time. Certainly without a foundation, you're fucked, but you place too much importance on it. Saying something like "Foundations matter" is pretending to be profound without substance. I might just as well say that "Input devices matter" -- and they do -- but how much do they matter? Is everything fucked because we all use mice & keyboards?

Re: Why Hypercard Had to Die

#124
post #123

Earlier quoted context omitted.

> This doesn't seem to be anything special about Hypercard. Tell that to the thousands of otherwise non-programming people who developed real, useful applications (some of them best-selling) in Hypercard. > it's going to be something else over the JS/CSS/HTML stack Like building a castle on a swamp. Foundations matter: http://www.loper-os.org/?p=55

You're completely missing my point. I'm actually sort of agreeing with you -- but I'm also saying you don't really need (want?) to duplicate Hypercard. Let's just say that considerably more than "thousands" have written BASIC programs that were real useful applications in their day. I would not argue that people have not done the same in Hypercard. There's nothing special about hypercard. What's special is having an…

> "Foundations matter" is pretending to be profound without substance

Please take the time to read my article. The kind of pieces you get when something breaks or needs reworking does matter.

> Is everything fucked because we all use mice & keyboards?

I do not myself believe this, but there are those who do, and their arguments are worth paying attention to.

Re: Why Hypercard Had to Die

#125
post #123

Earlier quoted context omitted.

You're completely missing my point. I'm actually sort of agreeing with you -- but I'm also saying you don't really need (want?) to duplicate Hypercard. Let's just say that considerably more than "thousands" have written BASIC programs that were real useful applications in their day. I would not argue that people have not done the same in Hypercard. There's nothing special about hypercard. What's special is having an…

> "Foundations matter" is pretending to be profound without substance Please take the time to read my article. The kind of pieces you get when something breaks or needs reworking does matter. > Is everything fucked because we all use mice & keyboards? I do not myself believe this, but there are those who do, and their arguments are worth paying attention to.

Yes, I read your article. I think I understand where you're coming from, but it's completely circular. All you need to do is create another mostly impermeable strata. People do this all the time, and it has been wildly successful so far.

In that sense, original foundations don't matter. But, of course, they do, 'cause you had to build a new strata, right? Round and round...

And, in the passing of time, you can simply replace the underlying foundations with something more unified. This, again, happens all the time. CPUs gain SIMD instructions and new addressing modes, VM support, etc. I fully expect, while nothing like DESCRIPTOR, more hardware support for higher level GC to come if its worth is proven.

The input device remark was probably a poor analogy, but it is somewhat similar. "Input devices matter". Well, duh, yeah. But it certainly is not a good summary of an argument to replace the mouse and keyboard with an generalized gesture recognition device. :-) The mouse was an addition to the keyboard, not a reconstruction of it. If we find that, say, speech is better at some things, we don't propose to take away everything else. We build on top, because, while it may offend the sensibilities of some -- you can fix the warts later.

You're right to say that we're all working on huge 8bit micros to an extent -- but beyond the historical implications, it's circular to think that really matters. It's why Alan Kay now sounds like a grumpy old man, as Raskin does, as most people who moan about lisp machines and the DESCRIPTOR architecture. Today, I can run emulations of these things far, far faster than the originals and the software on my box is far more capable than the software people were using then. The real world favors cutting away/polishing a turd into a smooth stone, not piling up someone's perfect diamonds -- because restarting from scratch every time you discover something new is wasted work.

Re: Why Hypercard Had to Die

#126
post #41
post #16

This doesn't seem to be anything special about Hypercard. Hypercard was the BASIC of the Macintosh in that it served the same niche. It certainly was not BASIC, but the idea was the same, a little language and environment that fit into the machine's environment that allowed novices (and then highly practiced novices :-)) to create stuff on the machine for other people to use. It was killed for the same reason BASIC,…

I wished Hypercard was the BASIC of Macintosh. However, when I tried to build something with it (a manager for the offline game Car Wars), I quickly ran into some trivial obstacle, and was told that I'd have to write a C extension. (iirc, it was the lack of a random number generator.) Enough of that. Hypercard was mostly useful as a sort of personal wiki or address card book; I used it quite a bit as a notepad with h…

Similarly, you had to do a lot of peeks and pokes in most 8bit BASICs to really get at the machine. But you could still do something reasonably worthwhile. I don't want to imply that you could do everything. The main idea is simply that you could do quite a bit, and it really did look and feel decent compared to apps of the day. As the systems got more advanced, it became harder or perhaps just less of a priority to empower your average novice.

I've never thought of VB being for an ordinary joe in the same way builtin BASICs were -- it was more of a macro language for Office, and a platform specific COBOL, not an entry-level environment. But I don't have enough direct experience -- perhaps I'm wrong about that...

Re: Why Hypercard Had to Die

#127

Earlier quoted context omitted.

That rant is was quite nice... had me going for a minute. But I'm sure it is one of many in a line of "reasons the software crisis didn't have to happen" - riiight. The "mythical man month"? It's 'cause they didn't do it right in 1960/1970/1980/1990/2001/... If only "they" would learn...

So doing "it" right is a physical impossibility, then? Care to say why?

I upvoted you because I think this is a conversation that should be as civil as possible. My original tone was probably a bit too sarcastic.

On the subject of "doing it right" - every software engineer or maybe most passionate software engineers, have an ability to look at a spec or a piece of code and see how it is "done right". I certainly have my conception, my agenda, of what the right way to code and good software engineering is.

The thing is that this comes after fifty years of efforts to "do it right" failing in the sense that we don't have a single language we're satisfied with, we don't have a single operating system people unambiguously call good etc. The edifice of modern computing seems to lack a sound foundation.

The grizzled software engineer often knows this as a fact without caring about why and indeed the why is obscure.

Oddly enough, I think can illustrate my explanation for "why" by noting the common complain that programmers are "constantly reinventing the wheel". Now, if we look at the automotive engineers who build cars, we will note they too are "constantly reinventing the wheel" (literally now). Yet no one complains that the automotive engineer must create a new wheel for a new car with different mechanical properties than the old car which had the old wheel. Here we can see problem and the solution ("reinventing the wheel") does not seem intuitively to we-humans as a problematic state of affairs.

Looked at this way, initial criticism of a software engineer "reinventing the wheel" is a bit ridiculous. It seem logic that an engineer needs to change the components whenever they are putting together a different system for a different purpose. Moreover, the variety of distinct circumstances a software system needs to be engineered for is vast - it faces far more meaningful-context-changes than a car. In this perspective, it is absurd to expect the

Yet, this intuitively, with our human intuition, just doesn't seem right. I would claim that the intuition we have involve a natural conflating of something like "the idea of a wheel" with "the software implement of a wheel". A software implementation of a wheel or anything is more nebulous than a physical wheel but it is still not "the idea of a wheel". But as we "naturally" conflate these two item is easy for us to believe that we only need to think up the concept of an entity and we will have captured the thing. And this natural conflation of the ideas is perhaps where things go wrong... Where we get off expecting "general purpose operating system" to satisfy the gazillion purposes assigned to it, etc.

Re: Why Hypercard Had to Die

#128
post #62

Earlier quoted context omitted.

You know what's actually the product I've met with the most similarity to HyperCard? Microsoft PowerPoint . You have cards, buttons that can navigate between them in arbitrary ways, effects that can trigger on loading or unloading a card, etc. And for everything else, you have VBA, which, like AppleScript, allows buttons and fields to do arbitrary things (with generic COM objects, even!) I once wrote a full-scale Dra…

There's some truth to this (as appalling as the notion is). While I'm teaching Python to my 7th grade nephew his school is having him 'program' in Powerpoint. As dismissive as I am of the notion, it does allow students to quickly get some stuff up on the screen and start being interactive. Fortunately my nephew has taken to Python and is even starting to become a language snob "That looks like a stupid way to program…

Hmm... putting PowerPoint and Python side-by-side reminds me a little of Shoes (http://shoesrb.com/), which is also something that "allow[s] students to quickly get some stuff up on the screen and start being interactive", but is purely code-based, rather than having any sort of GUI interface construction tool.

Re: Why Hypercard Had to Die

#129

Earlier quoted context omitted.

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 p…

Yes, and I wrote a MIDI sequencer in Borland Delphi in about 1997 and that wasn't particularly challenging either, in fact simpler than attempting similar in SuperCard: http://www.sonicspot.com/aliendiskosystems/aliendiskosystems... The point is, people tend to gloss and shine and wax poetic about HyperCard and it's ilk, but if it was so profoundly simple and awesome, why aren't SuperCard and related (MetaCard or Too…

The technical qualities of a technology are not the sole determinant of its success or failure.

Re: Why Hypercard Had to Die

#130
If the author loves HyperCard so much why doesn't he re-create it? Honestly, it would not take that long.

The answer is because he'd rather write some link bait trashing Apple and Steve Jobs.

And because he knows perfectly well that making HyperCard is not worth his time.

IMHO his calculator example makes it perfectly obvious why HyperCard not only was killed but deserved to die. Like all of Apple's languages of the time, HyperTalk is awful. Additionally HyperCard is not particularly flexible or elegant, nor does it produce particularly fantastic end results. It's crap.

And in a day like today where we have the web enabling people who have never even heard of a pointer (let alone had to deal with pointer math) to write full fledged, performant, distributed, multi-user applications, why does anyone in their right mind spend 5 minute bemoaning the loss of HyperCard? It's absurdity.

Post reply on HN