Recreational Programming

An Amstrad CPC 464 home computer from 1984. (Image: Bill Bertram; CC BY-SA 2.5)

Home computers were affordable 8-bit microcomputers that emerged in the 1970s and became popular in the 1980s. Well-known models included the C64, Apple II, and ZX Spectrum. Users typically needed at least basic programming knowledge. Program listings were often printed as source code in magazines and had to be typed in manually. Even commercially sold software usually required some familiarity with how to load and start it.

All devices in a given series were standardised: same graphics, same speed, same operating system. Upgrades meant swapping out chips. This made programming easier, as software would reliably run on any device in the same series. With just a few lines of code, you could draw graphics directly to the screen. The barrier to entry was low. Many of today’s programming languages are significantly more complex. Python is an exception: it allows for a gentle introduction reminiscent of the home computer era. Python particularly shines in the field of graphics programming thanks to its simplicity and strong library support.

Articles

mandelbrot

The Mandelbrot Set

An introduction to Benoît Mandelbrot's fascinating world of fractals.

game of life

Game of Life

John Conway's cellular automaton shows how complex patterns can emerge from just a few simple rules.

chaos game

The Chaos Game

Generate fractals with a simple, iterative random algorithm invented by Michael Barnsley.

sierpinski triangle

The Sierpinski Triangle

Recursive functions can be used to create fractals like the Sierpinski triangle.

2d-wave-equation

The 2D Wave Equation

Simulating water waves by solving the two-dimensional wave equation numerically.

3d-wave-equation

The 3D Wave Equation

Wave propagation in three dimensions using the finite difference method.