Re:Steve Yegge v. Rich Hickey re: "Clojure just needs to sta...
by mdemare on Thursday April 21, 2011 @04:52AM
(#2469842)
There are two warts - having to declare methods, and the obscure error message. A smart error handler could have seen that frobnicate had been defined further down, and told you exactly how to fix it. And it would be ok when that error handler didn't work in the REPL.
Re:Steve Yegge v. Rich Hickey re: "Clojure just needs to sta...
by Tiomaidh on Thursday April 21, 2011 @07:14AM
(#2470173)
Agreed. Here's the exact error message I got:
error: java.lang.Exception: Unable to resolve symbol: frobnicate in this context
So I really thought I'd misspelled it or messed up my namespace or just broken the compiler :/
It never occured to me that a modern, not-low-level well-received language would have this limitation. And I feel like I'm part of the target demographic for Clojure. I'm an experienced Java and Python coder. I know and like Lisp. I'm interested in learning a new language. And I did what I thought I was supposed to--I read the list of differences between Clojure and other Lisps on the official site. I read a tutorial that concisely addressed Clojure syntax, data structures, special forms and so forth in a way designed for people who already knew how to program.
And there's a lot of things I like--better data structures, the lambda reader macro, the judicious use of brackets to avoid paren soup, Java interop, and more things that I'm only discovering as I gain more experience.
But I'm still kind of in shock about having to declare methods. A completely unexpected wart.