Programming
Definitions related to software programming, including tech terms about programming languages and words and phrases about software design, coding, testing and debugging.- lexical scoping (static scoping) - Lexical scoping, also known as static scoping, is a convention used with many modern programming languages.
- Lisp (programming language) - Lisp, an acronym for list processing, is a functional programming language that was designed for easy manipulation of data strings.
- logical implication - Logical implication is a type of relationship between two statements or sentences.
- logical negation symbol - The logical negation symbol is used in Boolean algebra to indicate that the truth value of the statement that follows is reversed.
- logical OR symbol - In mathematics, the logical OR symbol is a Boolean function that is positioned between two statements to indicate an inclusive disjunction between them.
- loop - In computer programming, a loop is a sequence of instructions that is continually repeated until a certain condition is reached.
- massive open online course (MOOC) - A massive open online course (MOOC) is a typically free web-based distance learning program that's designed for large numbers of geographically dispersed students.
- memory dump - A memory dump is the process of taking all information content in RAM and writing it to a storage drive as a memory dump file (*.
- memory management - Memory management is the process of controlling and coordinating a computer's main memory.
- 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.
- Micronaut framework - Micronaut is an open source JVM-based software framework for building lightweight, modular applications and microservices.
- 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.
- monolithic architecture - A monolithic architecture is the traditional unified model for the design of a software program.
- 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.
- OpenAPI Specification - The OpenAPI (OAI) Specification defines a standard, programming language-agnostic interface description for RESTful APIs.
- 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.
- product owner - A product owner is a role on a Scrum team that is accountable for the project's outcome.
- 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 Basis - Basis is a set of middleware programs and tools from SAP, the German company whose comprehensive R/3 product is used to help manage large corporations.
- 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.