Make

What Is Programming?

A character jumps. A button changes a page color. Someone wrote ordered instructions. Programming is a recipe, not magic.

What exactly is programming?

Programming means writing instructions in a programming language — one computers can read — and laying them out in a specific order. Think of it like a cooking recipe: "do this first, then do that next."

The key point is that computers, unlike humans, can only do exactly what they are told. Leave out a single instruction and the computer will stop or return a wrong result. Programming is the skill of communicating precise step-by-step directions to a machine.

How it works: translating human language into something a computer understands

Computers cannot read spoken language or natural text directly. The only thing they truly understand is "machine language" — strings of 0s and 1s.

So humans write code in a programming language like Python or JavaScript, and software called a compiler or interpreter translates it into machine language. A programming language is a middle ground designed to be readable by humans while still being convertible to something a computer can run.

Writing "Hello, World!" in three forms Translation software connects human-readable code to the 0s and 1s a CPU executes ① Python code (easy for humans to read) name = "you" print("Hello, " + name + "!") → prints "Hello, you!" on screen interpreter translates ② Assembly language (intermediate stage, close to CPU instructions) mov rax, 1 ; system call number = write mov rdi, 1 ; destination = standard output syscall ; ask OS to display on screen assembler translates further ③ Machine language (0s and 1s the CPU actually executes) 10111000 00000001 00000000 00000000 ... 01001000 10001001 11000111
Fig. 1: The relationship between programming languages and machine language. Level ① is the most human-readable; level ③ is what the CPU directly executes. Translation software bridges the gap automatically.

Where is programming used?

Programming isn't confined to computers and smartphones. Almost every machine around you runs on code someone wrote. On your way from home to school, it's actually harder to find a device that doesn't run a program.

Estimated lines of code in things around you Source: Information is Beautiful and various public estimates (includes code + config files) Microwave / rice cooker control ~10,000 lines Small website ~20,000 lines Popular smartphone app ~1,000,000 lines Home router ~2,000,000 lines AAA open-world RPG game ~3,000,000 lines Modern car (electronic control units) ~100,000,000 lines Windows OS (estimated) ~50,000,000 lines All Google services (estimated) ~2,000,000,000 lines ▶ Even a pro programmer writes only a few hundred lines a day. Every byte was written by someone, one line at a time.
Fig. 2: Estimated lines of code in familiar devices and services. No single person could write all of this — programmers around the world share the work.

How should I start?

  • Scratch: Combine blocks to create games and animations — no typing required. Perfect as your very first project.
  • Python: Reads almost like English, widely used in AI development.
  • HTML / CSS: Build your own webpage while you learn.
  • Minecraft: Use in-game commands or try creating mods.

All of these are free to start. Picking a language connected to something you already love makes it much easier to keep going.

Your first goal isn't to build a complex app — it's to create something that reacts to input. In Scratch, make a character move. In Python, print a greeting when someone enters their name. In JavaScript, make text change when a button is clicked. These small wins are enough. Once you have something working, the meaning of variables, conditionals, and loops will start to click naturally.

A helpful order to learn: variables → conditionals → loops → functions. These four concepts appear in virtually every programming language. Master them in one language, and switching to another later mostly just means learning different syntax.

Pitfalls to watch out for

3 tips to avoid giving up
  • Don't try to be perfect in a single day. Even professional engineers battle errors every day.
  • Errors are hints, not enemies. Copy and paste the error message into a search engine and you'll almost always find the answer.
  • Don't just watch videos or read books — always type the code yourself (copying from the screen is fine too).

"It doesn't work" and "I don't understand" are perfectly normal states. The time you spend searching and experimenting to fix things is where the real learning happens.

How will this help me in the future?

Learning to program opens up career paths beyond becoming an engineer. Data analysis, game development, web design, research, and entrepreneurship all involve using computers as a tool. There are countless careers for people who can "talk to computers."

Programming won't be required in every job. But people who can communicate with computers are valued in every industry. Getting comfortable with it now gives you far more options when it's time to choose your path.

The value of programming isn't just being able to write code. It trains you to break problems into smaller parts, arrange steps in order, and find the cause when something goes wrong. These skills transfer directly to science experiments, math proofs, planning for clubs, and improving work processes.

Even in an era where AI writes code, humans still decide what to build, whether it works correctly, and whether there are any unsafe behaviors. If you practice writing small programs yourself now, you'll grow into someone who can understand and fix AI suggestions — not just blindly accept them.

What can I do today?

Today: write 3 steps
  1. Number 3–7 steps from waking up to leaving home
  2. Break one step into smaller commands
  3. Try the same idea in the Python dojo

Your first project can be just a moving image or a line of text appearing on screen — that's perfectly fine. The experience of "the computer did what I wrote" is what carries you to the next step.

Summary

Programming is the skill of giving precise instructions to a computer so it does exactly what you intend. Smartphone apps, traffic lights, and AI — all of it starts here. Don't aim for perfection; stack up small wins. Start today with free tools and take your first step.

Check A program is closest to?