Hey #linux people and #developers, I need your advice.

My 8 year old son has fallen in love with this old laptop that honestly isn't useful for that much as the speed and wifi is so slow.

But he says he wants to learn how to code on it.

This brought me back to the days of GW-basic when I was a kid.

Is there something like gw or q basic for Linux. Something that would run on a 32 bit computer?

@codemonkeymike you might want to check out https://qb64.com
QB64.com

QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS.

QB64.com
@codemonkeymike ..i would definitely suggest buying a Raspberry Pi , like this one https://www.raspberrypi.com/products/raspberry-pi-500/
or a cheaper model, i have a Pi-400 myself, it's a great computer for programming in Python for example
Buy a Raspberry Pi 500 – Raspberry Pi

A fast, powerful computer built into a high-quality keyboard, for the ultimate compact PC experience.

Raspberry Pi
@codemonkeymike You can try gambas

https://gambaswiki.org/wiki/app — applications

It is all in one. IDE, GUI design, many application as example. It simple, light and powerfull.

https://gambas.sourceforge.net/en/main.html — start page

#gambas #linux
/app - Gambas Documentation

@codemonkeymike how about Hedy? Provides a gradual learning path towards full Python, all in the browser: https://hedy.org/
Hedy - Textual programming made easy

@codemonkeymike I dislike basic family languages, they never fit my brain well enough for me to be nostalgic about them.

Python or JavaScript would be my inclination. For all the flaws, an HTML doc with attached JavaScript is very near the sweet spot where you can do interesting things fast enough to keep it engaging instead of overwhelming.

@codemonkeymike The other suggestions don't cover the immediate ability to do graphics.

Install dosbox and put the Basic you remember inside.

If not, I'd try to find some virtual console that's not too difficult. I think PICO8 might offer the same kind of a kick.

Failing that, Allegro is a not too awful graphics library for many languages.

@codemonkeymike I was a QB expert in the 80s and 90s and promoted it widely as a great learning language for that time. It's still a great learning language for purely academic building of fundamentals, but soon your son will find it restrictive and not-quite-relevant, and support and community for QB is a diminishing niche.

I recommend he learns Python. A search for "coding for kids python" will bring up many links to start with. This will be a relevant skill with wide community and support.

@codemonkeymike Linux Mint runs well on almost any machine. You can install PyCharm-Community or Visual Studio Code and you will have an integrated development environment whose capabilities far exceed that of QB. Visual Studio Code will also support many other languages.
@codemonkeymike FreeBASIC 🤷‍♂️ needs separate IDE like Geany or smth.
@codemonkeymike @cbw Geany has FreeBASIC support already. I've used it for QB64. Tbh, though, the QBASIC editor is part of the whole experience.
@codemonkeymike @blogdiva Lazarus still has the bestest GUI designer I’ve ever used. Granted, it’s basically Delphi, but I had a lot of fun with it as a young teenager.
@codemonkeymike If you have DOSBox, you can just straight-up run GW-Basic or QBasic. There is also an extended port of QBasic available here: https://qb64.com/

Also check out Thonny, Turbowarp, GDevelop, and ZeroBrane Studio; all of which are available on Flathub if your distro of choice doesn't package it themselves.
QB64.com

QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS.

QB64.com
@codemonkeymike I know it's not quite what you're asking but one option to just run the original QBasic inside Dosbox. That works great. Bringing back good memories of the Gorilla and Nibbles games for me.

Tell us a *little* more about the specific computer your son wants to use?

Or: figure out when it was new and use the Wayback Machine to find “programming tutorial” for that year?

@codemonkeymike

@codemonkeymike

Sounds like a job for QB64!!

I think it will still run on a 32-bit machine.

@vwbusguy ?

QB64.com

QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS.

QB64.com
@codemonkeymike @rl_dane I have a copr repo for qb64! But I've also successfully ran actual #QBasic from a floppy drive in #Lutris, which I'm near certain uses DOSBox under the hood, but the important detail about that is that I didn't have to figure that out for myself.

@codemonkeymike @rl_dane That said, if you want to compile stuff natively for Linux (as well as modern Windows, MacOS, *BSD), use qb64 (or qb64-pe) which is the direct successor to the old QBasic.

https://git.qb64.dev/QB64

QB64

QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS. Follow us on <a rel="me" href="https://oldbytes.space/@qb64">Mastodon</a>.

QB64: Modern BASIC

@codemonkeymike @rl_dane 32-bit support was dropped around 3 years ago, IIRC. But you could use a slightly older release. It's not like it's fundamentally changed all that much in that time.

On the flip side, aarch64 is supported, so you could use a raspberry pi. I compiled the qbsh binaries and container images on a Pi400.

@codemonkeymike There are several suggestions on this page: https://askubuntu.com/questions/6023/what-basic-intepreters-are-available#6028

After a quick look, the basic256 home page seems broken, there is still doc on the wiki and activity on the sourceforge page, but I didn't find a description of the project.

But my-basic seems lightweight :)
➡️https://github.com/paladin-t/my_basic

What BASIC intepreters are available?

Was asked by a new Ubuntu user - who also wants to learn about programming - what he could use to run BASIC code. He was working through a BASIC book before trying out Ubuntu, and he'd like to cont...

Ask Ubuntu

@codemonkeymike

If you look at the Linux ditros available and find an iso/img with 386 in the name, that's a 32 bit distro. Anything AMD in the title is 64 bit(regardless of processor brand).

If you stick to CLI rather than GUI, you should find something in there. Failing that, there will be heaps of retro computing buffs on YouTube. 'Veronica Explains' comes to mind. She's cool.

