On Nov 24, 2010, at 7:47 PM, CuppoJava wrote: > The other reason is that Clojure emphasizes functional programming and > discourages mutation. This is fine, as I believe well-written code is > usually functional anyway. The problem is that bad code is usually > easier to write in an imperative way than a functional way, and the > ability to write bad code is important I think. It's usually a lot > quicker to whip up a mutative hack than think through the problem and > factor out components and be functional about the whole thing. And > usually, in the very very early stages of programming something, when > you don't clearly know what it is you're programming, it's nice to be > able to whip out a quick and dirty mutative hack. And then make it > nice and elegant and functional later on, but Clojure makes doing that > difficult for me.
I think this is a matter of mindset. Like learning a new human language: it takes a while to begin thinking in the new language. Until then, you have to think in your native language and translate on-the-fly, which makes certain things awkward to express. Similarly with functional programming: once you begin to "think functionally", the functional solutions are the ones that come to mind first, rather than the imperative ones. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en