Raku as a Foreign Language

For people who already know another programming language

Learn Raku the way you learned your second language.

Nobody learns a second language from zero. You read, you compare it with the one you know, you notice the words that fool you, and slowly you lose your accent. This site teaches Raku the same way, and every example runs in your browser.

Start hereFind your level

False friendA2
Python0.1 + 0.2 == 0.3False
Raku0.1 + 0.2 == 0.3True
Why the answers differ

Four kinds of articles

Each one practises a different skill, the way a language course mixes reading, vocabulary and pronunciation.

More ways to learn

Lessons, exercises, longer programs, whole tasks and a reference, all on this site.

Elsewhere: the playground · the FAQ · the Raku course · Andrew Shitov’s books

Find your level

Six levels, as in a language course. Read at your level, and then one above it.

Coming from another language?

False friends and accents start from what you already know.

Every example runs

The programs on this site run in your browser, on Raku++ compiled to WebAssembly. Nothing is sent to a server. Change this one and press Run.

my @cities = 'Riga', 'Leiden', 'Turin';
say @cities[*-1];
say 'Riga'.comb;
say 0.1 + 0.2 == 0.3;