History

The story of each language

Pick a language to read where it came from, see them all on the timeline, or read comparative essays in Articles.

2026

Guji

Statically typed and functional-first, compiled to native code - optimizes for text processing, with first-class regex and grammars.

2009

Go

Statically typed and imperative - optimizes for simplicity, fast compiles, and easy goroutine concurrency.

1996

OCaml

Statically typed and functional - optimizes for correctness through type inference and pattern matching.

1990

Haskell

Statically typed and purely functional - optimizes for correctness, composability, and reasoning about code.

1987

Perl

Dynamically typed and multi-paradigm - optimizes for expressive text manipulation; there is more than one way to do it.

2015

Raku

Gradually typed and multi-paradigm - optimizes for expressiveness, with built-in grammars and rich operators.

2010

Rust

Statically typed and multi-paradigm - optimizes for memory safety and speed without a garbage collector.

1991

Python

Dynamically typed and multi-paradigm - optimizes for readability and a batteries-included standard library.