On Mon, 2011-03-28 at 13:01 -0700, Sean Corfield wrote: > On Sun, Mar 27, 2011 at 11:31 PM, Mark Engelberg > <mark.engelb...@gmail.com> wrote: > > (require (planet dherman/memoize:3:1)) > > > > If the library's not already on the system, when you run the program, > > Racket automatically downloads it for you and puts it in the right > > place (and even installs the documentation to the built-in, searchable > > help desk!), and then the program executes. > > As someone who had studiously avoided maven all my career before I > started to use Clojure, I will admit (grudgingly) that maven comes the > closest to making the above a reality for Java systems compared to > other build tools I've used so far. I still think maven is utterly > horrible so I'm glad Leiningen and Cake exist so I can mostly ignore > maven and just use a project.clj file to state what versions of what > libraries I need and have the build tool go find them, download them > and put them in the right place. > > On Eclipse + CCW, much as I like CCW and use it most every day I'm > working with Clojure, I don't find it's 'magic' for the Clojure > libraries to be very appropriate since I rely on Leiningen for > dependencies and would rather CCW worked with Leiningen rather than > just dropping Clojure JARs into my Eclipse project (but I realize this > is at least partly Eclipse's "fault" for the way it expects you to > dance around and configure Java-based projects). I'll probably have > more useful feedback over the next month as we start to integrate > Clojure into our production code base at work, rather than it being an > independent set of utility programs I've been working with alone... > > Certainly, a new-to-Java-bie is going to find Eclipse and its projects > and build paths to be a royal PITA above and beyond the already > annoying "DLL hell" that Java already foists on us. For me, I came > from a C / C++ background where builds and dependencies were pretty > hairy already so Java wasn't really any worse than what I'd grown up > with since the mid-80's. On the other hand, I can't think of a single > mainstream language that is widely used in and industry that doesn't > make you do some sort of "dance" to get this crap done so someone who > has successfully managed to have a career in IT while avoiding such > things has to be admired (albeit with raised eyebrows :) I sympathize > with ultranewb's experience and position (to some extent) but can't > help feeling their expectations are a little unrealistic in the modern > world of programming (sorry dude, no offense intended).
It helps to think of Java as "the new Cobol". :-) Cobol programs were nothing more than a single class object with a data section and a code section. Java just adds more pain because it ties programs to their disk layout and forces you to say everything in triplicate, in tiny files, as though we still only have 4k of memory. Java changed nothing from Cobol except the syntax. Maven and Leiningen are really just "JCL reborn". About the only advance is that you don't have to specify the cylinders. Twenty years from now you can get a corporate job maintaining legacy systems in "that mainframe language Java", most likely working for Google maintaining their dying code base. > > So far, I've found Leiningen to be far and away the easiest way to > introduce Clojure - and dependencies - to programmers with no > nuts'n'bolts Java experience but I haven't really found an IDE that > also makes sense for such folks (there's more uptake of Eclipse > amongst the programmers I deal with so CCW is the natural path to > take, despite the slight conflict with the Leiningen approach right > now). IDEs are just a fancy tool for looking up programs in the "system catalog" on the "library pack". If you're going to really be a lisper and use Clojure for more than a "Java scripting language" then you might want to invest effort in using emacs. You don't even need slime. Just use a *shell* buffer. Lisp and emacs are made for each other and you'll find that you get a much better understanding of where things are, why it works, and how it is put together. This won't get you a corporate job though. I've been writing lisp code for 40 years and I can't find anyone willing to hire me for my lisp skills. Perhaps there is something to this whole "IDE" thing after all :-) Tim Daly Elder of the Internet -- 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