Skip to main content

The Promises of Functional Programming

Most of the programs that one develops as a student of computer systems are highly likely to have been designed in an imperative paradigm, since it is one of the most common ways in which it is currently programmed. However, as technological trends evolve, you also have to start contemplating other forms of programming and one of the best options that has emerged in these times is the functional programming that due to its robustness, efficiency and parallelization has become a totally viable paradigm to generate software.

It is hard to realize that in functional programming it is not essential to use variables or cycles. This is because, literally, the functions act in a mathematical sense and do not work like the routines to which we are accustomed. Even getting to have a good performance in functional programming depends on how willing we are to forget the way we program and start accepting new programming schemes.

Among the things most present in functional programming is abstraction due to the way functions are formed. Some things that seem curious are high-level functions, since these functions may contain functions that send more functions and you are in turn more functions. Understanding this type of functions takes training and practice in most cases, although it is also clear that there are people who understand this type of issues with great ease.

Finally, another of the great advantages of functional programming is concurrency and parallelism. Thanks to the computing power that currently exists, taking advantage of this is simple in functional programming because of the way it is structured.


In conclusion, functional programming can have many advantages, but it must also be analyzed under what conditions it is convenient to use it. It can be a very useful tool. However, before wanting to use some kind of paradigm for everything, one must question whether it is the best way to solve the task we are trying to complete.


Reference


Hinsen, K. (2009). The Promises of Functional Programming. Computing in Science & Engineering11(4), 86–90. doi: 10.1109/mcse.2009.129

Comments

Popular posts from this blog

The Secret History of Women in Coding

Currently, we can think that men were the first people that develop software or code to implement in some primitive computers, but it didn't happen in this way. For example, when Charlas Babbage create your Analytical Machine a woman was the first programmer when she designed a problem that make a Bernoulli sequence of numbers. Nevertheless, she wasn't the only one women that innovate in computational science. Around the history there were other important women that think very complex solutions to solve complicated problem that was the base for the current programs and software that exist. Whereupon doubt arises of knowing why decrease the number of programmers women that there are this times being that they are the pioneers in this topic.  I think it's sad that in our times it doesn't happen oftentimes. Computational science could look like a complicate topic, however there are people that they are so intelligent and brilliant to create new solution and proposals t...

About Clojure

In this podcast we listen to Rich Hickey, the creator of Clojure, talking about which were the main characteristics about it. Clojure is an important tool and programming language because it is a dynamic program language for JVM. This advantage allows Clojure to be adaptable for any host platform, concurrency, functional and based on Lisp. Although Lisp is a simple and elegant programming language, it is not known due to that it is studied individually, contrary to what we would think about this language.  Even with these particularities, Clojure keeps being a great tool to program in. For example, we can create programs that  are writing programs, we can handle a high level of function abstraction and we can benefit from its access to all Java libraries. It could be complicate coding everything with list but in Clojure, we also have data structures as vectors and maps. Clojure looks like a simple program in contrast to Java and its syntax, although the abstraction of Clo...

Presentation

Hi! My name is Felipe Osornio but my friends call me Deiv and I would like for you to call me that. I'm 21 years old and I'm studying Computational Systems.  Expectations I would like to learn many things about Programming Languages, about my teacher and my classmates. In fact, I would hope to acquire more knowledge about programming paradigms and to learn about Clojure.  Hobbies and personal interests I play drums since I was 15 years. When I began with this I used to play metalcore, deathcore and metal but after some years I began to play indie and things like pop punk, punk or rock punk.  Book, music and movies  My favorite book is  The Unbearable Lightness of Being . I read this book when I was in fifth semester. Also, I enjoy reading topics about absurdism and existentialism. One of my favorite authors is Albert Camus, because I really enjoy his philosophy  and how he sees  the reality in which we live in.  About music, I like...