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

Reply via email to