Ir al contenido principal

Rich Hickey on Clojure


Rick Hickey really impressed me in this potcast when he started talking about the details of Clojure's implementation of “mutable…ish” data and how he made it happen within the problematic that is the Java Virtual Machine in terms of resources, although the JVM has become more and more efficient within the newer versions; but in that sense the creation of a resource-efficient data structures certainly deserves a lot of admiration from me or anyone that nowadays dedicates its career to data-science because it takes a very clever mind to abstract all those models.
Clojure is presented to you as a new paradigm or tool for your career or projects it can sound super difficult or creepy in the way of syntax complexity, but the truth is that once you dominate it, it becomes another “weapon” in the duty of any computologyst or computer systems engineer.
Clojure is an amazing and powerful language because it is the (almost) perfect link between the objects-oriented paradigm and the unknown (at least for me at the beginning) Functional Programming paradigm as it runs mainly using the Java Virtual Machine, which is platform agnostic by design. Which provides the program a set of data structures and utility functions that can be nonexistent or very difficult to implement into a cleaner implementation of Lisp. Hickey mentioned that Vectors and Maps are unique to Clojure, and it certainly is an interest in terms of the relationship between them and vectors and bijective mappings in the mathematical sense. 
One of the most important barriers in Functional programming from an object-oriented perspective is the lack of variables or directly manipulable data. In my opinion once you overcome this barrier, you can take a really good advantage of all the benefits of it; just like the integrity of information through the function-chain as it does make you a better programmer overall.


Comentarios

Entradas populares de este blog

Language as the Ultimate Weapon

The power of language and discourse was recognized during the last century, because not only George Orwell, also recognized the strength and ability of language, on the other hand, Michel Foucault, also raised the power of discourse provided by the institutions for the control of individuals. Recognizing that this form is correct, that it refers to language as a weapon of government, placed in the world of politics and the social, words and resources formulated, it is exactly that, the tools to achieve what you want and local way for politicians these are the tools for the revolted people. In order to answer the question that is asked, it is important to bear in mind that nowadays the data analysis is focused on the analysis of the data chains in order to obtain information, so it is necessary to understand that not only in words and Written oral language but that technology does not invade every day in a positive way as a negative, computers are fundamental tools for service, so f...

Beating the Averages

For a long time in school I have had the experience of "having to" learn a programming language, and mostly the reason is that "we will be working on a project that requires the use of that language" and, in my opinion that's fair; but sometimes it is because we have to understand the whole picture (like c in operating systems). In practice the definition of a "strange syntax" has more to do with the fact that it's mostly a syntax that has uncommon elements like lisp, and given that in our course  we are using clojure, a language "based" on lisp's paradigm, we get as a result a very uncommon experience as computer science students. It also says that usually programmers are "married" with the programming languages that are their favorites, but when you know more than two or three programming languages you begin to get the idea where a language is more effective than the other for certain tasks. For example: recently I sta...

The Promises of Functional Programming

The article “The promises of functional programming” written by Konrad Hinsen highlights how software development has undergone significant advances as much as advances in technology and computational hardware, in the same way the article describes what is the essence of functional languages, what gives life and the reasons why they are created, in parallel it also explains the advantages of using it. The first feature to highlight functional programming is in the use of functions, since unlike the use of mathematical functions, the variables are not part of the functional programming paradigm which according to the article is the first surprise faced to the ones that are starting to use functional programing. One of the other features for the functional paradigm is the built-in fail safe mode against race conditions which is the lack of counter and side effects, and the possibility to define the language itself. Hand in hand with this change also highlights the difference in t...