Tutorial

The programming language iceberg

By Humayu Sandhi • • 8 min read
The programming language iceberg

The programming language iceberg

A meme chart that ranks languages from "everyone's seen this" to "this shouldn't exist" — and what it actually says about learning to code.

If you've spent any time in programming corners of the internet, you've probably run into an iceberg chart: a wedge of ice with dozens of language names running from the sunlit surface down into total darkness. It borrows the format usually reserved for conspiracy theories and urban legends, and points it at programming languages instead — mainstream tools up top, stranger and rarer ones the deeper you go.

Surface
ScratchPythonJavaScriptHTML/CSSJava
sea level
Shallow water
PHPRubyCC++C#GoSwift
Deeper water
BashSQLRustTypeScriptKotlinScalaPerl
Getting obscure
COBOLErlangFortranPascalLispProlog
Rare & niche
Algol 68NimZigForthAPL
The abyss
BrainfuckMalbolgeWhitespaceINTERCALx86 asm

Why the format took off

Iceberg memes were built for exactly this kind of joke: mainstream knowledge floats near the surface, "forbidden" or obscure knowledge sits deeper down, and the deepest layer is reserved for things almost nobody has actually encountered. Programmers adopted it because it maps onto something real — as you move from application code toward the machine, you genuinely do meet fewer people, older tools, and stranger ideas along the way.

A tour through the tiers

Surface

What most people learn first — built for approachability over raw power.

Shallow water

The everyday languages behind most production software you use daily.

Deeper water

Still common, but tied to more specific jobs — scripting, systems, typed tooling.

Getting obscure

Aging or highly specialized languages that still quietly run enormous amounts of real infrastructure.

Rare & niche

Kept alive by small, dedicated communities rather than mainstream adoption.

The abyss

Esoteric languages built to be strange or difficult on purpose — art projects more than practical tools.

What the meme gets right

It does track something true: fewer people work at each layer as you go down, and the deeper tiers often reward — or demand — a closer understanding of what's actually happening under the hood. It also captures a real feeling in developer culture: the sense of progress that comes from stepping past the frameworks you use daily and seeing what they're built on.

Where it's more joke than truth

Depth on the chart doesn't equal difficulty or value. Some "shallow" tools like C or SQL are notoriously hard to master, while several "deep" esoteric languages are closer to performance art than practical skill. Placement also varies wildly between versions of the meme — it's crowdsourced humor, not a rigorous ranking. And rarity isn't the same as obsolescence: languages sitting "deep" on the chart, like COBOL and Fortran, still run staggering amounts of the world's banking and scientific infrastructure.

The bottom line

The iceberg is a fun way to visualize just how varied the language landscape really is, and a gentle nudge to occasionally look below whatever framework you use every day. Treat it as a map for curiosity, not a ladder of prestige — no tier down there makes anyone a "realer" programmer than the last.