OOP is for normies. My homies and I code using Functional Programming
Throughout the development of this course, and as I have expressed in previous entries, I've become aware that, in fact, Functional Programming is more convenient than OOP, and this entry will continue to expand this mentality. The video Why Isn’t Functional Programming the Norm? introduced us to a very interesting context that was previously touched in the very first entry: humanity within programming. Feldman, R. hinted various times that the OOP paradigm is strong nowadays not because it provided a better understanding of what the programmer was doing, like it happened when C was created back in the day. But in fact, its popularity grew due to the fragile, but complex concept of power.
In the video it was mentioned what I would like to refer as: the principles behind OOP power, those being: platform exclusivity, killer apps and language familiarity. Yes, I must admit that the video explicitly did not mentioned those attributes but those that were mentioned can be perfectly translated to these ones. For instance, exclusivity played a huge role in what Feldman refers to the language scene because the platforms and company-driven contexts in which certain languages would be used, such as Objective-C, Swift of C#, directly influenced the boom of OOP. Furthermore, as big companies were using OOP languages, the hole industry shifted and expanded principle killer apps of this paradigm. In particular, Java had crossplay -popular term used in videogames to make reference to the ability of playing with people in different platforms-, JavaScript on its own has the entire web and Ruby had Rails. So, it is not difficult to question ourselves as programmers: if Clojure or Lisp killer apps (machine learning and mathematical calculations) would have influenced enough the industry, would functional programming be the norm? What I found the most interesting part of this question is that, in words of Richard, indeed, in that scenario maybe we would be programming using different dialects of Lisp instead of those from Java. Finally, the last principle is maybe the most important of all, familiarity. When Bjarne Stroustrup created C++, he did it using the C syntax not because he just wanted to extend C power, but because people, such as himself, were familiar with C syntax and workflow. Again, Typescript exists because people are more comfortable using typed OOP languages like Java than those that are more flexible as JavaScript. Maybe, this last aspect is what keeps OOP present nowadays... but will that ever change?
As a conclusion, Functional Programming is more present than ever before. Back in the 90's, as the video stated, people never attacked OOP flaws, like Encapsulation, but, nowadays, popular languages have completely remove what make OOP... OOP such as the case of Go or are flexible enough to allow programmers decide which paradigm want to use. I'm sure that in the near future, we will see Functional Programming as it is: a better tool for satisfying complex needs and not as the strange, in addition to nerdy approach of programming.
Comentarios
Publicar un comentario