50 relations: Ada (programming language), ALGOL, Anonymous function, Backward chaining, BASIC, Block (programming), Branch table, C (programming language), Central processing unit, Closure (computer programming), COBOL, Comparison of programming paradigms, Computing platform, Control flow, Data structure, Declarative programming, Esoteric programming language, First-class function, Fortran, Functional programming, Go (programming language), Goto, Higher-order function, Imperative programming, Input/output, Java processor, Library (computing), Lisp machine, Logic programming, Logo (programming language), Modular programming, Non-structured programming, Object-oriented programming, Parameter (computer programming), Pascal (programming language), Processor register, Programming language, Programming paradigm, Prolog, Record (computer science), Return statement, Scheme (programming language), Scope (computer science), SLD resolution, Stack register, Structured programming, Subroutine, Tail call, Unlambda, Variable (computer science).
Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.
ALGOL (short for "Algorithmic Language") is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years.
In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier.
Backward chaining (or backward reasoning) is an inference method that can be described colloquially as working backward from the goal(s).
BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use.
In computer programming, a block or code block is a lexical structure of source code which is grouped together.
In computer programming, a branch table or jump table is a method of transferring program control (branching) to another part of a program (or a different program that may have been dynamically loaded) using a table of branch or jump instructions.
C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.
A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.
In programming languages, a closure (also lexical closure or function closure) is a technique for implementing lexically scoped name binding in a language with first-class functions.
COBOL (an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use.
This article attempts to set out the various similarities and differences between the various programming paradigms as a summary in both graphical and tabular format with links to the separate discussions concerning these similarities and differences in extant Wikipedia articles.
A computing platform or digital platform is the environment in which a piece of software is executed.
In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated.
In computer science, a data structure is a data organization and storage format that enables efficient access and modification.
In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow.
An esoteric programming language (sometimes shortened to esolang) is a programming language designed to test the boundaries of computer programming language design, as a proof of concept, as software art, as a hacking interface to another language (particularly functional programming or procedural programming languages), or as a joke.
In computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens.
Fortran (formerly FORTRAN, derived from Formula Translation) is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.
In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.
Go (often referred to as Golang) is a programming language created at Google in 2009 by Robert Griesemer, Rob Pike, and Ken Thompson.
GoTo (goto, GOTO, GO TO or other case combinations, depending on the programming language) is a statement found in many computer programming languages.
In mathematics and computer science, a higher-order function (also functional, functional form or functor) is a function that does at least one of the following.
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.
In computing, input/output or I/O (or, informally, io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system.
A Java processor is the implementation of the Java virtual machine (JVM) in hardware.
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support.
Logic programming is a type of programming paradigm which is largely based on formal logic.
Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert and Cynthia Solomon.
Modular programming is a software design technique that emphasizes separating the functionality of a programme into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
Non-structured programming is the historically earliest programming paradigm capable of creating Turing-complete algorithms.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").
In computer programming, a parameter (often called formal parameter or formal argument) is a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine.
Pascal is an imperative and procedural programming language, which Niklaus Wirth designed in 1968–69 and published in 1970, as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honor of the French mathematician, philosopher and physicist Blaise Pascal. Pascal was developed on the pattern of the ALGOL 60 language. Wirth had already developed several improvements to this language as part of the ALGOL X proposals, but these were not accepted and Pascal was developed separately and released in 1970. A derivative known as Object Pascal designed for object-oriented programming was developed in 1985; this was used by Apple Computer and Borland in the late 1980s and later developed into Delphi on the Microsoft Windows platform. Extensions to the Pascal concepts led to the Pascal-like languages Modula-2 and Oberon.
In computer architecture, a processor register is a quickly accessible location available to a computer's central processing unit (CPU).
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.
Programming paradigms are a way to classify programming languages based on their features.
Prolog is a general-purpose logic programming language associated with artificial intelligence and computational linguistics.
In computer science, a record (also called a structure, struct, or compound data) is a basic data structure.
In computer programming, a return statement causes execution to leave the current subroutine and resume at the point in the code immediately after where the subroutine was called, known as its return address.
Scheme is a programming language that supports multiple paradigms, including functional programming and imperative programming, and is one of the two main dialects of Lisp.
In computer programming, the scope of a name binding – an association of a name to an entity, such as a variable – is the region of a computer program where the binding is valid: where the name can be used to refer to the entity.
SLD resolution (Selective Linear Definite clause resolution) is the basic inference rule used in logic programming.
A stack register is a computer central processor register whose purpose is to keep track of a call stack.
Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection (if/then/else) and repetition (while and for), block structures, and subroutines in contrast to using simple tests and jumps such as the go to statement, which can lead to "spaghetti code" that is potentially difficult to follow and maintain.
In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.
In computer science, a tail call is a subroutine call performed as the final action of a procedure.
Unlambda is a minimal, "nearly pure" functional programming language invented by David Madore.
In computer programming, a variable or scalar is a storage location (identified by a memory address) paired with an associated symbolic name (an identifier), which contains some known or unknown quantity of information referred to as a value.
Procedual language, Procedural (programming), Procedural code, Procedural language, Procedural programming language, Procedural programming languages, Procedure orientation, Procedure-oriented language.