Hacker News new | ask | show | jobs
by prospero 6137 days ago
for all its beauty, clojure is losing its culture fast! You can already see Design Patterns being shoehorned on top of it, Java programmers will embrace it and extend it in earnest.

Can you give an example of this?

1 comments

This was posted here yesterday:

http://www.brool.com/index.php/snippet-automatic-proxy-creat...

A neat hack to get something working quickly, but very unlispy. I can't even make sense of the AUTO-PROXY macro. A syntax barf mixed with a gratuitous breaking of LET. Also note that Rich Hickey decided to use the proxy design pattern to interop with Java, instead of doing all business with Java through FFIs; in a sense, Clojure's type system is embedded in Java.

http://clojure.org/java_interop#toc25

This is a minor aesthetic nitpick from a concerned Lisper, mostly for selfish reasons. My thinking goes: "Today I have Common Lisp for my projects and I am happy with it. But tomorrow if I need Clojure, I hope to find it in a sane, Lispy world. I don't want to learn Java so please don't make me" ;-)

For a far more alarmist polemic, albeit a satirical one, see this:

http://jng.imagine27.com/articles/2009-08-19-011225_clojure_...

I don't think you understand Clojure as well as you think you do. Java libraries often expect interfaces to be passed in as a parameter, and Clojure proxies are just a way of generating anonymous interfaces. This is not the de facto method for Java interop, it's just a simple means of creating the IFactoryFactory behemoths that Java tends to expect. It's practical, clean, and useful. I honestly don't understand what the nature of your objection is.