InfoWorld: When did you develop Clojure? What was your intention in doing so?
Hickey: I started in 2005, and the first version I released was toward the end of 2007. It's kind of a Lisp for the JVM. My intention was to make a dynamic, functional programming language for the JVM.
[ Also in an interview with InfoWorld, Python founder Guido van Rossum defends that language's performance. | Subscribe to InfoWorld's Developer World newsletter to get more news on software development. ]
InfoWorld: Why did you see a need for that?
Hickey: Because I had been building large systems in C# and Java, and the only way we could do them sanely was to do them in a functional style, but the functional style is not idiomatic in those languages. I wanted a language where functional style was idiomatic, and that's the case for Clojure.
InfoWorld: What's attracting developers to Clojure?
Hickey: Fundamentally, Clojure gives developers a lot of leverage. They can write short, succinct programs that work correctly the first time and are fast enough for production use. They're empowered by it.
InfoWorld: What would be the ideal application to write with Clojure?
Hickey: Clojure is designed to be a general-purpose language. It should be useful anywhere Java is. The areas where we've seen it take off most rapidly are, first of all, among startups. It's very popular among startups because they have new ideas they need to pursue quickly.
InfoWorld: Startups in what realm?
Hickey: All kinds -- people doing sales prediction on the Web and flight delay prediction, some social network stuff. Then it's also popular with people who are doing big data [projects].
InfoWorld: Where would you not want to use it?
Hickey: It's not great for scripting jobs because between the startup time in the JVM and the startup time in Clojure, it's not really good for places where you might use Perl. It's a little bit too bulky currently for smartphones, but we're working on that. Targeting Android is a little bit of a challenge at the moment. There are definitely people working on it.
InfoWorld: How would you persuade developers use Clojure for Android software development?
Hickey: People who like Clojure will choose it because of the power. Lisps traditionally empowered developers because you can eliminate anything that's tedious through macros, and that power is really what people keep going back for.
InfoWorld: When do you expect that developers will be able to use Clojure for building Android apps?
Hickey: They can right now. It's mostly an optimization [effort that is required] to make the startup and memory usage smaller and faster.