Ask HN: What's a modern equivalent of QBASIC?
I loved QBASIC as a kid. The ability to write a few lines of code and get something as simple as a word on the screen, flashing in a variety of colours was like magic. What's a modern equivalent of that that kids could play with and get excited about coding (I'm not talking about drag and drop platforms like Scratch)
26 comments
[ 0.28 ms ] story [ 61.7 ms ] threadIf they're older, I would probably go with javascript. The browser is the new terminal.
There is also ZX Spectrum Next < https://www.specnext.com/shop/ > which brings all the immediate mode goodness in a modern package.
[1]: E.g., http://fuse-emulator.sourceforge.net/
What we lack, now, is a computer that boots up into one of those options and comes with a nice programming guide for it.
I think that Python language when used with PyGame is even more fun for beginning programmers than QBasic was. With PyGame you can get some pretty nifty graphics working quickly and also sound, music, etc. It is easy to write simple games with it too. For more older students it is easy to experiment with various physics problems.
[0] http://robhagemans.github.io/pcbasic/
[1] http://robhagemans.github.io/pcbasic/doc/
https://news.ycombinator.com/item?id=15371973
It is QB64 or FreeBASIC or GAMBAS if you're coding for Raspberry Pi and Linux. Not Python. Not Javascript. Not Ruby.
If you're looking to transition from scratch to actually shipping apps, give Stencyl a try for free. Stencyl allows you to ship HTML5 and Flash apps (it's general purpose enough)and games <ith its free version.
Don't let your kids get stuck with the command line with Python.
See -
www.QB64.net
www.freebasic.net
gambas.sourceforge.net
See also monkeycoder.co.nz for yet another modern BASIC dialect.
You can get BlitzPlus and Blitz3D here -https://blitzresearch.itch.io/
And you can get Blitzmax (which also runs on Linux) here- https://www.syntaxbomb.com/index.php?topic=7.0
http://krzysztofjankowski.com/blog/pico-8-fantasy-console.ht...
Swift Playgrounds on iOS has that, and allows you to inspect some (most? All?) of the source of that boilerplate code.
I wish it ran on Mac OS, because it currently is too limited for ‘real’ work.
The ‘lessons’ are nice, though. For example, there is a playground using ARKit now)
We avoid boilerplate, so they can get text and images on the screen with their first line of code. And because what they build is a real web app, they can just send the link to their friends/parents to show them what they built.
I think that's the magic recipe for kids - short time to first result, and make sure they can show others once they've done it. (Conveniently, this also works on adults...)
I'm happy to share our workshop teaching materials if you're interested - just drop me an email.
After learning about arrays I got very excited and cobbled together a space-invaders game in Dark Basic with particle effects where all simulation data was stored in one giant table. Pretty amusing in retrospect. Arrays sure beat having to hand-name each variable in code. Dark Basic was great. Also a good playground for doing little 2D physics games / simulations. It was a lot of fun to do this at the same time as learning highschool trig/physics as you can actually use this knowledge to build something.
After that I went down the C/C++/OpenGL/DirectX spiral and didn't produce anything playable/useful for years (engine development, hah).
After that I went down the early Java-era path and was able to start making playable application again (memory management + a standard library - oh my).
edit: these days i write/maintain python applications. i tried python + pygame for game development a few years ago. honestly python doesnt seem like a great language for game development. e.g. how do you actually ship an application? all the py2exe style approaches to packaging/bundling are essentially hacks. pygame didn't seem like such a performant/easy framework for input/sound/graphics etc.
http://www.red-lang.org/
But in practice, from seeing what gets my son excited:
1. Windows Script Host
2. Html
3. If you are ready to do some drag-and-drop: Unity3d.com - it is free for trial and there are online tutorials on youtube etc, and you create a game, which is exciting.