WeCodeAcademy

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
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