Skip to main content

About Clojure

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

Popular posts from this blog

Presentation

Hi! My name is Felipe Osornio but my friends call me Deiv and I would like for you to call me that. I'm 21 years old and I'm studying Computational Systems.  Expectations I would like to learn many things about Programming Languages, about my teacher and my classmates. In fact, I would hope to acquire more knowledge about programming paradigms and to learn about Clojure.  Hobbies and personal interests I play drums since I was 15 years. When I began with this I used to play metalcore, deathcore and metal but after some years I began to play indie and things like pop punk, punk or rock punk.  Book, music and movies  My favorite book is  The Unbearable Lightness of Being . I read this book when I was in fifth semester. Also, I enjoy reading topics about absurdism and existentialism. One of my favorite authors is Albert Camus, because I really enjoy his philosophy  and how he sees  the reality in which we live in.  About music, I like...

Pair Programming

Pair programming is one of the most important methodologies to develop software. Over the years it has been seen how it works and how it increases the productivity and efficiency of developers with this kind of software development. However, in some cases, the programmers resist the idea of working with other people due to not being familiar with this methodology, but when there has been proof of its effectiveness, it is easier to the developers to adopt this way of working. Image taken of Google Now we will talk about the main points to get an excellent dynamic of pair programming and how not to die trying. Share everything. It will be a good experience if you and your peer try to share your ideas. Principally, this can help you to create more efficient and stronger code.  Enhance your skills. Another important point is that you and your partner change roles continuously. Practicing this activity is important because it can enhance your programming skills. Don'...