Programming

Definitions related to software programming, including tech terms about programming languages and words and phrases about software design, coding, testing and debugging.
  • message passing interface (MPI) - The message passing interface (MPI) is a standardized means of exchanging messages between multiple computers running a parallel program across distributed memory.
  • method (in object-oriented programming) - In object-oriented programming (OOP), a method is a programmed procedure that is defined as part of a class and is available to any object instantiated from that class.
  • Microsoft D - Microsoft D is an end-user programming language in development as part of the company's Oslo service-oriented architecture (SOA) initiative.
  • middleware - Middleware is software that bridges the gap between applications and operating systems by providing a method for communication and data management.
  • MIT License (X11 license or MIT X license) - The MIT License (also known as the X11 license or MITX license) is a software license that was originally developed at the Massachusetts Institute of Technology.
  • mnemonic - In general, a mnemonic (from Greek mnemon or mindful; pronounced neh-MAHN-ik) is a memory aid, such as an abbreviation, rhyme or mental image that helps to remember something.
  • mob programming - Mob programming is a collaborative approach to software development in which a group of developers work together in real time on one task.
  • mobile UI (mobile user interface) - A mobile UI (mobile user interface) is the graphical and usually touch-sensitive display on a mobile device, such as a smartphone or tablet, that allows the user to interact with the device's apps, features, content and functions.
  • model-view-controller (MVC) - In programming, model-view-controller (MVC) is an architectural design pattern that organizes an application's logic into distinct layers, each of which carries out a specific set of tasks.
  • Model-View-ViewModel (MVVM) - Model-View-ViewModel (MVVM) is a software design pattern that is structured to separate program logic and user interface controls.
  • module - A module is a distinct assembly of components that can be easily added, removed or replaced in a larger system.
  • MPP (massively parallel processing) - MPP (massively parallel processing) is the coordinated processing of a program by multiple processors that work on different parts of the program, with each processor using its own operating system and memory.
  • multiprocessing - Multiprocessing is the utilization of two or more central processing units (CPUs) in a single computer system.
  • mutual exclusion (mutex) - In computer programming, a mutual exclusion (mutex) is a program object that prevents multiple threads from accessing the same shared resource simultaneously.
  • native app - A native application is a software program developers build for use on a particular platform or device.
  • native code - Native code is binary data compiled to run on a processor, such as an Intel x86-class processor.
  • NetBeans - NetBeans is a Java-based integrated development environment (IDE).
  • nil - In general use, nil (a contraction of Latin "nihil") means "nothing" or the absence of something.
  • no op (no operation) - No op means 'no operation,' which is a computer instruction that specifies no operation but takes up a small amount of storage space.
  • Node.js (Node) - Node.js (Node) is an open source, cross-platform runtime environment for executing JavaScript code.
  • obfuscation - Obfuscation means to make something difficult to understand.
  • object - In object-oriented programming (OOP), objects are the things you think about first in designing a program and they are also the units of code that are eventually derived from the process.
  • object code - Source code and object code refer to the "before" and "after" versions of a computer program that is compiled (see compiler) before it is ready to run in a computer.
  • object-oriented programming (OOP) - Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic.
  • object-relational mapping (ORM) - Object-relational mapping (ORM) is a way to align programming code with database structures.
  • Open Document Format (ODF) - The Open Document Format (ODF) is a zip-compressed, Extensible Markup Language (XML)-based, open source file format for saving and exchanging text, spreadsheets, charts, graphics and presentations.
  • Open Service Gateway Initiative (OSGi) - OSGi (Open Service Gateway Initiative) is an industry plan for a standard way to connect devices such as home appliances and security systems to the Internet.
  • open source - The term 'open source' refers to any program whose source code is made available for use or modification as users or other developers see fit.
  • Open Source Hardening Project - The Open Source Hardening Project is an initiative of the United States Department of Homeland Security, created to improve the security of open source code.
  • OpenJDK - OpenJDK is a free, open-source version of the Java Development Kit for the Java Platform, Standard Edition (Java SE).
  • operand - In computing and mathematics, an operand is an object that is operated on by some type of operator.
  • operation (computing) - An operation, in computing, is an action that is carried out to accomplish a given task.
  • operator - In mathematics and computer programming, an operator is a character that represents a specific mathematical or logical action or process.
  • orthogonal - Orthogonal concepts have their roots in advanced mathematics.
  • OSGi (Open Service Gateway Initiative) - The OSGi (Open Service Gateway Initiative) specification is a Java framework for developing and deploying modular software programs and libraries.
  • out-of-order execution (OoOE) - Out-of-order execution (OoOE) is an approach to processing that allows instructions for high-performance microprocessors to begin execution as soon as their operands are ready.
  • pair programming - Pair programming is an Agile software development technique originating from Extreme programming (XP) in which two developers team together and work on one computer.
  • parser - In computer technology, a parser is a program that's usually part of a compiler.
  • performance testing - Performance testing is a testing measure that evaluates the speed, responsiveness and stability of a computer, network, software program or device under a workload.
  • Perl - Perl is a family of script programming languages that is similar in syntax to the C language.
  • PHP (Hypertext Preprocessor) - PHP (Hypertext Processor) is a general-purpose scripting language and interpreter that is freely available and widely used for web development.
  • pigs and chickens - Pigs and chickens is an analogy used in the Scrum software development model to define the type of role an attendee can play at a daily scrum meeting.
  • pipe - In computer programming, especially in Unix operating systems (OSes), a pipe is a technique for passing information from one program process or command to another.
  • PL/SQL (procedural language extension to Structured Query Language) - In Oracle database management, PL/SQL is a procedural language extension to Structured Query Language (SQL).
  • polyglot programming - Polyglot programming is the practice of writing code in multiple languages to capture additional functionality and efficiency not available in a single language.
  • polymorphism - Polymorphism is a popular concept in object-oriented programming (OOP), referring to the idea that an entity in code such as a variable, function or object can have more than one form.
  • POSIX (Portable Operating System Interface) - POSIX (Portable Operating System Interface) is a set of standard operating system interfaces based on the Unix operating system.
  • Postscript - Postscript is a programming language that describes the appearance of a printed page.
  • prettyprint - Prettyprint is the process of converting and presenting source code or other objects in a legible and attractive way.
  • primitive (programming) - In computer programming, a primitive is one of a set of fundamental language elements that serve as the foundation for a programming language.
  • principle of least privilege (POLP) - The principle of least privilege (POLP) is a concept in computer security that limits users' access rights to only what is strictly required to do their jobs.
  • problem program - Now seldom used, the term problem program is used to distinguish a computer program that directly supports a user application from an operating system, a utility, or any other underlying support programming.
  • program - In computing, a program is a specific set of ordered operations for a computer to perform.
  • program counter - A program counter is a special register in a computer processor that contains the memory address (location) of the next program instruction to be executed.
  • project management - Project management is the discipline of using established principles, procedures and policies to guide a project from conception through completion.
  • Project planning: What it is and 5 steps to create a plan - Project planning is a project management discipline that addresses how to complete a project in a certain time frame, usually with clearly defined stages, milestones and designated resources.
  • protected mode - Protected mode, also called protected virtual address mode, is the primary mode of operation for an Intel-based x86 microprocessor.
  • prototype - A prototype is an early version of a product from which future versions are developed.
  • pseudo-random number generator (PRNG) - A pseudo-random number generator (PRNG) is a program written for, and used in, probability and statistics applications when large quantities of random digits are needed.
  • pseudocode - Pseudocode is a detailed yet readable description of what a computer program or algorithm should do.
  • Python - Python is a high-level, general-purpose, interpreted object-oriented programming language.
  • race condition - A race condition is an undesirable situation that occurs when a device or system attempts to perform two or more operations at the same time, but because of the nature of the device or system, the operations must be done in the proper sequence to be done correctly.
  • random numbers - As the term suggests, a random number is a number chosen by chance -- i.
  • rapid application development (RAD) - Rapid application development (RAD) is a model based on the concept that higher-quality products can be developed faster through more expedient processes, such as early prototyping, reusing software components and less formality in team communications.
  • rapid mobile app development (RMAD) - Rapid mobile application development (RMAD) uses low-code/no-code programming tools to expedite the application creation process for mobile platforms.
  • reactive programming - Reactive programming is a programming paradigm, or model, that centers around the concept of reacting to changes in data and events as opposed to waiting for an event to happen.
  • Red Hat Enterprise Linux (RHEL) - Red Hat Enterprise Linux (RHEL) is an enterprise Linux operating system (OS) developed by Red Hat for the business market.
  • refactoring - Refactoring is the process of restructuring code, while not changing its original functionality.
  • register (processor register, CPU register) - A processor register is one of a small set of data holding places that are part of the computer processor.
  • regression testing - Regression testing is a type of software test that assesses if changes to an application, or other related software components, introduce defects.
  • release - A release is the distribution of the final version or the newest version of a software application.
  • release plan - In agile software development, a release plan is an evolving flowchart that describes which features will be delivered in upcoming releases.
  • Remote Method Invocation (RMI) - Remote Method Invocation (RMI) is an application programming interface (API) in the Java programming language and development environment.
  • Remote Procedure Call (RPC) - A Remote Procedure Call (RPC) is a software communication protocol that one program uses to request a service from another program located on a different computer and network, without having to understand the network's details.
  • reverse-engineering - Reverse-engineering is the act of dismantling an object to see how it works.
  • RFM analysis (recency, frequency, monetary) - RFM analysis is a marketing technique used to quantitatively rank and group customers based on the recency, frequency and monetary total of their recent transactions to identify the best customers and perform targeted marketing campaigns.
  • rounding error - Rounding error is the difference between a rounded-off numerical value and the actual value.
  • Ruby - Ruby is an open source, interpreted, object-oriented programming language created by Yukihiro Matsumoto, who chose the gemstone's name to suggest "a jewel of a language.
  • runtime - Runtime is a piece of code that implements portions of a programming language's execution model.
  • sandbox - A sandbox is an isolated testing environment that enables users to run programs or open files without affecting the application, system or platform on which they run.
  • SAP BAPI (Business Application Programming Interface) - SAP BAPI (Business Application Programming Interface) is a standard interface to the business object models in SAP products.
  • SAP Integration Server - SAP Integration Server is the central component of SAP XI (Exchange Infrastructure), the company's enterprise application integration (EAI) product.
  • SAP NetWeaver - SAP NetWeaver is a technology platform that allows organizations to integrate data, business processes, elements and more from a variety of sources into unified SAP environments.
  • script - In computer programming, a script is a program or sequence of instructions that is interpreted or carried out by another program rather than by the computer processor (as a compiled program is).
  • scripting language - A scripting language is a type of programming language in which the instructions are interpreted individually at runtime.
  • security by design - Security by design is an approach to software and hardware development that seeks to make systems as free of vulnerabilities and impervious to attack as possible through such measures as continuous testing, authentication safeguards and adherence to best practices.
  • semaphore - In programming, especially in Unix systems, semaphores are a technique for coordinating or synchronizing activities in which multiple processes compete for the same operating system resources.
  • semiotics - Semiotics is the study of the use of symbolic communication.
  • Service Data Objects (SDO) - Service Data Objects (SDO) is the name of a specification designed to streamline the processing of SOA (service-oriented architecture) data from diverse sources such as XML documents, relational databases and Web services.
  • smoke testing - Smoke testing, also called build verification testing or confidence testing, is a software testing method that is used to determine if a new software build is ready for the next testing phase.
  • snake case - Snake case is a naming convention where a developer replaces spaces between words with an underscore.
  • SOAP (Simple Object Access Protocol) - SOAP (Simple Object Access Protocol) is a message protocol that enables the distributed elements of an application to communicate.
  • software - Software is a set of instructions, data or programs used to operate computers and execute specific tasks.
  • software agent - A software agent is a persistent, goal-oriented computer program that reacts to its environment and runs without continuous direct supervision to perform some function for an end user or another program.
  • software development kit (SDK) - A software development toolkit (SDK) is a set of software tools and programs provided by hardware and software vendors that developers can use to build applications for specific platforms.
  • software documentation - In the software development process, software documentation is the information that describes the product to the people who develop, deploy and use it.
  • software patch - A software patch or fix is a quick-repair job for a piece of programming designed to resolve functionality issues, improve security or add new features.
  • software portability - Software portability is a characteristic attributed to a computer program if it can run with minimal rework on operating systems (OSes) other than the one for which it was created.
  • software testing - Software testing is the process of assessing the functionality of a software program.
  • source code - Source code is the fundamental component of a computer program that is created by a programmer, often written in the form of functions, descriptions, definitions, calls, methods and other operational statements.