The road to freedom shares and introduces software terms and their definitions from here.
Definition | |
---|---|
Agile | A 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. |
Framework | A 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 source | Software 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 control | A 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. |
Algorithm | A systematic, step-by-step set of instructions designed to perform a computation or solve a specific problem. |
Bug | An error, flaw, or fault in a computer program that causes it to produce an incorrect or unexpected result. |
Code | The 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. |
Debugging | The process of identifying, analyzing, and removing bugs or errors from software. |
Exception handling | A programming mechanism that manages and responds to unexpected events or errors that occur during program execution. |
Library | A collection of reusable functions, classes, and subroutines that can be used by developers to add new features to their programs. |
Refactoring | The process of restructuring existing computer code without changing its external behavior. The goal is to improve the design, structure, or readability of the code. |
Syntax | The set of rules that defines how to write code that is grammatically correct for a specific programming language. |
Client-server | An architecture where a 'client' (like a web browser) requests data or a service from a 'server' (a powerful computer that stores the data). |
Cloud computing | The delivery of on-demand computing services—including servers, storage, databases, networking, software, and analytics—over the internet. |
Containerization | A 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. |
Microservices | An architectural approach where a single application is composed of many loosely coupled, independently deployable smaller services. |
Rows per page