6 ms·
HyperCard together with Qbasic both fell into that forgotten realm of democratising programming; making it so that even your aunt could write a simple program h
by ashleyn 9y ago
HyperCard together with Qbasic both fell into that forgotten realm of democratising programming; making it so that even your aunt could write a simple program herself. A lot of people ended up learning programming because of these simple languages/tools, and I used to love playing with their projects I'd download from Geocities and the like.
It's a bit of a shame the industry gave up on the idea, and abandoned these syntactically-sugared programming languages. HyperTalk reads just like English; it very much seemed like the next generation of the niche BASIC aimed to fill. Because computers of that era typically opened right into a development environment (e.g. a simple BASIC interpreter), there was even brief discussion of HyperCard potentially replacing Finder as the default Mac OS environment.
- caf 9y agoIsn't https://scratch.mit.edu/ https://scratch.mit.edu/ a modern incarnation of this style?
- setpatchaddress 9y agoScratch is nothing like HyperCard.
- coldtea 9y agoIt's pretty much in the same ballpark.
- Angostura 9y agoHaving used both, Scratch is nothing like Hypercard at all. Hypercard was very simple to start with, but you could produce properly powerful programmes with it if you wanted. A closer analogy would be to the fully featured Logos you could get in the late 80s which looked like simple drawing languages on the surface, but were actually pretty full-featured LISP implementations.
- VonGuard 9y agoAgreed, totally different things. Hypercard was for sharing hyperlinked information. Scratch is for teaching kindergartners how to program in an object-oriented fashion.
- rickyc091 9y agoActually, Scratch is being used in colleges for CS 101 class as well.
- caf 9y agoThe comment I was replying to was grouping Hypercard and QBASIC together under the umbrella of "..democratising programming... reads like English..." and it was specifically this that I was responding to. QBASIC isn't for sharing hyperlinked information either!
- themodelplumber 9y agoI'd be interested to know what circumstances made the concept flourish. Massively popular yet difficult-to-program devices sitting in every home? If I could go back in time I would have stuck with QBasic for at least another five years before moving to C. I wasn't close to ready for the briefly exciting dive into "real" coding, which led to abstract CS concepts, the thick books with exciting illustrations on the covers, the CS classes which were so boring. Meanwhile I believe I could have actually been shipping software had I stuck with QB. Gar to admit but true.
- pjmlp 9y agoI was lucky to have started in 8 bit machines, and having used Basic and Pascal compilers before ever touching C. There wasn't a single new concept regarding low level hardware programming that C teached me, on the contrary, I got to learn how not to do it. And I wasn't infected by the "micro-optimize each line of code as it gets written" culture, rather I was shipping software that was fast enough to keep its users happy.
- schoen 9y agoPeople have written a lot about programming languages that try to use natural-language syntax, but one idea that I remember is that both HyperTalk and AppleScript are a lot easier to read than to write, because you can relatively easily use your knowledge of English to understand what the code is doing, but you can't easily use your knowledge of English to figure out how to phrase instructions in a way that the interpreter will understand. And your own praise of HyperTalk mentions its being easy to read, not easy to write. :-) One way to experiment with this distinction might be to look at the Wikipedia page https://en.wikipedia.org/wiki/HyperTalk#Fundamental_operations https://en.wikipedia.org/wiki/HyperTalk#Fundamental_operatio... and read through the examples and see if you follow them. I'm sure you will. Now, close the page and try to write a valid loop, and a valid user interaction, and a valid test for the existence of a file. I don't think you're likely to succeed unless you've actually programmed in HyperTalk recently. But I could readily imagine that many people can learn HyperTalk more quickly or comfortably than a language without the natural language elements. Maybe part of that is the low psychological barrier to using a system that looks like it makes sense semantically, compared to learning special meanings for lots of symbols.
- slededit 9y agoThe way "normal" people tend to enter into programming is by starting with some example code and modifying it to their purpose. In this sort of scenario readability is very much a benefit.
- endlessvoid94 9y agoI totally agree - QBasic was my first language (after DOS batch files!). The fact that it was an interpreter meant you could read all the code for any program you found. Which, IIRC, was via floppy disks from my neighbor and a friend from school. The web has some of that, but the technology is just so much more complex. The difference between reading the .bas file for SNAKE vs. using the web inspector to understand how gmail works is astronomical.
- pjmlp 9y ago> The fact that it was an interpreter meant you could read all the code for any program you found. This wasn't a granted thing back then. GW-BASIC source needed to be explicitly saved in ASCII mode.
- JulianMorrison 9y agoA lot of basics compiled each line to bytecode as you entered it. The Spectrum made this explicit with its one-keypress-per-bytecode approach.
- efdee 9y agoTo be fair, the difference between Snake and GMail is astronomical in itself.
- mmjaa 9y ago> forgotten realm of democratising programming This phrase reminded me of a thought I once had, that the removal of the compiler as a first-class application in user-centric OS distributions was an imperial gesture to enforce class hierarchies among end-users: you were either a user, incapable of making your computer do new things, or you are a developer, who must be convinced to make computers do new things using rules and policies (and tools) that were forced upon you by the Powers That Be™. I think one thing we should be demanding, as computer power users/developers, is the return of software development tools to the forefront of the computing experience. It is unacceptable that computers are being shipped today without the means of making them productive, other than participation in a walled garden. I know its a tall order, but I'd love to see an OS vendor make a serious point of making their users better developers, not worse.
- nailer 9y agoI'd like to see development democratised as well, but I think the reason for the change is that not expecting users to be developers made software easier. Not just the failure of desktop Linux, but also Windows, which still asks regular users if they want to 'debug' a crashing app. To most people, 'debug' means 'fix' and the button just doesn't work.
- mmjaa 9y agoIt is going to require a shift in perspective to make headway on this issue, I feel. I don't really see it happening except perhaps with some of the more cocktail Linux distros... but honestly, I think that a lot of it has to do with the quality of the tooling. Users don't have time for error messages or debug buttons. Developers barely even do, also.
- icebraining 9y agoNo computers actually come without the means of making them productive; they all have a JS engine. It's how I learned programming, almost twenty years ago - IE5 on a public computer. That said, I do agree that programming should be made more accessible. Bret Victor and others seem to be exploring new ways of doing that, besides making computing more physical: https://dynamicland.org/ https://dynamicland.org/ https://news.ycombinator.com/item?id=15962730 https://news.ycombinator.com/item?id=15962730
- gregknicholson 9y ago> even your aunt I think you may be making a couple of unsavoury assumptions there. > A lot of people ended up learning programming because of these simple languages/tools, and I used to love playing with their projects I'd download from Geocities and the like. But I do agree wholeheartedly with your point. I'd love to see more people embrace hackability over shininess, and become more than just consumers again.
- zeveb 9y agoHyperCard is why I'm a developer today, and it's precisely because it was such an egalitarian tool. I was a (human) language geek as a child, but I loved using computers. I downloaded a bunch of neat stacks other people had made, and I was able to open them up and see how they ticked — eventually I realised that I could make my own stacks, and make the computer do things for me, too! I do worry that HyperTalk ruined me in the same way the Dijkstra asserted BASIC ruined programmers of his era, but I have a good job and seem to write good software so I don't worry about it too hard. I really worry for kids these days: JavaScript + HTML is nowhere near as friendly an environment as HyperCard was. What's a clever kid going to use as a programming environment now?