On Sun, 27 Jun 2010 17:58:01 -0400 Greg <g...@kinostudios.com> wrote:
> This weekend I've been diving head-first into Clojure, and I've documented a > lot of the sticking points that I've run into as a n00b. > > I'd like to share them with the community here, in the hopes that we might be > able to improve the getting started experience for people considering Clojure: > > http://gregslepak.posterous.com/clojures-n00b-attraction-problem Two issues. Number 1, you touched on a key factor here: > Clojure is a new language, and so far it's an early-adopter's game But failed to realize the implications of that. In particular, that it's still changing rapidly, so newcomers should be advised to stay away from the cutting edge. For no reason I can see, you even decided that: > Clojure 1.1 is already outdated. No, it isn't. It's the current release. There are builds with new features in them, but *they haven't been released yet*, and *there is no guarantee that they ever will be*. You shouldn't be working with them unless you specifically want to experiment with that cutting edge stuff. > The datatype stuff that's in the 1.2 builds is being touted as The > Way Things Should Be Done From Now On™. Many n00bs are aware of > this (I was), That you were exposed to things no newb should see is one of the implications with Clojure being a new language. There's only one mail list, used by everyone from newbies asking questions about installation to developers discussing new features. If the language were more mature, you'd never have been aware of what was going on, so wouldn't have run into this issue. That this means you would have spent a lot of time learning about techniques that the next version is going to obsolete is *another* implication of clojure being a new language. It happens with *all* languages, but is worse with new ones that are still in the rapid growth phase of their development. In summary, this request: > so they want to use 1.2 Should meet with the same response as a newb asking about running FreeBSD-CURRENT, about which the FreeBSD handbook says: As you read this, keep in mind that FreeBSD-CURRENT is the 'bleeding edge' of FreeBSD development. FreeBSD-CURRENT users are expected to have a high degree of technical skill, and should be capable of solving difficult system problems on their own. If you are new to FreeBSD, think twice before installing it. > Yes, staying on the bleeding edge, and in this case using different > versions of Clojure should be clearly outlined somewhere in the > Getting Started Experience. No, it shouldn't. Newbs should be using the latest release. Period. Getting Started documents should cover that, and *only* that. Yes, there should be documentation on getting and running bleeding edge stuff somewhere, but not in any documentation aimed at people who've never used the language before. The other issue is: > Yet another set of choices n00bs are faced with is figuring out how > to actually compile their source into an executable. Executable? We're talking about Java here. It doesn't do executables - it does jar files. There's little reason to build those as a newb, as it's not noticeably harder to run the source than it is to run a jar file - or to import them if you're building libraries. If you want to import your clojure into an existing Java application, then you've probably already got a build system, and you need to figure out how to get clojure into it. If you want to distribute a clojure application as a jar file - then you're no longer a newb. Yes, this issue needs to be dealt with - but it's also not something that belongs in a Getting Started guide. <mike -- Mike Meyer <m...@mired.org> http://www.mired.org/consulting.html Independent Network/Unix/Perforce consultant, email for more information. O< ascii ribbon campaign - stop html mail - www.asciiribbon.org -- 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