Patheos

BuddhistCatholicContemplativeEvangelicalGeneral ChristianHinduJewishLatter-day SaintMuslimNew VisionsProgressive Christian

Beliefs

Topics

Columnists

Resource Library

Research Tools

Video

Podcasts

Thought Readers

Faith In Media Tracker

Newsletters

Ad-Free & Subscriber Log-In Subscription Support

Patheos

Ad-Free & Subscriber Log-In Subscription Support

Follow Patheos Patheos on Facebook Patheos on YouTube

Cry 'Woof'

Coming to a Clojure

Last updated on: May 31, 2014 at 3:30 am   by willduquette

Coming to a Clojure 2014-05-30T18:30:45-05:00 willduquette

LOGO Patheos Explore the world's faith through different perspectives on religion and spirituality! Patheos has the views of the prevalent religions and spiritualities of the world.

I’m a software engineer at my day job, and I’m a long-time programming language junkie. Every so often I find that I need to spend time learning a new programming language, just to keep my brain working freely. Just recently I’ve been experimenting with a language called Clojure.

Fair warning: the remainder of this post is going to be mondo geeky.

Clojure is yet another variant of LISP, which is itself one of the oldest computer languages in the world. I’ve never written any production code in LISP, but every five or ten years I come back to it, see what’s going on, and have my brain stretched. There are things that are easily done in LISP that are impossible in most languages, and it’s always fun to learn more about them, and get ideas to take back to my regular work.

The problem with LISP is that historically it hasn’t played nicely with others. LISP usually wants to be the entire programming environment: you do all of your work in LISP, and interact with the operating system only through LISP’s platform abstractions, which (in the case of Common LISP) are often old and out of step with the rest of the programming world. Moreover, even Common LISP hasn’t always been cross-platform—every LISP system is a little bit different. In my day job, I’ve never been in a position to consider using only LISP for a project; and these days I’m not going to do any serious application development at home unless the result project is cross-platform. Thus, although I’ve enjoyed playing with LISP from time to time, I haven’t made a serious effort to write a full application in it since the mid-1980’s.

The author of Clojure, on the other hand, explicitly trys to make it play well with others. Clojure is a LISP, but it’s an unusual LISP. Rich Hickey has simplified the language in some ways, and extended it in others, and the result is a heck of a lot easier to get your head around than the behemoth that is Common Lisp. It targets the Java JVM: it can seamlessly make use of libraries written in Java, and you can write libraries in Clojure to be used by Java code. All of the standard facilities available to Java code are available to Clojure, right down to the Swing GUI libraries: you can write GUI applications in Clojure just as you would in Java. And the number of third-party libraries available to Java coders is massive; it’s an enormous community, and the Clojure world gets to take advantage of that.

And not only is Clojure a LISP-like language, with all of the neat toys that that implies, not only can it seamlessly work with Java code—not only that, it’s actually gaining some traction with real working programmers. There’s always been a lunatic fringe (a scary-smart lunatic fringe, mind you) devoted to LISP, but this is the first time since the late ’80’s that I’ve seen any movement to use LISP by the wider programming community. And that’s very cool.

So I’m learning Clojure.

So, then—if you want to learn a language like Clojure, how do you get started? As I’ve always said, it helps to have the right tools; and since I’ve spent a couple of weeks figuring out what they are, I’ll share that with you in another post.

Woof Guide to Technology

clojure

Previous Post



May 30, 2014

Celebrating the Full Orchestral Grunt

Next Post



June 1, 2014 Lumen Fidei: Remounting My Hobby Horse


Browse Our Archives

Select a Category Admin App o' the Morning Ask the Dogmat Believing Thomas Bits of Fiction Blasts from the Past Bootstrapping the Interior Life Catholic Mom Christian Living Deep Thoughts from the Doghouse Dominicana Evangelii Gaudium Interviews It Was A Dark and Stormy Night Links to This and That Lumen Fidei Meme Watch On Writing Operation Gratitude Pedant Errant Photography Quill Random Barkings S'Mary's World Shakers of Salt Software Development The Dog Whistler The Dogmat Sez Third Orders Thomas Aquinas Uncategorized Vikings at Dinos Woof Guide to Cinema Woof Guide to History Woof Guide to Literature Woof Guide to Obscure Catholic Music Woof Guide to Philosophy Woof Guide to Popular Music Woof Guide to Technology Woof Guide to Theology Words I Wish I'd Written Works For Me

Select a Month September 2016 August 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013


Follow Us!

Follow Us on Facebook Follow Us on Twitter



TAKE THE

Religious Wisdom Quiz

What did Samuel's mother promise if God gave her a son?

Select your answer to see how you score.

To fast for 40 days To move to Jerusalem To dedicate him to the Lord To offer a burnt sacrifice

Related posts from Cry 'Woof'

Catholic

Second Look: Amazon Echo after One Week

Cry 'Woof'

Catholic

First Look: Amazon Echo, or Alexa Tells You...

Cry 'Woof'

Catholic

Kindle and the Calibre App

Cry 'Woof'

Catholic

Book Reader Notes: Kindle vs. iBooks vs. Google...

Cry 'Woof'

TRENDING AT PATHEOS Catholic

The Parable Of The Sower And The Word...

One of Christ’s most famous parables is that of the sower who...

Rejecting Doom: Christian Hope And Human Action

Christianity is a religion of hope. We are to have hope and...

Why I Choose the Eucharist Over the Sermon

Choose the Eucharist, Not the Sermon What are we supposed to get...

5 Design Elements Found in Spiritually Rooted Homes

Putting Spirituality Into Home Decor Our homes are more than our living...

Credo: A Story of God Told with the...

About 10 years ago, I began to imagine a personal "Credo" that...

The Anatomy of Divine Revelation in Catholic Thought

The claim that God has made Himself known to human beings is...

view all Catholic blogs

Patheos on Facebook Patheos on YouTube

Ad-Free & Subscriber Log-In Subscription Support

Copyright 2008-2026, Patheos. All rights reserved.

Subscription Support Ad-Free & Subscriber Log-In

Follow Patheos Patheos on Facebook Patheos on YouTube