Page 29 is the first code. You need to work through 'War and Peace' of text before you get there. This is not good for a "young person". They need to get there quicker IMHO.<p>I always say that the reason I got into programming (at the age of 10) was because of the BBC Micro User Guide [1].<p>* Page 5: first code written (and importantly, code that has a visual component)<p>* Page 6: Drawing lines<p>* Page 7: Playing sounds<p>etc.<p>I realised very quickly that I was able to make a game. And that was it, I was hooked for life.<p>The Raspberry Pi took its inspiration from the BBC Micro (Model B). It's a shame that there wasn't more of a push to make it as easy as the original Model B to get going and start programming.<p>(Of course I realise that it's running Linux where nothing is simple, but yeah, I'm not sure it necessarily helps kickstart the next generation in the way the original BBC Micro did)<p>[1] <a href="https://archive.org/details/BBCUG/mode/2up?view=theater" rel="nofollow">https://archive.org/details/BBCUG/mode/2up?view=theater</a>
Nice introduction text with detailed description to set-up a R.Pi and interesting examples (AES, calculating Euler's number, Rubik's cube etc.). Shame it uses an utterly obsolete language of which most interesting feature (byte code interpreter making porting the compiler to new architectures comparatively easy) was important in the seventies with its plethora of architectures (many short-lives), but hardly today.
I'm going to test out the assertion that children as young as 10 can use the guide, by asking my 11-year-old to use it. I don't believe it; it assumes way too much knowledge of computer terminology. We'll see.<p>BCPL also looks dry as hell, I'm not convinced it's a great first language.
It one is going to play with obsolete languages, then wouldn't Algol 68 be a better pick? At least it has types beyond "cell".<p>Or is the idea that BCPL is quite close to the bare metal?<p>Algol 68 Genie: <a href="https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html" rel="nofollow">https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html</a><p>See this, code starts on pg 11: <a href="https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf" rel="nofollow">https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf</a>
(after 18 pages of preface)<p>See this for how BCPL begat B which begat C: <a href="https://www.bell-labs.com/usr/dmr/www/chist.html" rel="nofollow">https://www.bell-labs.com/usr/dmr/www/chist.html</a>
> To install the BCPL System on the Raspberry Pi you must first ob-
tain a copy of the file bcpl.tgz [...]<p>Version numbers, what are those ...<p>When you have some problem with bcpl.gz, just send an e-mail. Be sure to mention the approximate date when you obtained bcpl.gz. Like was it closer to Halloween last year, or more toward Thanksgiving or Christmas? Be sure to download bcpl.tgz daily, until the problem goes away.
"The Young Persons Guide to BCPL Programming on the Raspberry Pi - Part 1" should win a prize.<p>These days, high quality, dry British humor is hard to find, however this 787 page tome on BCPL programming for "young persons" is perfection.<p>I am breathlessly awaiting part 2.
BCPL ("Basic Combined Programming Language") [0]<p>Insanely frustrating that BCPL doesn't seem to be defined anywhere in the document itself.<p>[0] <a href="https://en.wikipedia.org/wiki/BCPL" rel="nofollow">https://en.wikipedia.org/wiki/BCPL</a>