Programming Abbreviations
154 abbreviations · part of Technology & Computer Abbreviations
Abbreviations used by software developers: interfaces and tooling (API, SDK, IDE), data formats (JSON, XML, YAML), design principles (DRY, KISS, SOLID), development practices (TDD, CI/CD), version control, language runtimes, computer-science fundamentals and code-review shorthand. Many appear in job ads, documentation and pull-request comments, and some, such as npm and pip, are deliberately playful or recursive names.
| Abbreviation | Stands for | Description |
|---|---|---|
| ABI | Application binary interface | The low-level contract between compiled program components, defining how functions are called, how data is laid out in memory and how system calls work. |
| ADR | Architecture decision record | A short document recording one significant architecture decision, its context, the options considered and the consequences. |
| ADT | Abstract data type | A data type defined by its behavior, meaning the operations it supports and their rules, rather than by its implementation. |
| AMQP | Advanced Message Queuing Protocol | An open wire-level protocol for message-oriented middleware, defining how clients and brokers exchange queued messages reliably. |
| AOT | Ahead-of-time (compilation) | Compiling code to native machine code before the program runs, producing a ready-to-execute binary with fast startup and no compiler needed at runtime. |
| API | Application programming interface | A defined set of rules, endpoints and data formats through which one piece of software requests services or data from another. |
| ASCII | American Standard Code for Information Interchange | Character encoding that assigns the numbers 0 to 127 to English letters, digits, punctuation and control codes, so that A is 65 and a space is 32. |
| AST | Abstract syntax tree | A tree representation of source code's structure produced by a parser, in which each node is a construct such as a function, operator or variable. |
| awk | Aho, Weinberger and Kernighan | A Unix text-processing language that reads input line by line, splits each line into fields and runs actions on lines matching patterns, ideal for extracting columns… |
| Bash | Bourne Again Shell | The command-line shell and scripting language that is the default on most Linux distributions, used to run commands, automate tasks and write shell scripts. macOS used… |
| BASIC | Beginner's All-purpose Symbolic Instruction Code | A family of easy-to-learn programming languages built into most home computers of the late 1970s and 1980s, where users typed numbered lines such as 10 PRINT "HELLO". |
| BDD | Behavior-driven development | An extension of TDD that describes software behavior in plain-language scenarios, usually in Given-When-Then form, which double as automated acceptance tests. |
| BFS | Breadth-first search | A graph traversal algorithm that visits all neighbors of a node before moving further away, using a queue. |
| BNF | Backus-Naur form | A notation for describing the grammar of programming languages and data formats with production rules that define each construct in terms of smaller ones. |
| BST | Binary search tree | A tree data structure in which each node's left subtree holds smaller keys and its right subtree larger ones, allowing search, insertion and deletion in logarithmic… |
| CD | Continuous delivery | A practice in which every change that passes the automated pipeline is kept in a releasable state and can go to production at any time, usually after a manual approval… |
| chmod | Change mode | The Unix command that sets file permissions, controlling who can read, write or execute a file. |
| CI | Continuous integration | The practice of merging every developer's changes into a shared main branch frequently, often several times a day, with an automated build and test run on each change… |
| CI/CD | Continuous integration and continuous delivery (or deployment) | The combined practice of automatically building and testing every code change (CI) and then automatically preparing or releasing it to production (CD). |
| CLI | Command-line interface | A text-based way of operating software by typing commands, options and arguments at a prompt, such as git commit or npm install. |
| CLR | Common Language Runtime | The virtual machine at the heart of Microsoft's .NET platform, which runs compiled intermediate-language code, manages memory with garbage collection and handles… |
| COBOL | Common Business-Oriented Language | A verbose, English-like programming language designed for business data processing and still running core systems at banks, insurers and government agencies. |
| COM | Component Object Model | Microsoft's binary interface standard, introduced in 1993, that lets software components written in different languages interact on Windows. |
| COW | Copy-on-write | A resource-management technique in which copies share the same data until one of them is modified, and only then is a real copy made. |
| CQRS | Command Query Responsibility Segregation | An architecture pattern that separates the model for updating data (commands) from the model for reading it (queries), so each can be optimized and scaled… |
| CRLF | Carriage return and line feed | The two-character sequence, written \r\n with ASCII codes 13 and 10, that ends lines in Windows text files and in internet protocols such as HTTP, SMTP and FTP. |
| CRUD | Create, read, update, delete | The four basic operations of persistent storage and the typical actions of database-backed apps. |
| CVS | Concurrent Versions System | An early open-source centralized version control system that let multiple developers work on the same files and merge their changes; it was standard in open-source… |
| DAO | Data access object | A design pattern that hides database operations behind an interface, such as UserDao.findById(), so business logic does not depend on SQL or a particular storage engine. |
| DDD | Domain-driven design | An approach to software design that models code closely on the business domain, using a shared "ubiquitous language" with domain experts and dividing large systems into… |
| DFS | Depth-first search | A graph and tree traversal algorithm that explores as far as possible along each branch before backtracking, usually implemented with recursion or a stack. |
| DI | Dependency injection | A technique in which an object receives the services it depends on from outside, typically through its constructor, instead of creating them itself. |
| DP | Dynamic programming | An algorithm design technique that solves problems by breaking them into overlapping subproblems and storing each answer so it is computed only once, either top-down… |
| DRY | Don't repeat yourself | A software principle stating that every piece of knowledge or logic should have a single, authoritative representation in a system, so changes need to be made in only… |
| DSA | Data structures and algorithms | The core computer-science subject covering how data is organized, in arrays, linked lists, trees, graphs and hash tables, and how problems are solved efficiently… |
| DSL | Domain-specific language | A small language designed for one kind of task rather than general programming, such as SQL for queries, CSS for styling, regular expressions for text matching or HCL… |
| DTO | Data transfer object | A simple object that carries data between layers or across a network boundary, with fields but little or no behavior. |
| DX | Developer experience | How easy and pleasant it is for developers to use a tool, API, platform or codebase, including documentation, error messages, setup time and feedback loops. |
| E2E | End-to-end (testing) | Testing that exercises a whole application the way a user would, from the interface through back-end services and databases, to confirm complete workflows such as… |
| EDA | Event-driven architecture | A software design in which services communicate by producing and reacting to events, such as "order placed", rather than calling each other directly. |
| EOF | End of file | A condition, and in some languages a special value, signaling that no more data can be read from a file or input stream. |
| EOL | End of line | The character or characters that mark the end of a line of text: a line feed (LF) on Unix, Linux and macOS, and a carriage return plus line feed (CRLF) on Windows. |
| ESB | Enterprise service bus | A middleware architecture in which applications connect to a central bus that routes, transforms and orchestrates messages between them; it was popular in large… |
| ESM | ECMAScript modules | The standard JavaScript module system, using import and export statements, supported natively by browsers and Node.js. |
| FFI | Foreign function interface | A mechanism that lets code in one programming language call functions written in another, most often C libraries. |
| FIFO | First in, first out | Inventory costing method that assumes the oldest units purchased or produced are sold first, so cost of goods sold reflects older costs and ending inventory reflects… |
| FORTRAN | Formula Translation | One of the oldest high-level programming languages, designed for numerical and scientific computing and still widely used in weather forecasting, physics simulations… |
| FP | Functional programming | A programming paradigm that builds software from pure functions, which return the same output for the same input and avoid side effects, and treats functions as values… |
| FSM | Finite-state machine | A model of computation with a fixed set of states, transitions triggered by inputs, and exactly one current state at a time. |
| GC | Garbage collection | Automatic memory management in which the runtime finds objects a program can no longer reach and frees their memory, so developers do not release memory by hand. |
| GCC | GNU Compiler Collection | The free compiler suite from the GNU Project for C, C++, Fortran, Ada, Go and other languages, standard on most Linux systems and used to build the Linux kernel itself. |
| GDB | GNU Debugger | The standard command-line debugger on Linux and many Unix systems, used to step through C, C++, Rust and other compiled programs, set breakpoints, inspect variables and… |
| GIL | Global interpreter lock | A lock in CPython, the standard Python interpreter, that lets only one thread execute Python bytecode at a time. |
| GoF | Gang of Four | Nickname for Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, authors of the 1994 book "Design Patterns: Elements of Reusable Object-Oriented Software"… |
| grep | Globally search for a regular expression and print | A Unix command-line tool that searches files or input for lines matching a pattern and prints them. |
| gRPC | gRPC Remote Procedure Calls | A high-performance open-source RPC framework that uses HTTP/2 for transport and Protocol Buffers for compact binary messages, generating client and server code in many… |
| GUID | Globally unique identifier | Microsoft's name for a UUID, the 128-bit identifier used throughout Windows, COM, .NET and SQL Server to label components, interfaces and database rows. |
| HATEOAS | Hypermedia as the Engine of Application State | A REST constraint under which API responses include links to related actions and resources, so clients discover what they can do next from the response itself rather… |
| i18n | Internationalization | Designing software so it can be adapted to different languages, regions and scripts without code changes, by moving user-facing text into translation files and handling… |
| IDE | Integrated development environment | An application that combines a code editor, build tools, debugger and often version control and refactoring features in one interface. |
| IIFE | Immediately invoked function expression | A JavaScript pattern that defines a function and runs it at once, creating a private scope so variables do not leak into the global namespace. |
| IoC | Inversion of control | A design principle in which a framework calls the developer's code rather than the developer's code calling the framework, for example through callbacks, event handlers… |
| IPC | Inter-process communication | Mechanisms that let separate processes exchange data and coordinate, such as pipes, sockets, shared memory, message queues and signals. |
| J2EE | Java 2 Platform, Enterprise Edition | The platform of APIs for building large server-side Java applications, including servlets, JavaServer Pages, Enterprise JavaBeans and messaging. |
| JDK | Java Development Kit | The package developers install to build Java applications, containing the javac compiler, the Java runtime, standard libraries and tools such as the jar packager and… |
| JIT | Just-in-time | Production and inventory strategy in which materials arrive only as they are needed for production or sale, minimizing inventory and waste. |
| JRE | Java Runtime Environment | The components needed to run, but not compile, Java programs: the Java Virtual Machine plus the standard class libraries. |
| JSON | JavaScript Object Notation | A lightweight text format for structured data built from objects in curly braces, arrays in square brackets, strings, numbers, booleans and null. |
| JVM | Java Virtual Machine | The runtime engine that executes Java bytecode, giving Java its "write once, run anywhere" portability across operating systems. |
| KISS | Keep it simple, stupid | A design principle holding that systems work best when kept simple, so unnecessary complexity should be avoided. |
| l10n | Localization | Adapting internationalized software for a specific language and region, including translating text, formatting dates and currencies, swapping images and following local… |
| LGTM | Looks good to me | Code-review shorthand meaning the reviewer has checked a change and approves it for merging. |
| LIFO | Last in, first out | Inventory costing method that assumes the most recently acquired units are sold first, so cost of goods sold reflects the latest prices. |
| LINQ | Language Integrated Query | A .NET feature that builds query capabilities directly into C# and Visual Basic, letting developers filter, sort and join collections, databases and XML with one… |
| Lisp | List processing | A family of programming languages built on nested lists and prefix notation with many parentheses, in which code and data share the same structure. |
| LLVM | LLVM (originally Low Level Virtual Machine) | A collection of modular compiler and toolchain technologies that turn an intermediate representation into optimized machine code for many processors. |
| LOC | Lines of code | A count of the lines in a program's source code, used as a rough measure of size, effort or productivity. |
| LRU | Least recently used | A cache eviction policy that discards the item not accessed for the longest time when space runs out, on the theory that recent use predicts future use. |
| MATLAB | Matrix Laboratory | A commercial numerical computing environment and programming language from MathWorks, widely used in engineering, signal processing, control systems and academic… |
| mkdir | Make directory | The command that creates a new directory, or folder, on Unix, Linux, macOS and Windows command lines. |
| MQ | Message queue | A component that stores messages from producing applications until consuming applications are ready to process them, decoupling services and smoothing load spikes. |
| MR | Merge request | GitLab's name for a proposal to merge code changes from one branch into another, with review, discussion and CI results attached; it is the equivalent of a GitHub pull… |
| MVC | Model-view-controller | A software design pattern that separates an application into the model (data and business rules), the view (what users see) and the controller (handling input and… |
| MVVM | Model-view-viewmodel | A UI architecture pattern in which a view model exposes data and commands that the view binds to automatically, keeping display logic separate from both the interface… |
| NaN | Not a number | A special floating-point value representing an undefined or unrepresentable result, such as 0 divided by 0 or the square root of a negative number. |
| NIH | Not invented here | The tendency of teams or companies to reject external libraries, products or ideas and build their own instead, often at greater cost. "NIH syndrome" is a common… |
| NoSQL | Not only SQL | A broad category of databases that store data in models other than relational tables, such as documents (MongoDB), key-value pairs (Redis), wide columns (Cassandra) and… |
| NPE | NullPointerException | The Java error thrown when code tries to use a reference that points to nothing, such as calling a method on a null variable. |
| npm | npm (often expanded as Node Package Manager) | The default package manager for Node.js and the largest public software registry, used to install, publish and manage JavaScript libraries. |
| OOM | Out of memory | A condition in which a program or system cannot allocate more memory. |
| OOP | Object-oriented programming | A programming paradigm that organizes code into objects combining data (fields) and behavior (methods), usually defined by classes. |
| ORM | Object-relational mapping | A technique, and the libraries implementing it, that maps database tables to classes in object-oriented code, so developers work with objects instead of writing SQL by… |
| OS | Operating system | Core software that manages a computer's processor, memory, storage and devices and provides common services to applications. |
| PAT | Personal access token | A long, randomly generated string that replaces a password when authenticating scripts, command-line tools and API calls to services such as GitHub, GitLab and Azure… |
| PCRE | Perl Compatible Regular Expressions | A C library implementing the regular-expression syntax and features of Perl, such as lookahead, lazy quantifiers and named groups. |
| PEP | Python Enhancement Proposal | A design document proposing a new feature, process or convention for the Python language, debated by the community and accepted or rejected by Python's steering council. |
| PHP | PHP: Hypertext Preprocessor | A server-side scripting language designed for web development that powers WordPress, MediaWiki and many content management systems and online stores. |
| PID | Process identifier | The number an operating system assigns to each running process, used to monitor, signal or terminate it. |
| pip | pip Installs Packages | The standard package installer for Python, which downloads libraries from the Python Package Index and installs them with their dependencies. |
| PoC | Proof of concept | A small, often throwaway implementation built to show that an idea, technology or approach is feasible before investing in full development. |
| POJO | Plain old Java object | An ordinary Java object that does not depend on special framework classes or interfaces. |
| PR | Pull request | A request to merge a set of code changes from one branch into another, typically on GitHub, Bitbucket or Azure DevOps, where teammates review the diff, discuss it and… |
| PRNG | Pseudorandom number generator | An algorithm that produces a sequence of numbers that looks random but is fully determined by a starting value called a seed. |
| PTAL | Please take a look | Code-review shorthand asking someone to review a change, or to look again after the author has addressed earlier comments. |
| pwd | Print working directory | The Unix and Linux shell command that prints the full path of the current directory, such as /home/ana/projects. |
| PyPI | Python Package Index | The official public repository of third-party Python software, hosting hundreds of thousands of projects that pip installs by name. |
| QA | Quality assurance (software) | The discipline and team responsible for preventing defects and verifying that software meets requirements, through test planning, manual and automated testing, and… |
| RAII | Resource acquisition is initialization | A C++ idiom that ties a resource, such as memory, a file handle or a lock, to an object's lifetime, so the resource is released automatically in the destructor when the… |
| regex | Regular expression | A pattern language for matching text, used to search, validate and replace strings, such as ^\d{5}$ for a five-digit ZIP code. |
| REPL | Read-eval-print loop | An interactive programming shell that reads an expression typed by the user, evaluates it, prints the result and waits for the next input. |
| REST | Representational state transfer | An architectural style for web APIs in which resources are identified by URLs and manipulated with standard HTTP methods such as GET, POST, PUT and DELETE, usually… |
| RNG | Random number generator | Randomness in a game, such as loot drops, critical hits or spawn locations, determined by a random number generator. |
| RoR | Ruby on Rails | A web application framework for the Ruby language that favors convention over configuration, generating much of a database-backed app's structure automatically. |
| RPC | Remote procedure call | A communication model in which a program calls a function that actually runs on another computer, with the network details hidden so the call looks local. gRPC… |
| SAFe | Scaled Agile Framework | A framework for applying agile practices across large organizations by coordinating many teams into "agile release trains" that plan together in regular program… |
| SCM | Source control management | Another name for version control, the tracking and management of changes to source code, also applied to the platforms around it. |
| SDE | Software development engineer | The job title Amazon and Microsoft have used for software engineers, with levels such as SDE I, SDE II and Senior SDE. |
| SDK | Software development kit | A bundle of tools needed to build software for a specific platform or service, typically including libraries, documentation, code samples, compilers or emulators and… |
| SDLC | Software development life cycle | The structured series of phases a software project passes through, typically planning, requirements, design, implementation, testing, deployment and maintenance. |
| sed | Stream editor | A Unix command-line tool that edits text as it flows through, most often to find and replace patterns, delete lines or extract sections without opening a file in an… |
| SemVer | Semantic Versioning | A version-numbering scheme in the form MAJOR.MINOR.PATCH, where the major number rises for breaking changes, the minor number for backward-compatible features and the… |
| SO | Stack Overflow | The largest question-and-answer website for programmers, where developers post coding problems and community members answer, vote and edit. "SO" is common shorthand in… |
| SOA | Service-oriented architecture | A design approach in which applications are built from loosely coupled, reusable services that communicate over a network through well-defined interfaces, often SOAP… |
| SOAP | Simple Object Access Protocol | An XML-based messaging protocol for exchanging structured data between systems, typically over HTTP, with a formal contract described in WSDL. |
| SoC | Separation of concerns | A design principle of dividing a program into distinct sections that each handle a separate concern, such as data access, business logic and presentation, so each can… |
| SOLID | Single responsibility, open-closed, Liskov substitution, interface segregation, dependency inversion | A mnemonic for five object-oriented design principles: each class has one reason to change, code is open to extension but closed to modification, subtypes can replace… |
| SQL | Structured Query Language | The standard language for defining, querying and updating data in relational databases, using statements such as SELECT, INSERT, UPDATE and DELETE. |
| SRP | Single-responsibility principle | The first SOLID principle: a class or module should have only one reason to change, meaning it serves one actor or concern. |
| SRS | Software requirements specification | A document describing what a software system must do and the constraints it must meet, including functional requirements, performance targets, interfaces and design… |
| STL | Standard Template Library | A C++ library of generic containers, algorithms and iterators, such as vector, map, sort and find, that work with any data type through templates. |
| SVN | Subversion (Apache Subversion) | A centralized version control system in which developers commit changes to a single server repository, widely used in the 2000s before Git took over. |
| SWE | Software engineer | A job title and common shorthand for a software engineer, a professional who designs, builds, tests and maintains software. |
| TCO | Tail call optimization | A compiler or interpreter optimization in which a function call made as the very last action of another function reuses the current stack frame instead of adding a new… |
| TDD | Test-driven development | A development practice in which the programmer writes a failing automated test before writing the code to make it pass, then refactors, repeating in short cycles called… |
| TOML | Tom's Obvious, Minimal Language | A configuration file format designed to be easy to read and to map unambiguously to a hash table, using sections in square brackets and key = value pairs. |
| TS | TypeScript | A programming language from Microsoft that adds static types to JavaScript and compiles to plain JavaScript, catching many errors before code runs. |
| UAT | User acceptance testing | Final testing phase in which business users or clients verify that a system or product meets their requirements in realistic scenarios before it is accepted and… |
| UB | Undefined behavior | In C and C++, code whose result the language standard does not define, such as reading past an array's end, using freed memory or overflowing a signed integer. |
| UID | User identifier | The number Unix-like operating systems use to identify each user account, stored with every file and process to enforce permissions. |
| UML | Unified Modeling Language | A standardized visual notation for designing and documenting software, with diagram types such as class, sequence, use case, activity and state diagrams. |
| UTF-8 | Unicode Transformation Format, 8-bit | Variable-width encoding of Unicode that stores each character in one to four bytes while keeping plain English text byte-for-byte identical to ASCII. |
| UUID | Universally unique identifier | A 128-bit identifier written as 32 hexadecimal digits in five groups, such as 123e4567-e89b-12d3-a456-426614174000, generated so that collisions are practically… |
| VBA | Visual Basic for Applications | Microsoft's programming language built into Excel, Word, Access, Outlook and other Office apps, used to write macros that automate repetitive tasks and build custom… |
| VCS | Version control system | Software that records changes to files over time so developers can review history, revert mistakes, work on parallel branches and merge contributions. |
| VS Code | Visual Studio Code | A free source-code editor from Microsoft for Windows, macOS and Linux, with built-in Git, debugging and a huge extension marketplace. |
| WET | Write everything twice | A tongue-in-cheek label for code that duplicates logic instead of sharing it, the opposite of DRY. |
| WIP | Work in progress | Partly finished goods in a manufacturing process, recorded as inventory and valued at the materials, labor and overhead costs incurred so far. |
| WSDL | Web Services Description Language | An XML format that describes a SOAP web service's operations, message formats, data types and endpoint addresses, allowing tools to generate client code automatically. |
| XML | Extensible Markup Language | A markup language for storing and exchanging structured data with custom tags and strict rules for well-formed documents. |
| XP | Extreme Programming | An agile software methodology emphasizing frequent releases, pair programming, test-driven development, continuous integration, simple design and close collaboration… |
| XSLT | Extensible Stylesheet Language Transformations | A language for transforming XML documents into other XML, HTML or plain text, using template rules that match parts of the input. |
| YAGNI | You aren't gonna need it | An Extreme Programming principle that developers should not add features or flexibility until they are actually needed, since predicted requirements often never arrive… |
| YAML | YAML Ain't Markup Language | A human-friendly data format that uses indentation instead of brackets, widely used for configuration in Kubernetes, Docker Compose, GitHub Actions, Ansible and many… |
| zsh | Z shell | An interactive Unix shell and scripting language compatible with most Bash syntax, adding stronger tab completion, spelling correction and theming. |
More technology & computer abbreviations
- Artificial Intelligence Abbreviations (103)
- Cloud Computing Abbreviations (63)
- Computer Abbreviations (92)
- Computer Hardware Abbreviations (151)
- Consumer Electronics Abbreviations (104)
- Cryptocurrency & Blockchain Abbreviations (74)
- Cybersecurity Abbreviations (119)
- Data & Database Abbreviations (53)
- File Format Abbreviations (125)
- Internet & Web Abbreviations (76)
- Networking Abbreviations (113)
- Software Abbreviations (70)
- Telecom Abbreviations (114)