“The Promises of Functional Programming” is an article written by Konrad Hinsen in 2009, it was published in the scientific magazine "Computing now" from the IEEE Computer Society (Institute of Electrical and Electronics Engineers). In the article, Konrad Hinsen talks about functional programming while using examples made in Clojure programming language, in order to explain some essential concepts about functional programming.
The article shows the characteristics and advantages of functional programming using Clojure, and it also explains the differences between functional and traditional programming. Functional programming was created in the 50s, however it has been used to write programs, because of its advantages for concurrent and parallel programming, and its robust and easier to test.
A functional programming language is a language that operates by evaluating mathematical functions, like declarations and expressions. The fundamental principle of functional programming is that you do not use any kind of variables or loops, instead they use recursion, because you realize a computation by composing functions, and functions are not supposed to change any variables; this functions must be pure, meaning that they are free from side effects. You can even pass functions as parameters to other functions or even have a function that returns another function. Concurrency and parallelism are the most important advantages, because of the power that new computers provide to us.
In order to write complex programs, you must know about abstraction, because in functional programming, algorithmic abstractions are the most prominent; as we can see it in the Clojure programming language, because it has high-order functions. Functional programming is cited as a promise technique with great potential, because it can be the solution for complex algorithms or problems; all of this while using concurrency and parallelism programs. Furthermore, functional programming is very efficient as it prevents locking threads and race conditions, like deadlocks.
The article shows the characteristics and advantages of functional programming using Clojure, and it also explains the differences between functional and traditional programming. Functional programming was created in the 50s, however it has been used to write programs, because of its advantages for concurrent and parallel programming, and its robust and easier to test.
A functional programming language is a language that operates by evaluating mathematical functions, like declarations and expressions. The fundamental principle of functional programming is that you do not use any kind of variables or loops, instead they use recursion, because you realize a computation by composing functions, and functions are not supposed to change any variables; this functions must be pure, meaning that they are free from side effects. You can even pass functions as parameters to other functions or even have a function that returns another function. Concurrency and parallelism are the most important advantages, because of the power that new computers provide to us.
In order to write complex programs, you must know about abstraction, because in functional programming, algorithmic abstractions are the most prominent; as we can see it in the Clojure programming language, because it has high-order functions. Functional programming is cited as a promise technique with great potential, because it can be the solution for complex algorithms or problems; all of this while using concurrency and parallelism programs. Furthermore, functional programming is very efficient as it prevents locking threads and race conditions, like deadlocks.
Article: Hinsen, K. (2009). The Promises of Functional Programming. Recovered from http://34.212.143.74/s201913/tc2006/the_promises_of_functional_programming.pdf
Hinsen, K. (2009). The Promises of Functional Programming. Recovered from https://www.researchgate.net/publication/224506557_The_Promises_of_Functional_Programming
Hinsen, K. (2009). The Promises of Functional Programming. Recovered from https://www.researchgate.net/publication/224506557_The_Promises_of_Functional_Programming
Comentarios
Publicar un comentario