What is functional programming? - Definition from Whatis.com

Definition

functional programming

1) Functional programming is a style of programming that emphasizes the evaluation of expressions rather than the execution of commands. Erlang programming language is described as a functional programming language. Erlang avoids the use of global variables that can be used in common by multiple functions since changing such a variable in part of a program may have unexpected effects in another part.

2) In an earlier definition from the ITU-TS, functional programming is "a method for structuring programs mainly as sequences of possibly nested function procedure calls." A function procedure is a relatively simple program that is called by other programs and derives and returns a value to the program that called it.

This was last updated in June 1998

Dig Deeper

  • The seven deadly sins of embedded software development and testing

    In "The Divine Comedy," Dante probably wasn't talking about embedded software development, yet developers may be guilty of committing the seven deadly sins. In this tip, consultant Howard Deiner looks at how sins might be committed in embedded software development by practicing Agile.

  • Software retest, regression, smoke and sanity testing: What's the difference?

    Understanding the nuances between different types of test efforts can be a challenge. In this expert response, Karen Johnson explains what is meant by retesting, regression testing, smoke testing and sanity testing. Find out the purpose of these types of tests and a few other terms that some organizations use for testing efforts.

  • Tutorial: Introducing Selenium IDE, an open source automation testing tool

    Selenium, an open source automation testing tool, offers an Integrated Development Environment (IDE) plug-in that unifies the tool with desirable Web browser-based test features. Using Selenium IDE provides easy-to-use record and play back features, giving even those with no programming expertise, the capability to create simple scripts.

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com