Good luck, also to your son.

PS. I run current Linux Mint 22 on a 2010 13" MacBook pro no problems, but its 64 bit.

@codemonkeymike I’d try Python and see if you can get a hold of this book. #Fedora has access to the software mentioned and will be a good setup.

@codemonkeymike If you want BASIC, I'd suggest taking a look at BBC BASIC.

https://www.bbcbasic.co.uk/

BBC BASIC

The website dedicated to the BBC BASIC programming language

@codemonkeymike you should take a look at Sonic Pi. Programming with musical feedback in real time. It’s gorgeous.
@codemonkeymike I’d say Python. Vast amounts of great resources for learning (many aimed at kids), easy to do “cool” graphics with PyGame.
@codemonkeymike What about the LOGO language? If this laptop can run KDE, KTurtle would be great

@codemonkeymike I would suggest Decimal BASIC.

https://decimalbasic.web.fc2.com/English/

There is a 32bit version along with normal 64bit variants.

Though they are x86 only.

Decimal BASIC

@codemonkeymike

What are the specs of the laptop? Python is perfectly capable of running on a 32-bit machine with not much memory - the resources required will be mostly due to the graphical desktop, if you're using one.

Even a 10-year-old laptop at this point probably has multiple CPU cores and a couple of GB of RAM, and will be plenty fast enough for console-mode Python applications. There are lightweight Linux desktop environments that will also happily run on such a system.

@cazabon and you don't think python is too tricky for a kid? What I always liked about q-basic was it was an editor and you hit f5 or something to run your program. Simple

@codemonkeymike

No, I don't think Python's too tricky in that sense. For one thing, kids are a lot better at figuring stuff out than adults usually give them credit for. But more specifically, there are editors that straddle the line between "just a text editor" and real IDE and have minimal IDE functionality, giving you a Python console in the same window and a button to re-run the code, etc.

So in that sense, it won't be much different. Arguably better, since it will have proper GUI elements, scrollback in the console and code, etc.

Python-the-language is bigger and more complex than it was 20 years ago, but you don't have to use all the complicated stuff! You can still learn Python writing code that resembles code from that era, and then start adding the fancier stuff as you find a need, want a challenge, or simply want to expand your repertoire. "You/your" being your kid in this case...

Many, many years ago I taught programming to kids at the Y, using BASIC. If I was doing it today, I would be teaching Python, and it would be much, much easier for them to understand.

@cazabon that's awesome. And honestly, I would love to learn Python too.

Is there Any kid focused books or courses you'd recommend?

@codemonkeymike

Unfortunately, I've been programming in Python professionally for 25 years, and personally for 30, which makes me spectacularly out of date on how to learn Python from scratch today.

Back in the day, I frequently recommended people start with the basic tutorial included in the Python official documentation. It was well written and not too difficult for a beginner, even someone new to programming in any language. After that, you could go on to various books (I'm old...); the tutorial got you started, but didn't get you all the way to "design and implement my first useful program".

Others here can probably give better and more recent recommendations for online tutorials, YouTube video series, or even (gasp) books. Adding some tags...

#Python #LearnPython #programming #LearnProgramming #learn #tutorial #Python101

@cazabon @codemonkeymike I liked Learn Python The Hard Way.

@cazabon @codemonkeymike My coding background is I've messed with making bash scripts and a bit of Python, but this year I'm learning to code in a more step-by-step comprehensive manner, and Python is my starting language of choice.

I'm currently using "Python Programming MOOC 2025" offered by the University of Helsinki. Its free, self-paced, and has lots of little programming exercises. I'm about a third of the way through and find it an excellent resource!

https://programming-25.mooc.fi/

About this course - Python Programming MOOC 2025

Learn the basics of programming with the Python programming language. The focus of the course is on programming, and you will learn how to write programs and understand how they work. For example, the basics of algorithms, control structures, subprograms, object-oriented programming are covered. The course is suitable to anyone who wants to learn programming. No prior programming experience is required.

@codemonkeymike @cazabon Thonny is a Python IDE made specifically for beginners, that could be a tool to remove some of the complexity of getting started? I think it should be pretty lightweight too.

https://thonny.org/

Thonny, Python IDE for beginners

My 8 year old son has fallen in love with this old laptop that honestly isn’t useful for that much as the speed and wifi is so slow.

But he says he wants to learn how to code on it.

@codemonkeymike yes, I would recommend learning Racket. The Racket language is relatively lightweight compared to modern app development frameworks such as VSCode so runs nice and fast on older hardware, and it is designed specifically for teaching coding. There are some nice books aimed at kids for teaching Racket as well:

It is about as easy as learning BASIC was when I was a kid.

#tech #software #Lisp #RacketLang #LearnCoding #LearnToCode #QBASIC

Racket

@codemonkeymike I just did a search, and I have mono-basic and, which is "Visual Basic Compiler and Runtime". There's not really anything about it being "Basic" that would really be a primary selling point, though I wouldn't suggest Ook! or Assembly language, or I guess probably dozens of others. Python, is what I tend to do my simple (but not bash simple) stuff in. Though it can be a pain.

@codemonkeymike UCB logo. Designed to help children learn to think. Very easy to start, graphics first.

https://medium.com/@isetitra/logo-language-for-windows-mac-and-linux-ab184196bd20

LOGO language for windows, Mac and Linux - Insaf Setitra - Medium

The name “LOGO” is derived from the Greek word “logos,” which means “word” or “thought. Following this name, ”LOGO was developed in the late 1960s by Wally Feurzeig, Seymour Papert, and Cynthia…

Medium
@codemonkeymike why not the real thing, either dual-boot or in a DOS emulator?