top of page
  • tecqusition

Rich Hickey (FOUNDER OF CLOJURE)



What is Clojure?

Clojure (pronounced as closure) is a dynamic and functional dialect of the Lisp programming language on the Java platform. Like other Lisp dialects, Clojure treats code as data and has a Lisp macro system. The current development process is community-driven, overseen by Rich Hickey as its benevolent dictator for life (BDFL).


Foundation of Clojure:

Rich Hickey is a computer programmer and speaker, known as the creator of the Clojure programming language. Clojure is a Lisp dialect built on top of the Java Virtual Machine. He also created or designed ClojureScript and the Extensible Data Notation (EDN) data format. Hickey sent an email announcing the language to some friends in the Common Lisp community.


The development process is community-driven and is managed at the Clojure JIRA project page. General development discussion occurs at the Clojure Google Group. Anyone can submit issues and ideas at ask.clojure.org, but to contribute patches, one must sign the Clojure Contributor Agreement. JIRA issues are processed by a team of screeners and finally, Rich Hickey approves the changes.



Clojure design:

Clojure’s name, according to Hickey, is a wordplay on the programming concept “closure” incorporating the letters C, L, and J for C#, Lisp, and Java respectively—three languages that had a major influence on Clojure’s design.


Clojure advocates immutability and immutable data structures and encourages programmers to be explicit about managing identity and its states. This focus on programming with immutable values and explicit progression-of-time constructs is intended to facilitate developing more robust, especially concurrent, programs that are simple and fast. While its type system is entirely dynamic, recent efforts have also sought the implementation of gradual typing. Rich Hickey developed Clojure because he wanted a modern Lisp for functional programming, symbiotic with the established Java platform, and designed for concurrency.


Clojure’s approach to state is characterized by the concept of identities, which are represented as a series of immutable states over time. Since states are immutable values, any number of workers can operate on them in parallel, and concurrency becomes a question of managing changes from one state to another. For this purpose, Clojure provides several mutable reference types, each having well-defined semantics for the transition between states.



Commercial support for Clojure is provided by Cognitect. Clojure conferences are organized every year across the globe, the most famous of them being Clojure primary platform of Clojure is Java, but other target implementations exist.

The most notable of these is ClojureScript, which compiles to ECMAScript 3, and ClojureCLR, a full port on the .NET platform, interoperable with its ecosystem.

With continued interest in functional programming, Clojure’s adoption by software developers using the Java platform has continued to increase. The language has also been recommended by software developers such as Brian Goetz, Eric Evans, James Gosling, Paul Graham, and Robert C. Martin. Thought Works, while assessing functional programming languages for their Technology Radar, described Clojure as “a simple, elegant implementation of Lisp on the JVM” in 2010 and promoted its status to “ADOPT” in 2012.


FOLLOW US ON INSTAGRAM, FACEBOOK AND PINTEREST


DISCLAIMER

The information is provided by Tecquisition for general informational and educational purposes only and is not a substitute for professional legal advice. If you have any feedback, comments, requests for technical support or other inquiries, please mail us at tecqusition@gmail.com.


54 views0 comments

댓글


Post: Blog2_Post
bottom of page