Programming Glossary for Beginners

Are you new to programming, studying computer science, or moving into tech from another field? If programming terms, tech jargon, or complex definitions ever leave you confused, you’re in the right place.

This programming and computer science glossary is made for beginners and anyone seeking clear, simple explanations of key terms and concepts. All definitions are in plain language—no unnecessary complexity. We regularly add new terms and update existing definitions to keep this resource helpful and current.

A

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

B

Bug

This is one of those terms you will see for the rest of your programming life, almost every day. A bug is basically a problem in your code. It is a part of the code—not always a big part, sometimes just a single line—that doesn’t work the way it should. It could break your app or website, or it could just give results that do not match what you wanted. To fix it, you need to start debugging, find the problem, and then use the best solution to solve it. Ever wondered why it’s called a “bug”? If you’re curious about the story behind the word, you can read our post about it.

C

Compiler

You can think of a compiler as a special translator for computers.
It takes code you write in a high-level language (like Python, JavaScript, or Java) — which is easy for humans to read — and turns it into a lower-level form that computers can work with.

This lower-level form could be:

  • Machine code (actual 0s and 1s your CPU understands), or
  • Something in between, like Java bytecode, which still needs another program to turn it into machine code.

So compiling doesn’t always mean “all the way to CPU code” — it simply means “translating into a lower-level, more execution-ready form.”

A file produced by a compiler is often referred to as a binary or executable file.

D

Debugging

Debugging is the process of finding and fixing bugs in your code.

DRY (Don’t Repeat Yourself)

DRY is a principle in programming. It basically means that if you are doing the same thing again and again, it’s better to move that code into one single place to avoid repetition.

For example, if you are calculating a user’s full name in several places, you can write a function to do this calculation once, and then use that function wherever you need it.

This way, you have one source of truth for the calculation. If you need to change how it works, you only have to update it in one place.

Example in Javascript

// Instead of repeating this code in different files:
// fileA
let fullName1 = user.firstName + " " + user.lastName;
// fileB
let fullName2 = user.firstName + " " + user.lastName;

// You can write a function in one place (fileC)
function getFullName(user) {
  return user.firstName + " " + user.lastName;
}

// Then use the function wherever you need it:
// fileA
let fullName1 = getFullName(user);
// fileB
let fullName2 = getFullName(user);
JavaScript

You might also be interested in other principles like KISS, YAGNI.

E

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

F

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

G

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

H

Hello World

A “Hello, World” program is a very simple program whose sole purpose is to display the phrase Hello, World.” It’s traditionally the first program people write when learning a new language.

Example in Javascript

console.log("Hello, World");
JavaScript

Output appears in the browser’s console or terminal (if run with Node.js).

Example in Java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
}

// Output is shown in terminal
Java

Output appears in the terminal.

High-level programming language

A high-level programming language is designed to be easy for humans to read and write.
It uses words, symbols, and concepts that are closer to everyday thinking, making it easier for us to understand.

Examples of high-level languages include:

  • Python
  • JavaScript
  • Java

High-level languages hide most of the technical details of how a computer works — such as managing memory or dealing directly with hardware — so you can focus on solving the problem instead of configuring how the machine runs.

I

IDE (Integrated Development Environment)

Instead of just typing code in a plain text editor, an IDE usually includes:

  • a code editor (where you write your code),
  • a compiler or interpreter (to turn your code into something the computer can run),
  • a debugger (to help you find and fix errors),
  • and often helpful features, such as auto-completion and syntax highlighting

An IDE is basically a workbench for programmers: it puts all the important tools together so you can focus on learning and building instead of combining separate programs.

J

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

K

Kiss (Keep it, Simple, Stupid)

KISS is a principle in programming that reminds you to keep your code as simple as possible.

For example, when you are writing code, you might think of two or three ways to solve an existing problem or add a new feature. Sometimes, you may choose a more complex way because you are thinking about possible future uses or special cases that you do not need right now. KISS reminds you to pick the easiest solution that works, instead of making things more complicated than they need to be.

You might also be interested in other principles like DRY, YAGNI.

L

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

M

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

N

Namespace

A namespace is a label used to differentiate your things, preventing them from being mixed with other things.

Think of a namespace like a piggy bank. 🐷

  • You can have many piggy banks, each labeled differently: Travel House, Food.
  • Even if each piggy bank contains coins, the labels keep them organized, allowing you to know where to withdraw money without mixing them up.

In coding, a namespace is not code by itself; it’s a label to organize code. In Java, for example, namespaces are called packages:

// Java's way of declaring a namespace labeled food.
package food; 

class Prepare {
}
Java

Now, the class is uniquely identified as food.Prepare.
If another package also had a Prepare class (e.g. travel.Prepare), both can exist without conflict because they live in different namespaces.

O

Occam’s Razor

Occam’s Razor is a problem-solving principle that you might hear when debugging an issue or trying to find a solution. Although it is not only related to programming, it is often used in many fields.

Occam’s Razor says:

If you have several possible explanations for something, the simplest one is usually the most likely to be correct.

So when you are trying to figure out why something is happening, the simplest explanation you can think of is often the correct one. This principle applies not just in programming, but also in everyday life, as you may have already guessed.

P

PATH

A list of locations your computer checks, in order, to find the program you want to run.

On both macOS and Ubuntu (or really any Unix-like system), you can print your current PATH by running echo $PATH. This will show a long string of folder paths separated by :. Each folder is a place your system searches when you type a command.

Q

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

R

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

S

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

T

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

U

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

V

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

W

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!

Y

YAGNI (You Aren’t Gonna Need It)

Don’t add code or features that you don’t need right now. Only build what you need.

Z

No terms here yet, but we’re updating the glossary all the time. New terms will be added soon!