beanz Magazine

Clojure

The Clojure programming language provides the simplicity of a Lisp programming language with the ability to run in the Java Virtual Machine (JVM).

After creating languages to make Common Lisp work with .Net and Java, in 2007 Rich Hickey began work on Clojure to port Lisp to run on the Java Virtual Machine (JVM) and handle concurrent data processing. This would allow Lisp programmers to write code that could run on any computer using the Java Virtual Machine. Common Lisp is a dialect of LISP, created in 1958 and the second oldest programming language.

After two years work on Clojure, Hickey released the language publicly in 2009. A community of developers joined in to evolve the language and provide support and documentation. Hickey serves as BDFL (Benevolent Dictator for Life) for the project. Clojure now runs on JVM, Common Runtime Language, and JavaScript engines.

What Makes Clojure Special?

Clojure allows programmers familiar with Lisp to leverage the power of JVM. And it allows Java developers to extend their deployment, debugging, and profiling skills using familiar tools but with a different language.

Hickey created Clojure to modernize the power of Common Lisp as a functional programming language while also working with the established Java platform. Clojure also needed to handle multiple computations at the same time.

To handle multiple computations, or concurrency, Clojure uses software transactional memory (STM) to control access to memory space when two or more processes need the same data or resources.. STM is an alternative to lock-based synchronization where memory space or other resource is locked then unlocked for each access request.

 

Become a subscriber and get access to the rest of this article. Plus all our magazine articles.

Stories also include numerous links to help parents, kids, and teachers learn more. Get access today at just $15 per year!

Subscribe Today!

Also In The December 2015 Issue

The history of an egg shaped outdoor sculpture made of electronic parts in Palo Alto, California.

Use a software app to invent neat things by mixing SAM wireless blocks. No wires and no code needed.

How to Build a Computer

Building your own computer is a great way to not only save money, and get more processing power, but also to learn about the less obvious parts of software programming.

We might think robots are a modern invention. But al-Jazari created amazing automatons in the thirteenth century. Today we would call him a maker.

The Google Cardboard project is a fun way to experience virtual reality with your phone and software apps.

Sumobots smash into each other and can be a fun project to create. Free plans are online. Upload your plan to services which send you the parts.

How our all girls high school robotics team designed then built a robot to compete in FIRST competitions next year.

This key part of electronics projects turns out to be easy to understand. Learn about breadboards by building a simple LED project with a 9V battery.

Learn more than a language. Learn skills you need to use the language. Options to suit the way you learn best.

Use dice from a board game or toy store to create difficult to crack passwords and phrases that you can remember.

Learning how to make, track, and complete goals also helps with school projects and personal projects.

An essay from the 1990s explores how software can be built like a cathedral or in groups like a bazaar.

The Clojure programming language provides the simplicity of a Lisp programming language with the ability to run in the Java Virtual Machine (JVM).

Beyond Microsoft Windows and Mac OSX there are many Linux operating systems used by programmers daily and built as open source.

Interesting stories about computer science, software programming, and technology found online since the last issue of the magazine.

Links from the bottom of all the December 2015 articles, collected in one place for you to print, share, or bookmark.