Every field has its own vocabulary, and programming is no exception. This guide explains ten of the most common programming terms in plain English, each with a concrete example, so you can read tutorials and ask questions with confidence.
1. Variable
A variable is a named container that stores a value your program can use and change later. Instead of writing the same number or text repeatedly, you store it once under a name and refer to that name.
score = 0
player_name = "Aisha"
score = score + 10
print(player_name, "has", score, "points")
Here, score and player_name are variables. The first line creates score and sets it to 0; later, the program updates it. Think of a variable like a labeled box: the label is the name, and you can swap what is inside as the program runs. One gotcha: names are usually case-sensitive (Score and score are different), so copy them exactly.
2. Function
A function is a named, reusable block of code that performs one specific task. You define it once, then call it whenever you need that task done, instead of rewriting the same lines over and over.
def greet(name):
return "Hello, " + name + "!"
print(greet("Ravi"))
print(greet("Meera"))
greet is the function. It takes an argument (the input, like "Ravi"), does its work, and returns a result. Functions are how programmers avoid repetition — a principle summarized as DRY: Don’t Repeat Yourself.
Well-named functions also make code read like a story: calculate_total(price, tax) tells you exactly what happens without you reading its insides.
3. Loop
A loop repeats a block of code multiple times so you do not have to write it out manually. There are two main kinds:
- For loops repeat a fixed number of times or once per item in a collection.
- While loops keep repeating as long as a condition stays true.
# For loop: greet each friend
friends = ["Aisha", "Ravi", "Meera"]
for friend in friends:
print("Hi,", friend)
# While loop: count down
count = 3
while count > 0:
print(count)
count = count - 1
print("Go!")
Loops are everywhere: processing every row in a spreadsheet, retrying a network request, animating frames in a game. The classic beginner bug is the infinite loop — a while loop whose condition never becomes false, running forever until you stop the program (usually with Ctrl+C).
4. Conditional (If / Else)
A conditional lets your program make decisions: “if this is true, do A; otherwise, do B.” Without conditionals, programs could only follow one fixed path.
temperature = 32
if temperature > 30:
print("It's a hot day — drink water!")
elif temperature > 20:
print("Pleasant weather.")
else:
print("It's cool outside.")
The program checks each condition from top to bottom and runs only the first matching block. elif is short for “else if.” Conditions are built from comparisons (==, !=, >, <) combined with and, or, and not.
Watch out for the classic mix-up: = assigns a value to a variable, while == compares two values. Writing if password = "secret" is an error in most languages — you meant ==.
5. Array / List
An array (called a list in Python) stores multiple values in a single ordered container, so you can handle collections of data as one unit instead of dozens of separate variables.
marks = [78, 92, 85, 64, 90]
print(marks[0]) # First item: 78 (counting starts at 0!)
print(len(marks)) # How many items: 5
marks.append(88) # Add an item to the end
The most surprising detail for beginners is zero-based indexing: the first item is at position 0, not 1. So marks[0] is the first mark and marks[4] is the fifth. Forgetting this causes the famous off-by-one error.
Related containers you will meet soon: dictionaries (pairs of keys and values, like {"name": "Aisha", "age": 21}) and sets (collections with no duplicates).
6. Bug and Debugging
A bug is an error or flaw in a program that makes it behave incorrectly — from a button that does nothing to a calculation that is subtly wrong. The term dates back decades (popular legend credits Grace Hopper with finding a literal moth inside an early computer), but today it just means “something in the code is wrong.”
Debugging is the process of finding and fixing bugs. It is not a sign of failure — professional developers spend a large part of every day debugging. A practical approach:
- Reproduce it: find the exact steps that trigger the bug, every time.
- Read the error message: it usually names the file, line number, and problem. The last line is often the most informative.
- Isolate it: comment out or simplify parts until the bug disappears — the last thing you removed was the culprit.
- Print and inspect: display variable values at key points to see what the program actually holds versus what you assumed.
- Fix, then test: change one thing at a time and re-run to confirm the fix — and that nothing else broke.
Beginners often try random changes hoping something works. Resist that: systematic debugging is faster and teaches you far more.
7. API
API stands for Application Programming Interface — a defined way for programs to request services from each other. When your weather app shows today’s forecast, it did not measure the weather itself; it asked a weather company’s API and displayed the answer.
import requests
response = requests.get("https://api.github.com/users/octocat")
print(response.json()["public_repos"])
This tiny script calls GitHub’s public API and prints how many public repositories a user has. The API’s documentation acts as a menu of what you may request, and responses typically arrive as structured data called JSON.
APIs are why small teams can build apps with maps, payments, and logins in weeks: they borrow capabilities that specialists maintain, instead of rebuilding everything from zero. If you want the full picture, see our dedicated guide “What Is an API? Explained in Simple Words.”
8. Framework vs. Library
These two get mixed up constantly, and the difference matters:
- A library is a collection of ready-made code you call when you choose. You stay in charge — you pick which functions to use and when. Example: using a date-formatting library inside your own program.
- A framework is a bigger structure that provides the skeleton of an application — and it calls your code at the right moments. You fill in the blanks it defines. Example: Django for websites, React for user interfaces.
The standard way to remember it is inversion of control: with a library, your code is in control; with a framework, the framework is in control and your code plugs into it. Libraries are like buying ingredients; frameworks are like renting a kitchen that already has stations and a workflow — you just bring your recipes.
9. Compiler vs. Interpreter
Computers only understand machine code — binary instructions for the processor. Since humans write code in readable languages, something must translate. The two main translators:
- A compiler translates your entire program into machine code before it runs, producing a standalone executable file. Languages like C, C++, and Rust work this way. Compilation takes time upfront, but the resulting program runs fast.
- An interpreter translates and executes your code line by line, as it runs. Python and JavaScript work this way. There is no separate build step — you run the source directly — which makes experimenting quick, at some cost in speed.
Neither approach is universally better; they trade off convenience against speed. This is also why Python errors appear when the faulty line executes, while C++ errors can appear during compilation before anything runs.
10. Deployment
Deployment means taking your project from your own computer and putting it somewhere the public can reach it — publishing a website so anyone can visit, or releasing an app to an app store. Code on your laptop helps only you; deployed code helps everyone.
A typical web deployment looks like this:
- Prepare: make sure the code works and remove test data, debug settings, and secret keys.
- Choose hosting: a service that runs your code 24/7 — options range from beginner-friendly platforms with free tiers to full cloud servers.
- Upload: send your code to the host, often with a single
git push. - Configure: set environment variables (like database passwords) on the server instead of hardcoding them.
- Verify: visit the live URL, click through everything, and fix what breaks in the new environment.
Beginners are often surprised that code working perfectly on their laptop fails on a server — different versions, missing files, or hardcoded paths are the usual suspects. Deployment teaches you to make projects portable and robust, which is a professional skill in itself. Start with free hosting tiers; they are more than enough for learning.
Final Thoughts
You now have plain-English definitions for ten terms you will see everywhere: variable, function, loop, conditional, array/list, bug and debugging, API, framework vs. library, compiler vs. interpreter, and deployment. That is a genuine head start — tutorial sentences that once looked like jargon should now parse into real meaning.
Your suggested next steps: first, pick the three terms you understood least and write your own one-sentence definition of each without looking — explaining is the fastest test of understanding. Second, keep a personal glossary file and add each new term you meet with an example. Vocabulary compounds just like code skills do, and within weeks you will be the one explaining these words to someone else.
