3 ms·
I think the article is somewhat disingenuous. The author complains that running Clojure per the simple instructions in the distribution is not a valid way to p
by watmough 16y ago
I think the article is somewhat disingenuous.
The author complains that running Clojure per the simple instructions in the distribution is not a valid way to program, yet, then tears into the complexity of much more complex setups, which due to the fast-evolving nature of Clojure are often extremely fragile.
The command-line invocation of Clojure will work if you have a valid Java setup, and with the addition of jReadline, you have a decent, albeit bare-bones, environment for experimenting. Copy and pasting code and running it directly works, and once you figure out how to 'source' in a file, you can start building something modularized and significant.
I wrote about a 5000 line Clojure program, fairly early on, and ran development cross platform with just an SVN server at home on my mac, svn clients on mac and Windows, and notepad for Windows development, and TextMate on the mac. GUI design for Swing was done in NetBeans and could be loaded on the fly easily by Clojure.
Note the conspicuous absence of Vim, Emacs, Slime or any of the other fragile setups that people think they need.
Clojure has great facilities for modularization, and it's dead easy to use, but familiarity improves with practice in doing what actually happens instead of just pushing buttons in an IDE.
- obiterdictum 16y agoFrom my own beginner experience, while it may become easy when you found your most suitable tools setup, it's not easy to discover it in the first place. Yes, it may be great and modular, but it takes effort to find all the pieces you need and put them together. And doing this usually involves reading a lot of grossly outdated blog posts and HOWTOs, because there is no Official Way(tm).
- dedward 16y ago"The command-line invocation of Clojure will work if you have a valid Java setup, and with the addition of jReadline, you have a decent, albeit bare-bones, environment for experimenting. Copy and pasting code and running it directly works, and once you figure out how to 'source' in a file, you can start building something modularized and significant." That's the really big "IF" that the article is trying to address, I think. If you already have your head firmly wrapped around java, then Clojure isn't a monster - but if you don't, you have to cover a lot of ground to actually produce production code with it.
- watmough 16y agoI certainly didn't have much Java experience. Just reading some articles, and programming this game in Java 1.1 of all things! It still runs, try it! http://jonathanwatmough.com/jplanetoid/ptoidApplet.html http://jonathanwatmough.com/jplanetoid/ptoidApplet.html My point is that I fail to see how adding Vim or Emacs or some other IDE or framework actually helps you get your head round Java. It's only my opinion, but learning enough Java API to write serious Clojure programs involves hitting an O'Reilly reference, and having the Java class docs open in a web browser, with the absolute minimum of distractions from other sources. It may be unique to me (hopefully not), but Clojure was a drop-in replacement for Perl in my sketching and prototyping workflow that I follow during planning and design. Clojure has access to all the Java APIs, and with pure Java goodies such as drivers for Oracle, SQLite, SQLServer, it's easy to write code that runs well across Mac, Windows and GNU/Linux. None of this stuff needs an IDE, since by and large, just dropping .class files into an appropriate folder is most of the battle in Java/Clojure.
- technomancy 16y ago> That's the really big "IF" that the article is trying to address, I think. Seriously? Java comes with most modern operating systems and is easy to install on the remainders. The article is about getting a dev environment set up beyond the JDK.
- jurjenh 16y agoOne of the things I did when I started was Project Euler problems, a simple clojure REPL, and I used Etherpad as the editor - simple, cross-platform, cross-computer programming made ridiculously simple. And it worked very well - it let me experiment with clojure in a rewarding way, didn't need anything complex to set it up, and all the help I wanted was essentially right there in the "editor." That, and automatic versioning as well... Pity etherpad is gone now... so I can't retrieve my editing history, but there are a few clones there that do the same.