I totally understand the value of having a single source of truth (DRY 
principle).  My main problem was that to get from 0-60 for doing clojure 
development is quite challenging.

Say you want to do what my document describes, that is setup Leiningen, 
setup emacs, etc..., it took me weeks to get it working.  That is going to 
turn off a lot of people who'd like to get started.

I'm sure I've made many misguided recommendations, I'm a newbie myself. 
 But I've been tasked to help other people get on board with Clojure and I 
need to be able to send them to one link.

I had a major piss around trying to get the marmelade repo working. 
 Finally, someone suggested emacs 24, which itself is fairly hard to find 
without a link to alpa.

So say I start at: http://marmalade-repo.org/, well then it says: "Install 
package.el", it doesn't say how to install package.el, so now I gotta 
google that.  So say eventually I figure that out.  Well it says to add it 
to your ~/.emacs.  I was helping someone out the other day, and in their 
instance it needed to go into ~/.emacs.d/init.el.  Another face plant. 
 Then if they aren't on emacs 24, there is a chance that their 23 won't 
load more than one repo, that happened to me.  Face plant.  Then I head 
over to lein: https://github.com/technomancy/leiningen, well this one is 
better than most install instructions, but still IMO, isn't as simple to 
follow as my instructions.  Which I'd agree I should update to use Lein 2. 
 However it doesn't talk about the dependencies of Lein, like rlwrap, since 
understandably that is out of scope, but for a newbie, it's darn handy to 
have that stuff.  Say you were running the jre instead of the jdk, which I 
was, and my swank-cdt debugger wasn't working, again I have a note for 
that.  Then we get back to marmalade.  The steps to install package.el are 
quite a few.  You should put ~/.emacs.d/ on your load path, you've got to 
(require 'package).  It doesn't mention anything about 
(package-initialize), which seems to be helpful.  Next I want to get 
swank-slime-clojure server going.  Do I need slime?  I don't really know. 
 So I head over to: https://github.com/technomancy/swank-clojure, which is 
not bad, but it doesn't tell me that I have to do a 'lein deps' after I put 
the entry into my emacs.  It doesn't tell me that if I jack-in and then 
modify my project.clj that I need to re-jack-in.  Face plant.  I still 
don't know if I need both clojure and clojure-contrib in my project.clj 
files or not.  They are different versions, should they be in sync?  After 
that I don't even know where I found the info about how to setup my *.clj 
files so that they'd auto load into the REPL after saving them, certainly 
another website.  Did it also have the nice tip that: "C-c A-p" is what you 
can use to update the namespace in your REPL.  Now I want debugging, off to 
somewhere else.  Here: http://georgejahad.com/clojure/swank-cdt.html.  Well 
it doesn't tell me that swank-clojure is NOT a plugin, but rather a 
dependency.  Face plant.  Didn't help with JDK/JRE issue.

And I'm not even listing all the other issues which would bore anyone on 
this list to tears.  Maybe an appropriate solution is the one you alluded 
to, which is to have a link to the websites I mentioned about at each point 
in the 0-60 doc?

I did find myself getting a bit angry writing this, because I'd really like 
to see clojure displace java, but I think its fair to say that there is a 
gap in helping people who have little 
emacs/clojure/leiningen/swank/slime/cdt/lisp exposure getting on board.  I 
think there is value in reducing that complexity as far as possible to let 
them get going doing some coding.

I think github is a better place to document this stuff than confluence. 
 Confluence just doesn't have the prettifying abilities of github.  Also, 
whats the right solution around contributors, etc...?  Well again git is 
pretty good.  Someone could clone this stuff, put it somewhere legitimate, 
and accept patches to the documentation.  Github also makes it quite 
trivial to share contribution permissions and to manage revisions.

I don't want to piss of the good people of this community that I'd like to 
be accepted into...is that possible?  I hope so. :)

ft

On Wednesday, June 13, 2012 12:33:38 PM UTC-7, fenton wrote:
>
>
> https://github.com/ftravers/PublicDocumentation/blob/master/clojure-development-setup.md
>
> An index to other clojure tutorials:
>
>
> https://github.com/ftravers/PublicDocumentation/blob/master/clojure-index.md
>

-- 
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

Reply via email to