Programming
Definitions related to software programming, including tech terms about programming languages and words and phrases about software design, coding, testing and debugging.- 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.
- 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.
- 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 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.
- 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.
- 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.
- 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.
- spam filter - A spam filter is a program used to detect unsolicited, unwanted and virus-infected emails and prevent those messages from getting to a user's inbox.
- spiral model - The spiral model is a systems development lifecycle (SDLC) method used for risk management that combines the iterative development process model with elements of the waterfall model.
- SQL injection (SQLi) - A SQL injection (SQLi) is a technique that attackers use to gain unauthorized access to a web application database by adding a string of malicious code to a database query.
- SSADM (Structured Systems Analysis and Design Method) - SSADM (Structured Systems Analysis and Design Method) is a widely used computer application development method in the United Kingdom, where its use is often specified as a requirement for government computing projects.
- stack overflow - A stack overflow is a type of buffer overflow error that occurs when a computer program tries to use more memory space in the call stack than has been allocated to that stack.
- stack pointer - A stack pointer is a small register that stores the memory address of the last data element added to the stack or, in some cases, the first available address in the stack.
- state diagram (state machine diagram or statechart diagram) - A state diagram (also known as a state machine or statechart diagram) is an illustration of all the possible behavioral states a software system component may exhibit and the various state changes it's predicted to undergo over the course of its operations.
- static testing - Static testing is a software testing method that examines a program -- along with any associated documents -- but does not require the program to be executed.
- statistical mean, median, mode and range - The terms mean, median, mode, and range describe properties of statistical distributions.
- strongly typed programming language - A strongly typed programming language is one in which each type of data, such as integers, characters, hexadecimals and packed decimals, is predefined as part of the programming language, and all constants or variables defined for a given program must be described with one of the data types.
- structured programming (modular programming) - Structured programming, or modular programming, is a programming paradigm that facilitates the creation of programs with readable code and reusable components.
- supervisor call (SVC) - In computers, especially IBM mainframes, a supervisor call (SVC) instruction is a processor instruction that directs the processor to pass control of the computer to the operating system's supervisor program.
- Systems Modeling Language (SysML) - Systems Modeling Language (SysML) helps teams design, develop, test and deploy complex physical systems.
- template - A template is a form, mold or pattern used as a guide to make something.
- test-driven development (TDD) - Test-driven development (TDD), also called test-driven design, is a software programming method that interlaces unit testing, programming and refactoring on source code.
- thread - A thread is, fundamentally, a clear, well-defined theme, subject, topic or focus.
- timestamp - A timestamp is the current time of an event that a computer records.
- Top searches of 2008 - What were people searching the WhatIs.
- Total Quality Management (TQM) - Total Quality Management (TQM) is a management framework based on the belief that an organization can build long-term success by having all its members -- from low-level workers to its highest-ranking executives -- focus on improving quality and, thus, delivering customer satisfaction.