Saturday, February 29, 2020

A New Paradigm

Konrad Hinsen’s The Promises of Functional Programming reinforces some of the concepts of functional programming we have been seeing in class, but it also reinforces some other ones. For example, from class I understood that a function always produces the same output when given a certain input. However, I failed to understand why that didn’t happen with imperative programming languages, as I was only thinking of functions in the mathematical sense. Now it’s clear to me that some of the things we call functions in the languages I’m comfortable with are everything but. 

I also found it interesting that although the reading’s sample codes are done in Clojure, it’s not mentioned as a popular language, and it’s mentioned how most functional languages are only used in investigation settings. Ten years ago may not seem like a lot of time, but it’s clear from this article that a lot can happen in that time; at least enough for Clojure to become such a popular programming language, not only when it comes to science, but also in application and data management situations. 

I don’t feel like I know enough yet to make an informed opinion on the advantages of functional programming, everything I have read so far points to it being better than imperative languages when it comes to parallelism. Assuming this is still the case, I’m excited to be learning a new paradigm and I’m looking forward to what possibilities this new way of thinking can open up. This is especially interesting to me because when I started programming, I found that changing my way of thinking in order to program correctly made me think differently in other areas of life, and helped me out a lot when it comes to problem-solving, and I’m hoping that functional programming can have a similar effect on me. 


Sources:
Hinsen, K. (2009) The Promises of Functional Programming

No comments:

Post a Comment