Programming

Definitions related to software programming, including tech terms about programming languages and words and phrases about software design, coding, testing and debugging.
  • 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.
  • Sun Microsystems - Sun Microsystems (often just called "Sun"), the leading company in computers used as Web servers, also makes servers designed for use as engineering workstations, data storage products, and related software.
  • 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.
  • timebox - In agile software development, a timebox is a defined period of time during which a task must be accomplished.
  • 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.
  • truncation error - A truncation error is the difference between an actual and a truncated, or cut-off, value.
  • trunk-based development - In software development, a trunk is the base code into which all subsequent code is merged.
  • truth table - A truth table is a breakdown of all the possible truth values returned by a logical expression.
  • tuple - A tuple, pronounced TUH-pul, is an ordered and finite list of elements in various fields of interest, including computing.
  • Unicode - Unicode is a universal character encoding standard that is maintained by the Unicode Consortium, a standards organization founded in 1991 for the internationalization of software and services.
  • Unified Modeling Language (UML) - Unified Modeling Language (UML) is a standard notation for modeling real-world objects as a first step in designing an object-oriented system.
  • use case - A use case is a methodology used in system analysis to identify, clarify and organize system requirements.
  • use case diagram (UML use case diagram) - A use case diagram is a way to summarize details of a system and the users within that system.
  • user interface (UI) - The user interface (UI) is the point of human-computer interaction and communication in a device.
  • Uuencode (Uuencode/Uudecode) - Uuencode (also called Uuencode/Uudecode) is a popular utility for encoding and decoding files exchanged between users or systems in a network.
  • variable - In programming, a variable is a value that can change, depending on conditions or on information passed to the program.
  • VBScript - VBScript is an interpreted script language from Microsoft that is a subset of its Visual Basic programming language designed for interpretation by Microsoft's Internet Explorer (IE) web browser.
  • vertical bar - The vertical bar ( | ) is a symbol used in mathematics, computing and other areas to represent a specific type of logic or operation, depending on its context.
  • virtual appliance - Considered a software equivalent of a hardware device, a virtual appliance (VA) is a preconfigured software solution.
  • Visual Basic (VB) - Visual Basic (VB) is an event-driven programming language and environment from Microsoft that provides a graphical user interface (GUI) which allows programmers to modify code by simply dragging and dropping objects and defining their behavior and appearance.
  • Visual Basic .NET (VB.NET or VB .NET) - Visual Basic .
  • web application development - Web application development is the creation of application programs that reside on remote servers and are delivered to the user's device over the internet.
  • web services - Web services are a type of internet software that use standardized messaging protocols and are made available from an application service provider's web server for a client or other web-based programs to use.
  • web stack - A web stack is the collection of software used for web development that incorporates, at a minimum, an operating system (OS), a programming language, database software and a web server.
  • WebLogic - Oracle WebLogic Server is a leading e-commerce online transaction processing (OLTP) platform, developed to connect users in distributed computing production environments and to facilitate the integration of mainframe applications with distributed corporate data and applications.
  • What is a 3-tier application architecture? - A three-tier application architecture is a modular client-server architecture that consists of a presentation tier, an application tier and a data tier.
  • What is a bitwise operator? - A bitwise operator is a character that represents an action taken on data at the bit level, as opposed to bytes or larger units of data.
  • What is a build server? - A build server, also called a continuous integration server (CI server), is a centralized, stable and reliable environment for building distributed development projects.
  • What is a framework? - In general, a framework is a real or conceptual structure intended to serve as a support or guide for the building of something that expands the structure into something useful.
  • What is a functional specification document? - A functional specification is a formal document used to describe a product's intended capabilities, appearance and interactions with users in detail for software developers.
  • What is a kernel? - A kernel is the essential foundation of a computer's operating system (OS).
  • What is a PERT chart? And how to use it, with examples - A PERT chart, sometimes called a PERT diagram, is a project management tool used to schedule, organize and coordinate tasks in a project.
  • What is a product owner? - A product owner is a role on a Scrum team that is responsible for the project's outcome.
  • What is a Waterfall model? Definition and guide - The Waterfall model is a linear, sequential approach to the software development lifecycle (SDLC) that is popular in software engineering and product development.
  • What is acceptance testing? - Acceptance testing is a quality assurance (QA) process that determines to what degree an application meets end users' approval.
  • What is Agile software development? - Agile is a type of software development methodology that anticipates the need for flexibility and applies a level of pragmatism to the delivery of the finished product.
  • What is an API (application programming interface)? - An application programming interface (API) is code that enables two software programs to communicate.
  • What is an API endpoint? - An API endpoint is a point at which an application programming interface -- the code that enables two software programs to communicate with each other -- connects with the software program.
  • What is an embedded system? - An embedded system is a combination of computer hardware and software designed for a specific function.
  • What is asynchronous? - In general, asynchronous -- from Greek asyn- ('not with/together') and chronos ('time') -- describes objects or events not coordinated in time.
  • What is Ballerina language? - Ballerina language is an open-source, cloud-native programming language designed to ease the burden of integration development associated with enterprise applications.
  • What is BASIC (Beginner's All-purpose Symbolic Instruction Code)? - BASIC, short for Beginner's All-purpose Symbolic Instruction Code", is an early programming language that was designed to help non-technical users and students solve easy problems with a computer.
  • What is black box testing? - Black box testing assesses a system solely from the outside, without the operator or tester knowing what's happening within the system to generate responses to test actions.
  • What is blue/green deployment? - A blue/green deployment is a change management strategy for releasing software code.
  • What is C (programming language)? - The C programming language is a procedural and general-purpose language that provides low-level access to system memory.
  • What is computer-aided software engineering (CASE)? - Computer-aided software engineering (CASE) describes a broad set of labor-saving tools and methods used in software development and business process modeling.
  • What is continuous integration (CI)? - Continuous integration (CI) is a software development practice in which frequent and incremental changes are routinely added (integrated) to the complete codebase immediately after the changes and additions are tested and validated.
  • What is DevOps? Meaning, methodology and guide - The word 'DevOps' is a combination of the terms 'development' and 'operations,' meant to represent a collaborative or shared approach to the tasks performed by a company's application development and IT operations teams.
  • What is Enterprise Service Bus (ESB)? - An enterprise service bus (ESB) is a software platform used to distribute work among connected components of an application.
  • What is foo (in software programming)? - Foo (pronounced FOO) is a term used by programmers as a placeholder for a value that can change depending on conditions or on information passed to the program.
  • What is integration testing (I&T)? - Integration testing -- also known as integration and testing or I&T -- is a type of software testing in which the different units, modules or components of a software application are tested as a combined entity.
  • What is inversion of control (IoC)? - Inversion of control, also known as the Hollywood Principle, changes the control flow of an application and allows developers to sidestep some typical configuration hassles.
  • What is Java Flight Recorder and how does it work? - Java Flight Recorder is a Java Virtual Machine (JVM) profiler that gathers performance metrics without placing a significant load on resources.
  • What is JCL (job control language)? - JCL (job control language) is a language for describing jobs to the Multiple Virtual Storage (MVS), OS/390 and Virtual Storage Extended (VSE) operating systems (OSes), which run on IBM's S/390 mainframe computers.
  • What is Jenkins and how does it work? - Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software DevOps tool written in the Java programming language.
  • What is jQuery? - jQuery is an open-sourced JavaScript library that simplifies creation and navigation of web applications.
  • What is Kebab case? - Kebab case -- or kebab-case -- is a programming variable naming convention where a developer replaces the spaces between words with a dash.
  • What is machine code (machine language)? - Machine code, also known as ‘machine language’ or ‘native code,’ is the elemental language of computers.
  • What is machine learning? Guide, definition and examples - Machine learning is a branch of AI focused on building computer systems that learn from data.
  • What is memory management in a computer environment? - Memory management is the process of controlling and coordinating a computer's main memory.
  • What is Micronaut? Introduction to the Micronaut Framework - Micronaut is an open source JVM-based software framework for building lightweight, modular applications and microservices.
  • What is Microsoft Visual FoxPro (VFP)? - Microsoft Visual FoxPro (VFP) is an object-oriented programming (OOP) environment with a built-in relational database engine.
  • What is Mojo programming language and what is it used for? - Mojo is a high-performance programming language initially designed to unify and simplify the development of applications across all layers of the AI stack.
  • What is monolithic architecture in software? - Monolithic architecture is the traditional unified model for the design of a software program.
  • What is natural language processing (NLP)? - Natural language processing (NLP) is the ability of a computer program to understand human language as it’s spoken and written -- referred to as natural language.
  • What is no-code? Everything you need to know - No-code is a software development approach that requires few, if any, programming skills to quickly build an application, website or module that links into an existing system.
  • What is obfuscation and how does it work? - Obfuscation means to make something difficult to understand.
  • What is parallel processing? - Parallel processing is a method in computing of running two or more processors, or CPUs, to handle separate parts of an overall task.
  • What is Pascal case? - Pascal case is a naming convention in which developers start each new word in a variable with an uppercase letter.
  • What is PowerShell and how to use it: The ultimate tutorial - PowerShell is an object-oriented automation engine and scripting language with an interactive command-line shell that Microsoft developed to help IT professionals configure systems and automate administrative tasks.
  • What is quality assurance (QA)? - Quality assurance (QA) is any systematic process of determining whether a product or service meets specified requirements.
  • What is SAP Basis? - SAP Basis is the technical foundation that enables SAP applications to function.
  • What is server virtualization? The ultimate guide - Server virtualization is a process that creates and abstracts multiple virtual instances on a single server.
  • What is systems development life cycle? - The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project -- from an initial feasibility study all the way through maintenance of the completed application.
  • What is the OpenAPI Specification? - The OpenAPI (OAI) Specification defines a standard, programming language-agnostic interface description for RESTful APIs.
  • What is traveling salesman problem (TSP)? - The traveling salesman problem (TSP) is a programming optimization problem to find the shortest path that connects a given set of points.
  • What is user acceptance testing (UAT)? - User acceptance testing (UAT), also called application testing or end-user testing, is a phase of software development in which the software is tested in the real world by its intended audience.
  • What is web application (web apps) and its benefits? - A web application (web app) is an application program that is stored on a remote server and delivered over the internet through a browser interface.
  • widget - In computing, a widget is an element of a graphical user interface that displays information or provides a specific way for a user to interact with the operating system (OS) or an application.
  • wiki - A wiki is a web-based collaborative platform that enables users to store, create and modify content in an organized manner.
  • wildcard character - A wildcard character is a special character that represents one or more other characters.
  • word (in computing) - In computer architecture, a word is a unit of data of a defined bit length that can be addressed and moved between storage and the computer processor.
  • write once, run anywhere (WORA) - Write once, run anywhere (WORA) is a term that refers to a particular program's supposed ability to run on all common OSs (operating systems).
  • XSL (Extensible Stylesheet Language) - XSL (Extensible Stylesheet Language) is a family of standards that specifies how to define Extensible Markup Language (XML) document transformation and presentation.
  • YAGNI principle (You Aren't Gonna Need It) - YAGNI principle ("You Aren't Gonna Need It") is a practice in software development which states that features should only be added when required.
  • yak shaving - Yak shaving is programming lingo for the seemingly endless series of small tasks that have to be completed before the next step in a project can move forward.