Ir al contenido principal

Entry #3: The Promises of Functional Programming

“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.

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

Comentarios

Entradas populares de este blog

Entry #9: Language as the Ultimate Weapon

"Language as the “Ultimate Weapon” in Nineteen Eighty-Four" is an essay written by Jem Berkes in 2000. In the article, Jem Berkes discusses the inspiration behind the Newspeak language used by George Orwell inside his novel 1984 (Nineteen Eighty-Four) and how it reflects in real-world situations we face day to day and how the language is powerful enough to express meaning, intention and ability.  Inside the novel 1984, there is a language called Newspeak which is a simplification of the English language, or as the novel refers it as Oldspeak. Newspeak vocabulary eliminates words that are not necessary. The new vocabulary helped the government to control people and affect memories from person's, in order to forget most of them or provoke and affect the way a person could express or think. However, in this particular entry I won't talk about the essay written by Jem Berkes, I will answer a question asked by my professor which is something related to the essay...

Entry #1: Presentation

Hi! My name is Adrián Méndez López, and this is the first entry of my blog for the Programming Languages course. I expect to learn Clojure and Programming Paradigms like: Procedural Programming, Object Oriented Programming, Functional Programming, Logical Programming and Concurrent Programming. Hobbies and Personal Interests: Videogames, Investigations about actual topics or technology, running, going to the cinema, etc... Books / Comics: "It", "Mein Kampf", "DC Flashpoint", "DC The Button"...I like comics or graphic novels. Music: Imagine Dragons, AC/DC, Avicii...I like Rock, Pop, Electronic music Movies: Toy Story, MCU movies...I like action, animated and horror movies. TV programs: The Walking Dead, Breaking Bad, Game of Thrones, The Big Bang Theory.

Entry #6: Pair Programming

“All I Really Need to Know about Pair Programming I Learned In Kindergarten” is an article written by  Laurie A. Williams and  Robert R. Kessler  in 2000; it was published in the scientific magazine " Communications of the ACM " from the Association for Computing Machinery. In the article, the writers talk about the pair programming technique while explaining some concepts about it. Pair Programming is the practice in which two programmers work side-by-side, but, only in one computer, while collaborating on the same design, algorithm, code or tests. Pair programming helps to improve productivity, efficiency and the quality of software products, this improvement also helps programmers to create confidence in their solutions. The writers indicate that all the skills from pair programming, we have learned them while we were at kindergarten. While I was reading the article, I must say that they were correct; since my mother is a kindergarten director, I have already he...