Chapter 7: Clojure Podcast with our beloved friend, Hickey, Rich Hickey

So… Clojure by Rich Hickey is the podcast we are covering up in today’s blog. We have seen and read about the advantages of Clojure, however, there was an interesting point that was said during the first part of the podcast (13:21) that struck me; “At the core, for instance, Clojure, is much much simpler than Java… There are two different notions of simplicity, you could say that LISP is simple because it has a very simple syntax, only consisting of a couple of abstractions… but Java is simpler because I am guided more”.



This argument made me realize which of both, Java or Clojure is more “simple”. Of course, Java is more guided through the coding process, however, it is hard to comprehend what happens in each line of the code. For experienced Java developers, they may see it as something trivial, but for novice programmers, some coding standards or abstractions are put in their codes because they are told to do so. Many don’t go beyond the understanding of the logic behind the code. In Clojure, the “reduced” syntax may lead to simplicity. As Rich described, it is easier to explain what happens in a Clojure snippet than in a snippet made in Java.

Now, my point of view at the beginning of the course was that, of course, Java is simpler, easier, and can even be clearer to understand than Clojure. Whatsoever, this point of view has fumbled a little bit; we have been coding in Clojure for a couple of months and I can feel a little “familiar” with how Clojure works, and I cannot stand by my initial statements towards Clojure’s complexity anymore.


I think that familiarity is the key point here. When Rich was asked: “Who is Clojure aimed to?”, the answer I thought was: “To anyone willing to learn”. Of course, the new type of approach to programming and different syntax (at least coming from Java) may be a huge step to the unknown, but that doesn’t make Clojure harder or more complex, but just “different”. Maybe this should have happened otherwise, if we approached Java by learning Clojure first, but I guess we will never know…

Referencias:
Software Engineering Radio (2010) Rich Hickey on Clojure. Available on: http://www.se-radio.net/2010/03/episode-158-rich-hickey-on-clojure/

Comments

Popular posts from this blog

Chapter 8: More robust, more compact, and more easily parallelizable; For an unlimited time offer, we present you: Functional Programming

Chapter 10: Riding the… bear?