Programming languages

315 articles

General

Phantom type

A phantom type is a type parameter that appears in a type's name but holds no runtime value, so the compiler can reject code that mixes up values like euros and dollars.

General

Pharo

Pharo is an open-source, reflective, dynamically typed object-oriented programming language and live programming environment in the Smalltalk tradition, forked from Squeak in 2008 and released under the MIT license.

General

PHP

PHP (Hypertext Preprocessor) is an open source scripting language suited for web development, created by Rasmus Lerdorf in 1994 and used by most websites with a known server-side language.

General

Piet (programming language)

Piet is an esoteric, stack-based programming language created by David Morgan-Mar and named after Piet Mondrian, in which a program is an image of colored blocks and instructions depend on color changes between them.

General

PL/I

PL/I (Programming Language One) is a general-purpose programming language designed by IBM and SHARE in 1963–1964 for commercial, scientific, and systems programming, still used on mainframes.

General

Pointer (computer programming)

A pointer, also called a data pointer or pointer variable, is a programming value that stores the memory address of data rather than the data itself.

General

Polymorphism (computer science)

Polymorphism, also known as type polymorphism, is a computer science concept letting code work with values of many types, including subtype, parametric, and ad hoc polymorphism.

General

PostScript

PostScript, also called the PostScript language, is a stack-based programming language released by Adobe in 1984 that describes the appearance of text, shapes, and images on printed pages.

General

PowerShell

PowerShell, also known as Windows PowerShell, is a Microsoft command-line shell and scripting language for task automation whose commands pass structured .NET objects through its pipeline.

General

Primitive data type

A primitive data type, or built-in type, is a data type predefined by a programming language rather than built by the programmer, typically integers, floats, booleans, and characters.

General

Procedural programming

Procedural programming is a programming style in which code is organized into reusable procedures called with different arguments; C, Python, Fortran, and Pascal are primarily procedural languages.

General

Processing (programming language)

Processing is an open-source programming language and development environment for visual computing, built on Java and created in 2001 by Ben Fry and Casey Reas for artists and designers.

General

Programming language

A programming language is a formal language for communicating algorithms to people and machines, ranging from general-purpose languages like C, Java, and Python to special-purpose notations like SQL and HTML.

General

Programming paradigm

A programming paradigm is a fundamental style for writing computer programs, with imperative paradigms like procedural and object-oriented and declarative ones like functional and logic.

General

Prolog

Prolog is a logic programming language created around 1972 at the University of Marseille by Alain Colmerauer and Philippe Roussel, in which programs run by proving goals through backtracking.

General

Promela

Promela is a high-level specification language for modeling interactions in distributed systems and expressing correctness requirements, verified with the SPIN model checker, which proves properties or generates counterexamples.

General

Prototype-based programming

Prototype-based programming is a style of object-oriented programming in which objects reuse behavior by delegating to prototype objects instead of classes, as in JavaScript and Self.

General

PRQL

PRQL (Pipelined Relational Query Language, "Prequel") is an open-source pipelined query language that compiles to SQL for any database. Launched January 2022 by Maximilian Roos; Rust compiler prqlc; 10.9k GitHub stars; 0.13.14 (2026).

General

Pseudocode

Pseudocode is a plain-language, language-independent description of an algorithm's steps that resembles programming code but is meant for humans rather than execution, used for planning and teaching.

General

Pure Data

Pure Data (Pd) is a free, open-source visual programming environment for real-time music, audio, and multimedia, created by Miller Puckette around 1996 as an open-source rewrite of his earlier program Max.

General

Pure function

A pure function is a function that only performs a calculation, never changing existing state and always returning the same result, enabling testing, caching, and compiler optimization.

General

Python (programming language)

Python is an interpreted, high-level programming language created by Guido van Rossum and first released in 1991, prized for readable syntax and widely used in web development and data science.

General

Quine (computing)

A quine is a computer program that takes no input and prints its own source code exactly, named by Douglas Hofstadter in 1979 after logician Willard van Orman Quine.

General

Racket (programming language)

Racket, formerly PLT Scheme, is a general-purpose, functional-first programming language, a Lisp dialect and Scheme descendant designed around building small problem-specific languages as easily as libraries.

General

Reactive programming

Reactive programming is a programming paradigm in which changes to values automatically propagate to dependent computations, essentially the spreadsheet's recalculation model embedded in programming languages.

General

Recursion (computer science)

Recursion in computer science is a method of solving a problem in which a function calls itself on a smaller version of the same problem, ending at a base case.

General

Recursive acronym

A recursive acronym, also called a self-referential or circular acronym, is an acronym that refers to itself, a hacker tradition best known through GNU, "GNU's Not Unix!"

General

Reference counting

Reference counting is a garbage collection technique in which each object carries a count of its references and is freed when the count reaches zero.

General

Refinement type

A refinement type is a data type paired with a logical predicate restricting which values it admits, so a static checker can verify program properties at compile time.

General

Regular expression

A regular expression (regex or regexp) is a notation for describing sets of character strings, introduced by Stephen Kleene in 1956 and implemented by Ken Thompson in 1968.