Language

Octave

First appeared
1988
Paradigm
Array-oriented, imperative, dynamically typed
Toolchain
GNU Octave 9.4
Container image
debian:trixie-20261027-slim + octave 9.4.0-1

GNU Octave is a free language for numerical computing, written to run MATLAB programs with few or no changes. Work on it began in 1988, as companion software for a chemical engineering textbook, and the first public release came in 1993. Like MATLAB, it’s still used in engineering and signal processing courses.

Every value is an array, and arithmetic works on whole arrays at once: values - m subtracts from every element, and A * v is a matrix product. Octave also ships many of the methods themselves, such as mean, var, polyfit, and eig. The from-scratch versions here write those out. The Octave Forge packages, such as statistics with its kmeans, aren’t installed.

Quirks

Concepts in Octave

Run the examples locally

You need Docker and Python 3. The harness builds the pinned container and runs every Octave example:

git clone https://github.com/qnixon/dswithx.git
cd dswithx
python3 harness/run_tests.py --language octave