In this podcast we listen to Rich Hickey, the creator of Clojure, talking about which were the main characteristics about it. Clojure is an important tool and programming language because it is a dynamic program language for JVM. This advantage allows Clojure to be adaptable for any host platform, concurrency, functional and based on Lisp. Although Lisp is a simple and elegant programming language, it is not known due to that it is studied individually, contrary to what we would think about this language.
Even with these particularities, Clojure keeps being a great tool to program in. For example, we can create programs that are writing programs, we can handle a high level of function abstraction and we can benefit from its access to all Java libraries. It could be complicate coding everything with list but in Clojure, we also have data structures as vectors and maps. Clojure looks like a simple program in contrast to Java and its syntax, although the abstraction of Clojure could be higher than Java in some programs.
On the other hand, Clojure has some main differences over Lisp. First of all, in a programming language like Lisp internal data structures are mutable while in Clojure this does not happen, in the core all data structures are inmutable. Secondly, the Clojure libraries are constructed in abstraction and are not concrete in data structures, and Lisp is older than Clojure. However, the principal distinction about Clojure over other programming languages is its concurrency. Clojure deals with our frustration with the state and other problems with mutable objects, therefore the values are not changed. Besides, it handles persistent inmutable data structures, which are a newer version of data structures with a better performance.
Finally, in the last minutes we listen about the technical definition of Clojure. Though Clojure deals with inmutable object, it can manage databases with its difference between the value and its notion of the identity. In other words, all values work like an inmutable structure. Clojure has three forms of work with references: atoms that are synchronous and atomic, agents that are asynchronous and atomic too and, the most complex reference, that can be asynchronous and coordinated.
Concluding, all these functionalities allow us to have a good reason to explore Clojure. It could be complicated in the beginning but after some hours of practice we can get more skilled working with Clojure and its tools.
Reference
Markus. (Host). (2010, March 22). Episode 158: Rich Hickey on Clojure. [Audio podcast]. Retrieved from http://www.se-radio.net/2010/03/episode-158-rich-hickey-on-clojure/.
Comments
Post a Comment