-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 06.11.2011 13:44, schrieb Colin Yates: > I have a hunch (as oppose to IME as I don't have any yet :)) that > Clojure doesn't require as much due to at least the following > points: > > - there is much less incidental complexity and ceremony required > to manage (and therefore refactor) - implementations in Clojure > require more thought and are much more focused on one thing then in > Java, therefore there is a much higher chance that you get it right > the first time
this is a double edged sword. you *do* get it right *if* you think it through, but reality is often more complex than you assume. if you suddenly see that you forgot to handle special case x, you are punished harder than in <random statically typed oo language>. in oo, you can do a few "emergency hacks" before everything becomes unmaintainable. in clojure, i could not do this without committing maintenance suicide immediately. for each case that popped up surprisingly, i had to do a bit of refactoring. that whole "dynamically typed" thing is creeping me out. > > To put it another way, how much refactoring we we do in Java is > down to managing the complexity of the problems inherent in Java > the language; complecting state and identity for example. > > A concrete example: I know I often refactor code out of one class > into a utility once that becomes useful by other classes. The > reason I need to do this is because in java the functionality is > ring fenced by the data that it works on (I.e. encapsulation in the > container called a class). In clojure that association can be made > but right off the get-go data and functionality are separate. > > Just my two-pence worth and I still haven't written more than 2 > lines of clojure so it probably isn't worth 2p :) > > Sent from my iPad > > On 5 Nov 2011, at 12:16, Dennis Haupt <d.haup...@googlemail.com> > wrote: > > hi, > > i'm half done with my asteroids clone. i stumbled over a few > problems and wanted to know how others already solved them :) > > i am used to "less concrete programming". i ask my tools to do the > actual analysis and coding for me: * where is that used? * rename > that * show me all errors * add a parameter here * autocomplete > this for me, i am too lazy to even remember the exact method name * > show me a list of all methods and fields starting with an "e" that > fit in here. i know the one i want is in that list. > > as elegant as clojure may be as a language, it's dragging me down > to almost native text editing which i did more than 10 years ago > when i wrote a game in turbo pascal. > > how did you solve these problem and get some tool-support? or > don't you miss it because of something i am not aware of? > > > >> >> -- 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 > - -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJOtoWuAAoJENRtux+h35aG/3gQAJEyUDT4/qMyTdgHURekwgga +x0x75y3hcgutZ8ij2m4B+UGfg6Yg7cjXIuwyqtbvXFVyN02/C28MSWGj2xPMP0j UI36zTiNzVikfafP4sxP0CLNQOBjIvH+MJ/xbFWe7p49l4hb9IWdYTJ237v1ik9h YL5qulyqC1CrrJfqOr7eskErcQkyS9gLjdn+frByaq5N4dEGoh36sZfhgF6rSGqg ZlMLUCxBsasTooktHOSGURbhorHuSHlheyfNX/z9dp/qBEBhMgRmLDnfsxMmAcFb W5bbYKmqeIEfm+IHTRz0UUk1SbHoZVaDYY81qGI0rQgTpFFV1yRtC5TdQ2/lanGU 4Aklxb4CqEt8mek5GBrwp7526ebVxF48hWQ5elP6ycUcI4LyBtQhIqT2Zqq8G7MG hOdZSNQ7IXYq+mjLx1yGQrKQkZTlmWb+j3KbC2anz73qAw7jz1hmhBLjyFlhSWcG LAJIuPT+WY+xJKMfl15l1XCO4xc8osd1FUBcfWEvPZvxqiH1RA/5YxL1W/Qou/NL AJSxixJCQcONZd9ynppzJKSVyrcjzE0FUPMutynitmVFgtuSKz4eb+8U3SaX8HEm GJOV8/e9ETms75TbSfGSjRPLXGaMTwswpWzpnA+B3wOHF6qGPxDFGr7uIxZa/ky+ I3QAs0vzTFfhyjZP4SDg =opYc -----END PGP SIGNATURE----- -- 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