What Is a Program?

Everything this academy teaches, from renaming a variable to compiling code for a machine that does not exist, rests on one idea: a program is a list of instructions, written down in text, that a machine follows exactly. Not roughly. Not intelligently. Exactly.

Think of a recipe that an extremely literal cook follows. If the recipe says add salt before it says crack the eggs, the cook adds salt to an empty bowl. The cook never asks what you meant. A computer is that cook, executing millions of steps per second without ever once wondering why.

Instructions, in order, one at a time

A program is read top to bottom. Each line does one small thing: remember a value, do some arithmetic, compare two things, print something out. Big programs are not made of big steps. They are made of millions of small steps arranged carefully.

Try it. The box below is a real, working program in a tiny teaching language. Press Run, then change the numbers and run it again. Nothing you type here can touch your machine or this page. It runs inside a small, sealed interpreter built for these lessons.

Three things just happened. The machine remembered a value under the name price, remembered another under tax, computed a third from the first two, and printed it. That is genuinely all programs do, at every scale: remember, compute, decide, output.

Determinism: the same program does the same thing

Run the program above ten times without changing it. You get the same output ten times. Given the same starting text and the same inputs, a program produces the same result every single time. This property is called determinism, and it is not a nice-to-have, it is the foundation of computing.

Determinism is also the foundation of this entire field. Obfuscation only works because a transformed program must still do exactly what the original did, and reverse engineering only works because an attacker can run a program repeatedly and get consistent answers to study. Both sides of the game you will learn here depend on the machine being perfectly literal.

A precise way to frame it: execution is a function from the program text plus its inputs to its outputs. Real systems can look nondeterministic because they read the clock, a random source, the network, or thread timing, but each of those is just another input. Pin the inputs down and any run becomes reproducible, which is exactly how reverse engineers make unfamiliar programs repeatable under a debugger, and why no protection scheme should be designed on the hope that an attacker cannot re-run your code.

A program means nothing to the machine. It carries meaning only for the humans who read it. Hold onto that thought, because obfuscation is the art of taking the meaning away from humans while leaving the machine's behaviour untouched.

Why this matters for code protection

  • Because execution is literal, a protected program must behave identically to the original, down to the last step. There is no room for approximately right.
  • Because programs are just text until they run, anyone who obtains the text can read it. That is the entire reason obfuscation exists.
  • Because execution is deterministic, an attacker can run your program over and over and watch it. That is the honest limit you will meet later in this academy.
Summary: a program is literal, ordered, deterministic instruction-following. The machine needs no meaning, only steps, and the meaning lives entirely with human readers. Everything else in this academy, from obfuscation to reverse engineering, is a consequence of those facts.

Frequently asked questions

Do I need any programming experience for this academy?

No. Level 0 assumes nothing. Each lesson introduces exactly the ideas the next one needs, and every interactive example runs in the page with nothing to install.

What language is the code box using?

A tiny teaching language built just for these lessons: variables, arithmetic, if, while, and print. It is small on purpose, so you can see the machinery clearly. Level 1 shows the same ideas in seven real languages.

Is it safe to run code on this page?

Yes. The playground is a sealed teaching interpreter with no access to your files, this website, or the network, and hard limits that stop runaway programs instantly. It exists only to teach.

Keep learning

  • What Is a Programming Language?
  • How Code Executes, Step by Step
  • Programming Fundamentals, One Idea in Seven Languages
  • Lua Obfuscator
  • JavaScript Obfuscator
  • Python Obfuscator

All lessons