3 ms·
> I have to imagine that was more intense with the shite keyboard on these things. Yes and no. Yes, because the keys were not great, obviously. And no, becaus
by unfocussed_mike 5y ago
> I have to imagine that was more intense with the shite keyboard on these things.
Yes and no. Yes, because the keys were not great, obviously.
And no, because the ZX81 and the later Spectrum had a massively clever optimisation.
A big chunk of the lexer and parser was implemented in a way that was kind of coupled to the keyboard driver.
So you never typed out GOTO/GOSUB etc., in full.
In fact you could not type out a BASIC keyword in full; the keyboard would not let you. At the points where your program could syntactically accept a BASIC keyword, the keys went into keyword mode and would not produce letters at all.
So pressing G or H at that point would not get you a letter, but GOTO or GOSUB.
This was unusual then and is unheard of now. But it helped make some aspects of coding much more kinaesthetic. And it ended up being quite quick to key in listings, especially if you replaced the keyboard with an aftermarket unit.
- tyingq 5y agoAh, that's clever. Though the bulk of the typing was the "DATA" lines that got POKEd.
- unfocussed_mike 5y agoYeah, nobody liked keying in the DATA lines!
- Doctor_Fegg 5y agoNo DATA statements in ZX81 BASIC though! That came in with the Spectrum.
- Narishma 5y agoYou had to use character strings instead.
- russfink 5y agoI would even call that a sort of primitive IDE - it only let you enter valid commands like 10 GOTO 20 instead of 10 xhehcbehsjsjdheh
- unfocussed_mike 5y agoYes in a sense it is. You could say its modern equivalent is the MIT LLK research group's design for visual block structure in Scratch, where you cannot assemble control flow in ways that cannot be parsed, and the quasi-physicality of it teaches you as you go. A tangentially-related story: When I was a kid I asked my chemistry teacher if a particular chemical bond could happen in ordinary circumstances. (I can't remember for sure but I imagine I asked about carbon-carbon triple-bonds, not least because it must be a common question and he was ready with the answer.) His response -- which obviously elides some details! -- was to ask me to try to represent it using the balls-and-springs chemical models. Which you can't really do ;-) I am reminded of these things, really regularly, when I design any app or website a person has to interact with. It's possible to design useful tools that are also implicit teachers -- where designs communicate possibility and limitations without overburdening the user with detail.
- unfocussed_mike 5y agoFootnote: I guess the ZX80 did this too, judging by the photo at Wikipedia. https://en.wikipedia.org/wiki/ZX80 https://en.wikipedia.org/wiki/ZX80 I don't think I've ever seen one of these outside a display case, though.