On Feb 16, 2012, at 12:16 PM, David Nolen wrote:

> On Thu, Feb 16, 2012 at 12:04 PM, Gregg Williams <greg...@innerpaths.net> 
> wrote:
> Would it kill somebody to write a library of simple functions that
> would answer most beginners' simple needs, then have it "blessed" as
> canonical? I'd write it myself, but I still don't know enough! If
> every beginner has to painfully figure these things out, most
> beginners are going to bail--which means that Clojure remains a niche
> language, unknown to a lot of people who could have brought their
> considerable creativity to the Clojure community.
> 
> We are patiently waiting for *you* to do / start / lead this. If it's a real 
> paint point for enough people - folks will happily contribute, you don't need 
> to know / think of everything. I've found this to be case with ClojureScript, 
> core.match, and core.logic. I'm working on ClojureScript support for 
> core.match and core.logic and I happily welcome any patches that will make 
> them work on the CLR.
> 
> It's tiresome to hear people complain about something they do not contribute 
> anything towards.

This is a horrible venue for this sort of conversation, but here goes.

Refocusing on the question of documentation, there have been no shortage of 
people doing what they can / think is best to help.  This is what produced 
ClojureDocs, cheatsheets of all sorts, ClojureAtlas, the tooling stuff on 
dev.clojure.org, N books, screencasts, etc. etc. etc.  Of course, none of that 
helps with official documentation, clojure.org, `clojure.*` docstrings, and so 
on, all of which has been the subject of these kinds of conversations a hundred 
times in the past, but which will always be front-and-center for the newcomer.

Yes, you can learn and use Clojure effectively with the resources that are 
available — thousands have, and many thousands more will, but that doesn't mean 
that the resources available and their presentations don't have significant 
shortcomings, and that many thousands more with different backgrounds and 
aptitudes won't make it through the funnel (or worse, will pass it by entirely) 
because of them.  Of course, there are a variety of reasons why those that are 
in a position to help, cannot.

On the topic of the need for a "library of simple functions that answer most 
beginners' simple needs"â€ĶI'm skeptical of that, insofar as the "simple needs" 
premise sounds like a variant of the tantalizing 80/20 myth 
(http://www.joelonsoftware.com/articles/fog0000000020.html).  Assuming that's 
wrong, I don't know if yet-another-library is much of a solution, as that 
mostly just shifts the documentation problem around from looking at javadoc to 
looking at one of N different people's take on a library to solve those simple 
needs, with all of the abstraction leakage that is usually implied by such 
endeavors.  There is surely a need here though, which I'll take the liberty of 
dropping into the "easy mode" bucket mentioned in Stuart H.'s talk from the 
Conj.  I'm not sure anyone knows what easy mode looks like from an API 
standpoint.

To the OP's original complaint, I think Stuart's reply is succinct and correct 
but nearly irrelevant from the perspective of a newcomer.  I'm hopefully 
helping the non-Java developer by trying to provide more signposts for them in 
the book I co-authored (specifically, for those with some Ruby and Python 
experience), so that Clojure's foreign concepts can be more easily linked up 
with known quantities.  However, a "critical mass" of tutorials and 
documentation aimed at non-Java developers does nothing to alleviate the burden 
of awareness and familiarity with JDK APIs that are so often needed.  Clojure 
is trying to do a lot, and _not_ covering up the host — a huge advantage once 
you have your sea legs and have become comfortable with that relationship — is 
new territory AFAIK for a language with uptake ambitions.  To compare, consider 
if Python forced you into the C FFI to write a byte to a file or draw a line on 
a graphics context.

So, I think there is merit to the complaint, but the solutions probably aren't 
in the realm of "it'll take time", "patches welcome", or "write a library that 
does foo".

Cheers,

- Chas

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