Computers

Functional programming definition and origin

Programming Paradigm

  • A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering).
  • A programming paradigm provides (and determines) the view that the programmer has of the execution of the program.
  • For instance, in object-oriented programming, programmers can think of a program as a collection of interacting objects, while in functional programming a program can be thought of as a combination of stateless function evaluations.

Functional Programming Paradigm

  • Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data.
  • Functional programming emphasizes the application of functions, in contrast with imperative programming, which emphasizes changes in state and the execution of sequential commands.
  • Functional programming is a style of programming which consists of functions applied to arguments, for example the elements of a list, and to other functions.

Origin of functional Programming

  • Lambda calculus,
    • Invented by Alonzo Church in the 1930s
    • provides a theoretical framework for describing functions and their evaluation.
    • Though it is a mathematical abstraction rather than a programming language, lambda calculus forms the basis of almost all functional programming languages today.
  • Combinatory logic
    • This is an equivalent theoretical foundation, developed by Moses Schönfinkel and Haskell Curry.
    • It was originally developed to achieve a larger goal: a clearer approach to the foundations of mathematics.
    • Combinatory logic, which is commonly perceived as more abstract than lambda calculus, preceded lambda-calculus in invention.
  • Information Processing Language (IPL)
    • The first computer-based functional programming language
    • Developed by Newell, Shaw, and Simon at RAND Corporation for the JOHNNIAC computer in the mid-1950s.
  • LISP
    • An early functional-flavored programming language
    • Developed by John McCarthy while at MIT for the IBM 700/7000 series scientific computers in the late 1950s.
    • LISP introduced many of the features now found in modern functional programming languages, though LISP is technically a multi-paradigm language.
    • Scheme and Dylan were later attempts to simplify and improve LISP.
  • APL programming language
  • J programming language
    • In the early 1990s, Iverson and Roger Hui created
    • A successor to APL.
  • K programming language
    • In the mid 1990s
    • Created by  Arthur Whitney, who had previously worked with Iverson
    • used commercially in financial industries.
  • ML programming language
  • Miranda
  • ML eventually developed into several dialects, the most common of which are now Objective Caml and Standard ML.
  • The Haskell programming language was released in the late 1980s in an attempt to gather together many ideas in functional programming research.

 

Origin of functional Programming

Lambda calculus,

Invented by Alonzo Church in the 1930s

provides a theoretical framework for describing functions and their evaluation.

Though it is a mathematical abstraction rather than a programming language, lambda calculus forms the basis of almost all functional programming languages today.

Combinatory logic

This is an equivalent theoretical foundation, developed by Moses Schönfinkel and Haskell Curry.

It was originally developed to achieve a larger goal: a clearer approach to the foundations of mathematics.

Combinatory logic, which is commonly perceived as more abstract than lambda calculus, preceded lambda-calculus in invention.

Information Processing Language (IPL)

The first computer-based functional programming language

Developed by Newell, Shaw, and Simon at RAND Corporation for the JOHNNIAC computer in the mid-1950s.

LISP

An early functional-flavored programming language

Developed by John McCarthy while at MIT for the IBM 700/7000 series scientific computers in the late 1950s.

LISP introduced many of the features now found in modern functional programming languages, though LISP is technically a multi-paradigm language.

Scheme and Dylan were later attempts to simplify and improve LISP.

APL programming language

Kenneth E. Iverson developed in the early 1960s

Described in his 1962 book “A Programming Language.”

APL was the primary influence on John Backus‘s FP programming language (1977)

J programming language

In the early 1990s, Iverson and Roger Hui created

A successor to APL.

K programming language

In the mid 1990s

Created by Arthur Whitney, who had previously worked with Iverson

used commercially in financial industries.

ML programming language

In the 1970s

was created by Robin Milner at the University of Edinburgh

Miranda

David Turner developed the language at the University of Kent.

ML eventually developed into several dialects, the most common of which are now Objective Caml and Standard ML.

The Haskell programming language was released in the late 1980s in an attempt to gather together many ideas in functional programming research.

Share this post

Related Posts

2 thoughts on “Functional programming definition and origin”

  1. Free WP Themes says:

    helped me alot in my college assignement. Gratefulness you on your information.

  2. Anonymous says:

    Thank you so much for your good post. Your post helped me in my college assignment.

Comments are closed.