Programming glossary
Plain-English definitions of common programming words, with a link to a lesson where one exists.
110 of 110 terms
A
- Algorithm
- A step-by-step set of instructions for solving a problem or doing a task.
- API
- Application Programming Interface: a defined way for one program to ask another to do something or share data. JSON APIs with Node.js
- Argument
- A value you pass to a function when you call it. Python functions
- Array
- An ordered list of values, accessed by position (index). JavaScript arrays
- Asynchronous
- Code that starts a task and carries on without waiting for it to finish, using callbacks, promises or await. Promises and async/await
- Attribute
- Extra information on an HTML element, such as href on a link. HTML attributes
B
- Backend
- The part of a website or app that runs on a server: databases, logic and APIs. Back-end path
- Bash
- A common command-line shell for Linux and macOS, used to run commands and scripts. Bash course
- Binary
- Numbers written with only 0 and 1, the way computers store everything.
- Bit
- The smallest unit of data: a 0 or a 1. C bitwise operators
- Boolean
- A value that is either true or false.
- Branch
- A separate line of work in Git, so you can try changes without affecting the main code. Git branches
- Breakpoint
- A screen width at which a responsive layout changes. Bootstrap breakpoints
- Browser
- A program that loads and shows web pages, such as Chrome, Firefox or Safari.
- Bug
- A mistake in a program that makes it behave wrongly.
- Byte
- Eight bits. Enough to store one character in many encodings.
C
- Cache
- A fast, temporary store of data so it does not have to be fetched or computed again.
- Callback
- A function passed to another function to be called later. Node.js callbacks
- Class
- A blueprint for objects, bundling data and behaviour. Java classes
- Client
- The program (often a browser) that sends requests to a server.
- Closure
- A function that remembers the variables from the place where it was created. Go closures
- Command line
- A text interface where you type commands instead of clicking. The terminal
- Commit
- A saved snapshot of a project in Git, with a message. Staging and committing
- Compiler
- A program that translates source code into machine code before it runs. C introduction
- Component
- A reusable piece of a user interface, such as a button or card. React components
- Concurrency
- Making progress on several tasks at once, with threads, goroutines or async code. Go goroutines
- Conditional
- Code that runs only if a condition is true: if, else, switch. JavaScript conditions
- Constant
- A named value that cannot change after it is set.
- Constructor
- A special method that sets up a new object. Java constructors
- Cookie
- A small piece of data a website stores in your browser.
- CRUD
- Create, Read, Update, Delete: the four basic operations on stored data. SQL INSERT
- CSS
- Cascading Style Sheets: the language that styles web pages. CSS introduction
D
- Database
- An organised collection of data that programs can store, search and update. SQL introduction
- Debugging
- Finding and fixing bugs.
- Dependency
- A package or library that your project needs to work. npm and package.json
- Deploy
- To put your application on a server so other people can use it.
- DNS
- Domain Name System: the service that turns a name like example.com into an address computers use.
- DOM
- Document Object Model: the page as a tree of objects that JavaScript can read and change. The DOM
E
- Encryption
- Scrambling data so only someone with the key can read it.
- Enum
- A type with a fixed set of named values. TypeScript enums
- Environment variable
- A setting stored outside the code, such as a password or API key. Node.js process and environment
- Event
- Something that happens that code can react to: a click, a key press, a message. jQuery events
- Exception
- An error that happens while a program runs and can be caught and handled. Java exceptions
F
- Flexbox
- A CSS layout system for arranging items in a row or column. CSS flexbox
- Framework
- A larger toolkit that provides structure for building an application, such as React or Django. React
- Frontend
- The part of a website users see and interact with, running in the browser. Front-end path
- Function
- A named, reusable block of code that can take inputs and return a result. Python functions
G
- Garbage collection
- Automatic freeing of memory that a program no longer uses.
- Generic
- Code that works with many types, with the type filled in later. TypeScript generics
- Git
- A version control system that tracks changes to files. What is Git?
- Grid
- A CSS layout system for arranging items in rows and columns. CSS grid
H
- Hash
- A fixed-size fingerprint computed from data; the same input always gives the same hash. Buffers and crypto
- Heap
- The area of memory where data of unknown size is allocated while a program runs. C memory
- HTML
- HyperText Markup Language: the language that gives a web page its structure. HTML introduction
- HTTP
- The protocol browsers and servers use to talk to each other. Node.js HTTP server
- HTTPS
- HTTP with encryption, so others cannot read or change the traffic.
I
- IDE
- Integrated Development Environment: an editor with tools for writing and running code.
- Immutable
- Cannot be changed after it is created. Rust variables
- Index
- The position of an item in an array or string, usually starting at 0.
- Inheritance
- A class gaining the fields and methods of another class. Java inheritance
- Interface
- A list of methods a class promises to provide. Java interfaces
- Interpreter
- A program that runs code directly, line by line, without a separate compile step.
J
- JSON
- JavaScript Object Notation: a text format for data that almost every language can read. JavaScript JSON
L
- Library
- A collection of ready-made code you use from your own program. jQuery
- Linked list
- A chain of nodes, each pointing to the next. C linked lists
- Loop
- Code that repeats while a condition holds or for each item in a collection. Python loops
M
- Markdown
- A simple way to format text with symbols such as # for headings and * for lists.
- Memory leak
- Memory that a program allocated and never gave back. C dynamic memory
- Method
- A function that belongs to an object or class.
- Middleware
- Code that sits between a request and the final handler and can change or check the request.
- Module
- A file or unit of code that other code can import and use. Node.js modules
N
- Namespace
- A way of grouping names so they do not clash. PHP namespaces and traits
- Null
- A value that means "no value".
O
- Object
- A value that bundles related data (properties) and behaviour (methods). JavaScript objects
- Operator
- A symbol that performs an operation, such as +, == or &&. Java operators
- Overflow
- When a number gets too big for its type and wraps around, or content gets bigger than its box. Java data types
P
- Package manager
- A tool that installs and updates libraries for you, such as npm or pip. npm
- Parameter
- A named input of a function, filled by the argument when it is called.
- Pipe
- Sending the output of one command into the next. Bash pipes
- Pointer
- A variable that holds the memory address of another value. C pointers
- Polymorphism
- Different types responding to the same method call in their own way. Java inheritance
- Primary key
- A column (or columns) that uniquely identifies each row in a table. SQL CREATE TABLE
- Promise
- An object standing for a value that will arrive later. Promises
- Pull request
- A request to merge your changes into a project, usually reviewed first.
Q
- Query
- A question you ask a database, written in SQL. SQL SELECT
R
- Recursion
- A function that calls itself, with a stop condition. Java recursion
- Regular expression
- A pattern for matching text. Regex tester
- Repository
- A project folder tracked by Git, with its full history. git init and status
- Responsive
- A page layout that adapts to the size of the screen. Responsive design
- REST
- A style of web API that uses URLs and HTTP methods such as GET and POST. Node.js routing and APIs
S
- Scope
- The part of a program where a name can be used. PHP scope
- Selector
- A pattern that picks which elements a CSS rule or a jQuery call applies to. CSS selectors
- Server
- A computer or program that answers requests from clients. HTTP server
- SQL
- Structured Query Language: the language for working with relational databases. SQL introduction
- Stack
- A last-in, first-out collection; also the memory used by function calls. C# collections
- State
- Data that a component or program remembers and that can change over time. React state
- String
- A piece of text. Java strings
- Struct
- A type that groups several values under one name. C structs
- Syntax
- The rules for how code must be written in a language.
T
- Terminal
- A window where you type commands. Bash terminal
- Thread
- A path of execution; a program can run several threads at the same time. Rust threads
- Type
- The kind of value something is: number, text, list and so on. TypeScript types
U
- Unicode
- A standard that gives every character in every language a number.
- URL
- A web address, such as https://example.com/page. Node.js URLs
V
- Variable
- A named place that stores a value. JavaScript variables
- Version control
- Software that records changes to files over time so you can go back. Git
- Viewport
- The visible area of a web page in the browser. Bootstrap get started
W
- Web server
- Software that sends web pages and data to browsers.
- WebAssembly
- A compact format that lets code written in languages like C and Rust run in the browser.
X
- XSS
- Cross-site scripting: an attack that injects harmful script into a page. Always escape user input. PHP forms and escaping