Functional programming languages (FPL) are computer languages designed based on mathematics – lambda calculus, to be exact. These languages are used to develop programs that are executed by evaluating expressions as opposed to being composed of statements which change when executed, which would be considered imperative programming. There are many new programming languages that have been developed over the years. Two popular and widely used examples of such programming languages are Haskell and Ruby on Rails (also known as simply “Ruby”).
Haskell is an open source platform that has been developed over the last twenty years by an active community of researchers, programmers and debuggers. It’s considered one of the leading languages available today and is used to create highly flexible, easy to maintain software. Haskell Brooks Curry, who the language is named for, was a mathematician whose work in mathematical logic serves as a foundation for FPLs today. The first version of Haskell was released in 1990. Haskell is considered one of the “purest” forms of functional programming because it relies so heavily on the “function” and mathematics that it is based on.
Ruby, created by Yukihiro “Matz” Matsumoto in the mid-1990’s, is another example. Ruby supports multiple programming styles, including both functional and imperative as discussed above.
Programmers use functional programming languages such as Ruby to develop anything from small applications used only within their companies to large open-source programs used around the world. Because of its flexibility, there are many “off shoots” of the Ruby programming language, including the popular application framework called “Ruby on Rails.” The Ruby on Rails website states that tens of thousands of “Rails applications” have been developed to date including well known applications such as Twitter, Groupon and Shopify.