Live data from Hacker News

Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

news.ycombinator.com

321–330 of 340 posts

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#321

In the old days you saved up an extraordinary amount of money, bought a Commodore 64, plugged it in, and then had absolutely no idea what to do unless you had books. So you went and got books or magazines, some maybe from the library, some from bookstores, and many of them might be for systems other than the C64. It wasn't uncommon for a magazine to have to cater to a dozen slightly different versions of BASIC: Apple…

I’m absolutely convinced that typing stuff in — carefully! — from magazines or books was one of the most productive bits of my early experiments with a computer (BBC in my case). I’m sure I’m not the only one who thinks this — for example, the “hard way” books seem to by trying to re-create this experience [1]. Spending some time typing code gives it a chance to percolate in a way that quickly glancing at it before “click to run” doesn’t.

[1] https://learnpythonthehardway.org/python3/intro.html

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#322

Earlier quoted context omitted.

Mine was Pascal in Turbo Pascal (6?) for DOS, circa 2004. It speaks volumes to the outstanding quality of Turbo Pascal and the Pascal language that it still holds up, more than 20 years later.

I feel old. Mine was commador64 basic in 1988

I started with AppleSoft basic around 10 years old. It was fairly simple to achieve "stuff". But if your dream was videogames (and when you're 10 years old, well, you see :-)), then you ended up in front of the assembler/machine code wall. And there your dreams vanished (or you were crazy enough to learn by yourself and books).

So I think Pico8 or Scratch are cool in the sense that they give you an environment to start programming. But OTOH, if what you look after is AAA games, then you'll soon be confronted to a brand new wall, ie : DirectX, GPU, C++ whatever. Now I rememeber of Processing which is cool too.

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#323

Raspberry PI cab be said to be evolved from a ~ power-on-to-BASIC computer; to wit: the (BBC) Acorn Archimedes. You can still get RISC OS for it even. Basically, you power on; hit F12; *BASIC >_ and bob's your uncle: you get a nice BBC BASIC prompt at the bottom of your screen. https://www.riscosopen.org/content/downloads/raspberry-pi (that said, why not use pi + python? It's the new BASIC. And it supports turtle gra…

I came here to advocate much the same.

Raspberry Pi Zero + Risc OS Pico.

The fastest BASIC interpreter ever written, with local variables, recursion, inline ARM assembler, and more.

Advantages over Python etc. on Linux:

* No complex OS underneath;

* No need to learn arcane concepts like "editors" and "files" yet;

* No significant whitespace;

* No weird C-isms like the output statements, the two meanings of % or any of that legacy nonsense it inherits from 40y of crap underneath;

* Zero maintenance required.

Blinding fast, cheap as chips, runs on a dribble of power, solid-state and silent.

If the kid takes to it, can be trivially enhanced to a full rich GUI OS with tons of educational apps and software.

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#324

"Back in the day" the BASIC language made sense, as it was right at your prompt in text based interfaces. The same situation today is the web browser, and the ability to open up the developer's console and getting direct access to a web site's JavaScript, html & CSS. Forget BASIC, and introduce your kids to web developing. They will "get it" much faster than "boring dumb BASIC, can't do web stuff, it sucks."

Some basic scripting is probably still a good starting place for younger kids to wrap their minds around syntax, basic constructs, etc. Dropping them in the DOM right away is probably in the deep end, too much, although I'd agree getting them there quickly opens a lot of fun and practical doors faster than almost anything else. edit: Second the suggestion of Python below, even if it's just for a few months to learn t…

You under estimate kids. You all are under estimating them. 10 year olds figure out how to modify mods written in C++ for games they love. Given interest, they will get it. And the web is what has their interest today.

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#325
post #125

Earlier quoted context omitted.

>why not use pi + python? Do you have experience with teaching python to kids? I am afraid to try it with my son because white space is important, I tried only Scratch and making him think as "a machine" is hard enough adding syntax errors on top would make the job much harder, let me know if you have experience with this and if you think I am wrong.

Python seems like a nice update to what BASIC was in the 8-bit era. Real-time interpreter so you get instant feedback, including very simple imperative syntax. (IMO any introductory programming environment that doesn't let you do something like 10 PRINT BUTTS 20 GOTO 10 and get BUTTS BUTTS BUTTS... out of it is a failure to launch.) But unlike BASIC, Python will grow with you and you can use it for non-trivial projec…

>MO any introductory programming environment that doesn't let you do something like 10 PRINT BUTTS 20 GOTO 10 and get BUTTS BUTTS BUTTS... out of it is a failure to launch.

But Python doesn't let you do that - there's no goto...

While I'm being somewhat tongue-in-cheek, I do think it's true that

  while true:
    print("BUTTS")
carries quite a bit more conceptual overhead than the BASIC equivalent, and is not exactly a "very simple imperative syntax". You don't have the simplistic and obvious "goto" - instead you have the ungrammatical and obtuse "while true". And then there's the indentation, the colon, and the parentheses around the argument to print... all explainable of course, but all requiring explanation. To fully grok it you need to understand booleans and conditions, block structure, and function calls. Of course it's all perfectly obvious to experienced eyes but remember the mountain you have to climb when you're first starting out - more than one or two seemingly inexplicable things when you're first starting out can be very discouraging.

Worse, to my mind, is the loss of that small moment of enlightenment regarding complex behavior emerging from computer programs - with 10 PRINT BUTTS : 20 GOTO 10 you are composing two atomic, individually obvious statements to create something more - an infinite loop. When one of the statements is a slightly more complex line that essentially means "do an infinite loop", some of that magic is lost.

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#326
I separate "power on to" and "BASIC". In my view, Python, is the language closest to "BASIC done right," so I am interested in "power-on-to-Python".

In classic "power-on-to-BASIC," the BASIC interpreter was a single shell that allows interactive instructions, OS commands, and editing (with line numbers). Even to run a game, one needed to know and type at least one BASIC command.

Python's shortcoming here is that one cannot easily run Python programs from inside the Python REPL. Check out this silly attempt at Python with line numbers and a READY prompt...: https://github.com/frankseide/basicpython

The big difference between a Python IDE and Scratch (and similar GUI-based systems) is that Scratch is a top-down approach that start with high-level objects/operations and gradually give access to more and more details. On the other hand, the classic BASIC computers, and a Python system, are bottom-up. Those would not allow self-written games to be flashy from the start, but on the other hand kids would gain a much deeper understanding since they have to build things up themselves.

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#327

Earlier quoted context omitted.

Some basic scripting is probably still a good starting place for younger kids to wrap their minds around syntax, basic constructs, etc. Dropping them in the DOM right away is probably in the deep end, too much, although I'd agree getting them there quickly opens a lot of fun and practical doors faster than almost anything else. edit: Second the suggestion of Python below, even if it's just for a few months to learn t…

You under estimate kids. You all are under estimating them. 10 year olds figure out how to modify mods written in C++ for games they love. Given interest, they will get it. And the web is what has their interest today.

No I'm thinking for like 7-8 year olds. I was doing C++ at age 11, but it was substantially easier because already had a few years of Pascal under my belt.

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#328

Earlier quoted context omitted.

Mine was Pascal in Turbo Pascal (6?) for DOS, circa 2004. It speaks volumes to the outstanding quality of Turbo Pascal and the Pascal language that it still holds up, more than 20 years later.

I feel old. Mine was commador64 basic in 1988

I started with Cosmac ELF 1802 with 256 bytes of memory 128x64 graphics. I would have thought I'd died and gone to heaven if I had something that ran pico-8.

https://en.wikipedia.org/wiki/COSMAC_ELF

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#329
post #234

Earlier quoted context omitted.

>All of these are explicit design choices, for example a fixed palette is important to give games a "Pico-8" look and also reduce decisions regarding color choice. Indeed, which is why they won't change, which is why (for me) an alternative like TIC-80 is preferable to waiting around for Pico-8 to become what I wish it were. The virtual console space is tantalizing, but the culture around it has different tastes from…

> I also totally understand why virtual consoles almost all use BASIC or lua, but (for me, not for my kids) I wish there were an option with static types. The combination of not being able to see much code on the screen at once plus no static type checking is pretty uncomfortable for me At some point the question becomes why not just use Unity, BFXR, Bosca Ceoil and ASE Sprite if you want no constraints and better to…

The all-in-one nature of most fantasy consoles is really appealing. They are also not terribly opinionated, which can be nice. When I tried Unity its 2d story was not good and I kind of struggled with its opinions. I've heard that its 2d has improved, but haven't had the time to explore it since.

I actually do like reasonably low resolutions in-game rather than in the code editor. When I play with my kids I want it to feel like good graphics aren't too far out of reach, and low-res makes it easier to get to something in the range of acceptable. My own kids appreciate their own pixel art more than anything they do in Scratch, for example.

I also think I might be slightly younger than most fantasy console fans, maybe? When I was very young I had an Apple IIc, which was good for booting straight to BASIC, but most of my childhood programming occurred in the era that spanned from CGA cards to VGA, and then I left programming for a while when 3d acceleration became a thing. One quirk of this era was that tradeoffs between color depth and resolution were just a normal thing. So for me, it would be a natural thing for a retro game dev environment that simulated a fixed framebuffer size to support, say, a 256x192 256 color mode and a 512x384 4 color mode. An editor in that higher-resolution, low-color mode would be way more comfortable than in low-res. (Pico-8 does have an alternate resolution, but it's 64x64 and still 16 color- somewhat evocative of the old 40x40 mode that Apples had).

TIC-80 does almost, um, tic all my boxes. I mostly just want a higher-resolution code editing mode (for both me and my kids) and a static language (for me; my kids don't really have a notion of types (yet)). So obviously the solution is to fork TIC-80 and see what I can make it do...

Re: Ask HN: Is there a modern “power on to basic” computer, for kids to learn on?

#330
There are quite a few "boot to basic" comments here, but one of the things I think they are missing when suggestions like "you can just have rpi start X,Y,Z at boot" or "use W,R,S in your browser" come is that when you have something like ZX Spectrum or C64 it was a static platform for 5-10 (and now upto 30) years, so there was no "oh, you can't DL jquery so your fancy webthing broke" or "you'll get to your IDE soon but first java updates, apt updates, chkdisk, fdisk, or something else that needs to pop up in your face", and of course no other kinds of distractions like "bah, my game doesn't work, lets zone out on youtube lolcats or play $random_FPS instead" to take up your attention.
Post reply on HN