Skip to Content

Software Glossary

The road to freedom shares and introduces software terms and their definitions from here.

Definition
AgileA software development methodology that uses an iterative approach. It emphasizes collaboration, customer feedback, and the incremental delivery of software.
Application Programming Interface (API)A set of rules and protocols that allows different software applications to communicate and interact with one another.
Continuous Integration / Continuous Deployment (CI/CD)A practice that automates the integration of code changes and the deployment of new software updates. It helps teams identify and resolve integration issues early.
FrameworkA collection of pre-written code, libraries, and tools that provides a foundation for building software. It offers a structured way for developers to build applications.
Integrated Development Environment (IDE)A software application that provides comprehensive tools for developers to write, test, and debug code, such as a code editor, a compiler, and a debugger.
Open sourceSoftware whose source code is made available to the public. It can be used, modified, and distributed by anyone.
Software Development Life Cycle (SDLC)The entire process of developing software, including planning, design, coding, testing, and deployment.
Version controlA system, such as Git, that tracks changes to source code over time. It allows multiple developers to work on a project simultaneously while maintaining a complete history of changes.
AlgorithmA systematic, step-by-step set of instructions designed to perform a computation or solve a specific problem.
BugAn error, flaw, or fault in a computer program that causes it to produce an incorrect or unexpected result.
CodeThe instructions written by a programmer that a computer can understand and execute. The two main types are: Source code: The human-readable code written by a programmer. Object code/machine code: The low-level, machine-readable instructions that are compiled from source code.
DebuggingThe process of identifying, analyzing, and removing bugs or errors from software.
Exception handlingA programming mechanism that manages and responds to unexpected events or errors that occur during program execution.
LibraryA collection of reusable functions, classes, and subroutines that can be used by developers to add new features to their programs.
RefactoringThe process of restructuring existing computer code without changing its external behavior. The goal is to improve the design, structure, or readability of the code.
SyntaxThe set of rules that defines how to write code that is grammatically correct for a specific programming language.
Client-serverAn architecture where a 'client' (like a web browser) requests data or a service from a 'server' (a powerful computer that stores the data).
Cloud computingThe delivery of on-demand computing services—including servers, storage, databases, networking, software, and analytics—over the internet.
ContainerizationA method for packaging an application with all its necessary components (code, runtime, libraries) into an isolated 'container.' This allows it to run consistently on any computing environment.
MicroservicesAn architectural approach where a single application is composed of many loosely coupled, independently deployable smaller services.

Rows per page

Page 1 of 2