ProgramCodeProgramming languageSource codeSyntaxCompilerInterpreterAlgorithmVariableData typeStringBooleanArrayDictionaryNullData structureStatementExpressionOperatorConditionLoopFunctionReturn valueRecursionParameterScopeCommentModuleLibraryFrameworkPackage managerAPIObjectClassObject-oriented programmingFunctional programmingStateEventAsynchronous codeConcurrencyBugErrorExceptionDebuggingTestingUnit testRefactoringCode reviewIDETerminalVersion controlDependencyBuildRuntimeDocumentationTechnical debt
Drag to orbit · Scroll to zoom · Click a term
allglossary.xyzThe 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.