Functional Programming vs. Imperative Programming
Functional Programming vs. Imperative Programming
(procedural) programming.
Characteristic
Imperative approach
Functional approach
Programmer focus
State changes
Important.
Non-existent.
Low importance.
Primary flow
control
Primary
manipulation unit
Although most languages were designed to support a specific programming paradigm, many
general languages are flexible enough to support multiple paradigms. For example, most
languages that contain function pointers can be used to credibly support functional
programming. Furthermore, in C# 3.0 and Visual Basic 9.0, explicit language extensions
have been added to support functional programming, including lambda expressions and
type inference. LINQ technology is a form of declarative, functional programming.