The article was about “The promises of functional programming” which talks about the advantages of using functional programming languages. In this course we’ve worked with a functional programming language named Clojure, which I think has been the most different language we’ve used in college.
It is a language that needs the programmer to think a different approach to the problems because it works quite different to, let’s say Object Oriented programming, which is a paradigm we are really familiar because we’ve used it the most in our other courses, but as I’ve been used Clojure in the past months, I kind of needed to rewire my brain to think without the things we take for granted on imperative programming, such as variables and loops as the article stated, but now I think a lot of problems are easier to solve in functional programming, as they tend to be smaller chunks of code, also as there are no loops on functional programming, i’ve improved my recursion skills and understanding.
Functional programming require the programmer to think as function in a more mathematical way. Instead of the subroutines we call functions in other paradigms, in functional we always get the same output in a function if we give the same input.
In the case of Clojure, which is a lisp based programming language, I like the fact that it’s quite simple to work with lists and operations, just need to know that the first thing in the list is the function and the rest are parameters, which I think is a easier way to read and understand whats a line of code is doing.
Also, Clojure was my first contact to higher order functions. I know python is an example of a not functional language that can use higher order functions, but didn’t know that until I started working with Clojure.
Functional programming also has advantages in concurrency and parallelism, which is a needed feature in todays programs due to the increase core count in modern computers.
It is a language that needs the programmer to think a different approach to the problems because it works quite different to, let’s say Object Oriented programming, which is a paradigm we are really familiar because we’ve used it the most in our other courses, but as I’ve been used Clojure in the past months, I kind of needed to rewire my brain to think without the things we take for granted on imperative programming, such as variables and loops as the article stated, but now I think a lot of problems are easier to solve in functional programming, as they tend to be smaller chunks of code, also as there are no loops on functional programming, i’ve improved my recursion skills and understanding.
Functional programming require the programmer to think as function in a more mathematical way. Instead of the subroutines we call functions in other paradigms, in functional we always get the same output in a function if we give the same input.
In the case of Clojure, which is a lisp based programming language, I like the fact that it’s quite simple to work with lists and operations, just need to know that the first thing in the list is the function and the rest are parameters, which I think is a easier way to read and understand whats a line of code is doing.
Also, Clojure was my first contact to higher order functions. I know python is an example of a not functional language that can use higher order functions, but didn’t know that until I started working with Clojure.
Functional programming also has advantages in concurrency and parallelism, which is a needed feature in todays programs due to the increase core count in modern computers.
Comments
Post a Comment