30 Programming Terms Every Developer Should Know
30 Programming Terms Every Developer Should Know
Whether you are learning to code, prepping for an interview, or just trying to follow a Slack thread without nodding along blindly, the same handful of programming words come up over and over. We pulled this glossary directly from the Dev Puzzle word list, so think of it as a cheat sheet for the kind of vocabulary the daily puzzle leans on.
Core building blocks
Variable — a named container for a value. Every language calls them something slightly different (let, var, val, const), but the idea is the same.
Function — a reusable block of code that takes input, does something, and (usually) returns output.
Loop — a structure that runs the same code repeatedly until a condition is met. for, while, and do...while are the classics.
Array — an ordered list of values. Indexed from zero in nearly every language you'll meet.
Object — a collection of key/value pairs. Sometimes called a dictionary, hash, or map depending on the ecosystem.
Boolean — a value that is either true or false. Named after George Boole. Pronounced "BOOL-ee-an" if you want to fit in.
Concepts that show up everywhere
Recursion — a function that calls itself. To understand recursion, you must first understand recursion.
Polymorphism — letting one interface stand in for many underlying types. The reason your render() method works on shapes, buttons, and pizza orders alike.
Abstraction — hiding messy details behind a simpler interface. You drive a car without thinking about combustion timing.
Encapsulation — bundling data with the methods that operate on it. The reason private exists.
Inheritance — one class taking on the properties of another. Powerful, frequently overused.
Mutation — changing a value in place. The opposite of immutable. Functional programmers tend to avoid it.
Web and infra
API — Application Programming Interface. The contract between two programs.
REST — a style of API design built around HTTP verbs (GET, POST, PUT, DELETE) and resources.
Endpoint — a specific URL an API exposes.
Cache — fast, short-lived storage that saves you from doing expensive work twice.
Latency — the delay between a request being sent and a response arriving.
Server — a computer (or process) that responds to requests from clients.
Client — the browser, mobile app, or other program asking the server for things.
Source control
Commit — a saved snapshot of your code in version control.
Branch — a parallel line of development.
Merge — combining two branches.
Rebase — rewriting a branch on top of another. Powerful, controversial.
Pull request — the modern way of saying "please review and merge this branch."
Things that bite you
Bug — a defect in your code. The first one was reportedly an actual moth in a relay.
Stack trace — the chain of function calls that led to a crash. Read from top to bottom.
Race condition — a bug that happens because two things ran at the same time in an unexpected order.
Memory leak — forgetting to release memory you no longer need. Watch your long-running processes.
Null — the value that means "nothing." Famously called the billion-dollar mistake by Tony Hoare.
Deprecated — marked as outdated, still works, will eventually go away.
Why this matters
A surprising amount of senior-engineer skill is just knowing what to call things. When you can name a pattern, you can search for it, talk about it, and recognize it in unfamiliar code.
That is also the bet behind Dev Puzzle: a few minutes a day of recognizing and recalling vocabulary keeps it sharp and unfamiliar terms become familiar over time. Try today's puzzle and see how many of these you can guess. For a fuller reference with around fifty terms organized by category, see our programming glossary.