4 ms·
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 exte
by makecheck 15y ago
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.
- jodrellblank 15y agoBut 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 parses text arithmetic operations, so it can pretend to be some keys and a screen connected to a hardware ALU. And this is hailed by our "anti-bloat" author as a great example of simplicity which normal people love, and its limits are fine, compared to any other system - e.g. Visual Basic 3 - which is needlessly complex. 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.
- thaumaturgy 15y agoI 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.
- jodrellblank 15y agoIt 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. Visual Basic 3? 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: I don't need examples - I wrote my comment on a phone, and twice it popped up Input system error. The system is being restarted, which, it seems, is a spell-check problem. And that's a system which does me more annoyance than good even when it's working normally. We have a firewall with a subsystem which crashes when enabled, and the manufacturer says it's a known problem with no estimated fix time, the only option is to disable that feature - one of their main selling points of the device. A web server, showing problematic memory use and no process using it. GVim on Windows 7 x64 - I could (not sure if I can remember what it was now) repeatedly make it hang, not just itself but also the entire OS, with an operation on a large file which is instant on Linux. Yet Task manager shows no high CPU or memory or disk use. Anyway, it's like this for us all the time. Yes, but it's a fallacy to think I could practically do anything about it if only it wasn't so black box like. Do you really have time and motivation to become expert enough in all the things you deal with that you could fix any problem if only it was more explorable? You may as well ask a restaurant if you can watch the staff cook all your food over their shoulders so you can intercept and change things if you think it's going in a direction you don't want. Even if you are able to taste too much sugar in an Apple Pie, it doesn't follow that you could remove the sugar if only you were in the kitchen watching how much was put in (it's dissolved by then), and it doesn't follow that you could tell if too much was put in just by looking - it depends on how sweet the apples are, and whether the sweetness changes with length of baking. See also: the idea of systemantics. And what am I going to do when it's your webserver crashing, or your iCloud server, or DropBox, or if it's my car navigation system or my phone's spell checker? But, I would hope that that alone would motivate programmers to make them crash less. Programmers don't make software that crashes for fun, you know. If it took no effort, they would make programs which don't crash right now. But it does take effort, and that's a limited resource which needs to be traded off.
- 15y ago
- sambeau 15y agoHave you never watched a video on your PC depute owning a perfectly serviceable TV?
- jodrellblank 15y agoYes. I have also loaded up an OS and browser built on a cross-platform GUI framework and a TCP-IP stack, and used it to do a DNS lookup and send a HTTP compliant request across a tangle of hundreds of miles of interconnected systems to Google's servers to statistically analyse my query, run it through around 700 servers, through an index of several billion web pages, and thousands of years of Youtube videos, millions of pictures, hundreds of thousands of news articles and twitter streams, ranking the results, and at the top putting the results of my calculation "2+1" or whatever. But then, I'm not the author with the weirdo view of 'simple'. What's your point?
- asciilifeform 15y ago> 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. You prefer inexplicable crashes? Now these are enough to drive someone mad. And if you do prefer them, wire your debugger to a Blue Screen of Death emulation.