Hacker News new | ask | show | jobs
by PaulRobinson 95 days ago
I learned to code on my school's BBC Micro. [0]

8-bit. 16KiB of RAM. BASIC as the programming language. 640x256 resolution in 8 colours.

I could make that thing sing in an hour. It was hard to get it to do much, but then the difficulty was the fun thing.

By the time we got to the early 2000s and I could buy something with more RAM, CPU and storage than I could ever reasonably max out for the problems I was interested in at the time, I lost something.

Working within constraints teaches you something, I think. Doing more with less makes you appreciate the "more" you eventually end up with. You develop intuitions and instincts and whole skillsets that others never had to develop. You get an advantage.

I don't think we should be going back to 8-bit days any time soon, but in the context of this post, I want novices to try and build software on an A18 chip, I want learners to be curious enough to build a small word game (Hangman will do at first, but the A18 will let them push way, way past that into the limits of something that starts to feel hard all of a sudden), to develop the intuition of writing code on a system that isn't quite big enough for their ideas. It'll make them thirsty for more, and better at using it when they get it.

[0] https://en.wikipedia.org/wiki/BBC_Micro

4 comments

> Working within constraints teaches you something, I think.

It absolutely does. But every system has constraints; even when provided with massive resources, humans tend to try things that exceed those resources, as evidenced by Parkinson's Law of data https://en.wikipedia.org/wiki/Parkinson%27s_law

It was worse than you remember. You could have 640x256 in monochrome, or 320x256 with 4 colours, or 160x256 with 16 colours (which IIRC was actually 8 distinct colours plus 8 flashing versions of them).

The game Elite did something extremely evil and clever: it was actually able to switch between modes partway through each frame, so that it could display higher-resolution wireframe graphics in the upper part of the screen and lower-resolution more-colourful stuff for the radar/status display further down.

AlexandertheOk's documentary on Elite and the BBC Micro: https://www.youtube.com/watch?v=lC4YLMLar5I
Switching modes like that was common practice on the Amstrad CPC (which used the same 6845 video chip), but as time went on, people also learned how to change the base address of screen RAM part way through each frame. This gave you super-smooth hardware scrolling for the main game area while still retaining a static score display. Unfortunately it came too late in the machine's history to be used for more than a handful of games, but demo coders used it extensively (and still do).
I hear you, having learned programming on a machine even more constrained by the BBC Micro. But learners today are more likely to "Siri, build me a Hangman app."
I’m waiting for somebody to come and tell us about the time they punched cards by hand, one hole at the time, and then threw coal in the furnace to have the cards interpreted by a steam-powered computer.
Is this close enough? it’s from 1969, I wonder what became of them:

“Tomorrow's World: Nellie the School Computer 15 February 1969 - BBC”

https://www.youtube.com/watch?v=f1DtY42xEOI

Do you have a substantive argument against any points made by parent?
it should be clear i'm not arguing along the points made by parent nor against them.