Hacker News new | past | comments | ask | show | jobs | submit login
Interview with Rich Hickey, creator of Clojure (simple-talk.com)
97 points by alex_stoddard on March 5, 2010 | hide | past | favorite | 13 comments



One really provocative and insightful comment that is independent of clojure itself:

"I think programmers have become inured to incidental complexity... when they encounter complexity, they consider it a challenge to overcome, rather than an obstacle to remove.

Overcoming complexity isn't work, it's waste."

This is a useful maxim for me. I have definitely been attracted to complexity that was really incidental in programming.


This is the secret of Java's success. Overcoming incidental complexity is predictable, measurable and rewarding to the average naive programmer. Solving real problems is challenging and risky. Java dilutes the latter with the former, and to those who can't tell the difference, this looks like productivity.


Edsger Dijkstra had this to say:

"Are you quite sure that all those bells and whistles, all those wonderful facilities of your so called powerful programming languages, belong to the solution set rather than the problem set?"


RH: Productivity comes from being able to focus. Interactive development environments (REPLs etc) help you focus, by letting you try things immediately.

This couldn't be more true and becomes clearly apparent when moving from languages that require compile-deploy-run cycles.


Well, there's no reason not to have both optimizing, heavy-analysis compilers, and light, interactive REPLs. For the same language. Best of both worlds.


"being able to focus"

I like the fact that he chose the word "focus" here, the main reason for my comment. People usually use the general term "productivity". Focus is a really important and usually overlooked advantage of the interactive style of development.


Clojure is fast becoming one of my top favourite languages.

Lisp and the ability to use Java to "get things done" is not to be underestimated I think. Not to mention it's hugely useful as a java repl. Just being able to play with java classes from the repl helps me in my day to day java development.


How is clojure useful as a java repl in comparison to groovy, which is much closer to the java mindset?


In my experience, I find I can do more with less in the Clojure REPL. Groovy is really way too close to Java to even be notable. If you're just doing Java, then maybe it's fine as a Java REPL. Groovy advertises itself as being a dynamic language for Java devs who don't want to learn anything.


not having used groovy I'm not really qualified to give an opinion.

But part of clojures value is that it isn't the java mindset. Boilerplate just melts away in clojure. That might not be relevant to its use as a java repl but it greatly enhances your productivity as a jvm programmer.


With Groovy the boilerplate code "melts away" too. Most java code is valid groovy code, but not the other way around.


Met the guy at the Clojure user group here in NYC, apparently there are a couple of financial firms in the city already using it. Stuff is pretty cool. Rich looked like a total hacker dude ;o) Actually all the clojure developers were all bearded long haired hacker dudes. Definitely my kind of place


it's really worthwhile to read the IRC logs on the day he's active: cells are "single thread guaranteed , multi-thread capable mutable datatypes " (quote fr feb 17




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: