CMC logo Cave Man Code

Talk caveman. Make computer do things.

Cave Man Code (CMC) is a real programming language a 4 year old can start using in 10 minutes, with enough power underneath to grow for years. Drag blocks or type words like oga, grunk, and unga.

Download CMC free Start the wiki

ugg your first program
oga "Ooga booga!"

grunk rocks = 3
booga rocks
    oga "bang rock", lap
unga

skrib circle 200, 200, 100

Learn in 30 minutes

One tutorial takes you from nothing to loops, clumps, and piles.

Open tutorial

Big wiki

Every word has its own page, with examples and tips.

Open the dictionary

OGABOOGA CODER

The IDE with the compiler inside: drag-and-drop blocks plus a real text editor and drawing canvas.

Meet the IDE

This is the home of the friendliest real programming language on the internet. CMC was built so that a brand new coder -- even a four year old sitting on a lap -- can say "make the computer talk" in the first minute, and still be learning clever things years later.

What is Cave Man Code?

Cave Man Code (CMC, say "see-em-see") is a small programming language where the words sound like a cave person invented them:

ugg This is a note. Ugg means "ignore this line".
oga "Ooga booga!"

grunk rocks = 3
booga rocks
    oga "bang rock", lap
unga
  • oga means say something
  • grunk means make a box (a variable)
  • booga means repeat
  • unga means done with this block
  • ugg means a note for humans

That is already a real program with a loop in it.

Why is it easy?

  • One idea per line. No semicolons, no curly braces, no setup.
  • Blocks close with a word you can see: unga.
  • Friendly errors. Instead of SyntaxError: unexpected EOF, CMC says

OOGA! Line 4: A block was opened but never closed. and tells you the fix.

  • Two ways to code. Drag-and-drop blocks in OGABOOGA CODER, or type the

words. They are the same language underneath.

  • Nothing to install. The compiler and the IDE are C++, and the programs

have no dependencies at all.

Why is it not a toy?

Under the simple words, CMC has numbers (int and decimal), text, lists (called piles), booleans (gronk and nork), functions (clumps), recursion, comprehension-style list loops, random numbers, and drawing. If you know Python, the built-in cmc compile turns any CMC program into readable Python.

Where to go next

A taste of the drawing power

skrib size 400, 400
skrib color "gold"

booga 12
    skrib line 200, 200, 200 + lap * 30, 20
unga
oga "Sun rays drawn!"