The Programming Glossary

allglossary.xyz

The Programming Glossary

What Programming Is

Program
A set of instructions a computer follows to do a job.
Code
The written instructions that make up a program, in a programming language.
Programming language
A precise, written language for giving instructions to a computer, such as Python, JavaScript or Java.
Source code
The original, human-readable code of a program, as its programmers wrote it.
Syntax
The grammar rules of a programming language: how code must be written to be understood.
Compiler
A program that translates source code into a form the computer can run directly, before it runs.
Interpreter
A program that reads source code and carries it out line by line, without a separate translation step first.
Algorithm
A step-by-step method for solving a problem, which can be turned into code.

Data & Values

Variable
A named place in a program that holds a value, which can change as the program runs.
Data type
The kind of value something is — such as a number, text, or true/false — which decides what you can do with it.
String
A piece of text in a program, such as a name, a sentence, or a password.
Boolean
A value that can only be true or false.
Array
An ordered list of values stored under one name, such as a list of names or prices.
Dictionary
A collection that stores values under labels (keys), so you can look them up by name.
Null
A special value meaning "nothing here" or "no value yet".
Data structure
A way of organizing data in a program so it can be used efficiently.

Logic & Flow

Statement
A single complete instruction in a program, like one sentence in a recipe.
Expression
A piece of code that works out to a value, such as 2 + 3 or price * quantity.
Operator
A symbol that does something with values, such as + for adding or == for comparing.
Condition
A check that decides which code runs, usually written with if and else.
Loop
Code that repeats a set of instructions, either for each item in a list or until something is true.
Function
A named, reusable block of code that does one job, which you can run whenever you need it.
Return value
The result a function hands back to the code that called it.
Recursion
When a function solves a problem by calling itself on a smaller piece of the same problem.

Organizing Code

Parameter
An input a function accepts, so it can work with different values each time it's called.
Scope
The part of a program where a variable or function can be seen and used.
Comment
A note in code written for people, which the computer ignores.
Module
A file or self-contained unit of code that groups related functions together.
Library
Ready-made code written by others that you add to your program instead of writing it yourself.
Framework
A ready-made structure for building a kind of program, which you fill in with your own code.
Package manager
A tool that finds, installs and updates the libraries a project depends on.
API
Application Programming Interface: the defined way one piece of software lets other code use it.

Programming Styles

Object
A bundle of related data and the actions that work on it, treated as one thing in a program.
Class
A blueprint that describes what a kind of object holds and can do.
Object-oriented programming
A style of programming that organizes code around objects: bundles of data and the actions on that data.
Functional programming
A style of programming built from functions that take inputs and return outputs, without changing anything else.
State
The data a program is holding at a given moment, which can change as it runs.
Event
Something that happens while a program runs — a click, a key press, a message arriving — that code can react to.
Asynchronous code
Code that starts a slow task and carries on with other work instead of waiting for it to finish.
Concurrency
A program dealing with several tasks at overlapping times, such as serving many users at once.

Bugs & Quality

Bug
A mistake in a program that makes it behave wrongly.
Error
A problem that stops code from running correctly, usually reported with a message.
Exception
A signal raised when something goes wrong while code runs, which other code can catch and handle.
Debugging
Finding and fixing the cause of a bug.
Testing
Checking that software works as intended, often with code that checks other code automatically.
Unit test
An automated test that checks one small piece of code, such as a single function, on its own.
Refactoring
Restructuring existing code to make it clearer or simpler, without changing what it does.
Code review
Having another programmer read and check your code changes before they become part of the project.

Working on Software

IDE
Integrated Development Environment: an app for writing code, with editing, running and debugging tools in one place.
Terminal
A text window where you control the computer by typing commands instead of clicking.
Version control
A system that records every change to a project's code, so people can collaborate and undo mistakes.
Dependency
Something a program relies on to work, usually a library written by someone else.
Build
Turning source code into a finished program that's ready to run or ship, or the result of doing so.
Runtime
The environment a program needs while it runs — or the time during which it's running.
Documentation
Written explanations of how software works and how to use it.
Technical debt
The future cost of quick shortcuts in code, which make later changes slower until they're cleaned up.