<story><title>Clojure&apos;s n00b attraction problem</title><url>http://gregslepak.posterous.com/clojures-n00b-attraction-problem</url></story><parent_chain></parent_chain><comment><author>derefr</author><text>Now this is exactly the sort of thing we should be taking issue with (from the comments):&lt;p&gt;&amp;#62; A true noob should probably install java, download clojure and clojure-contrib, run the repl, and stay there for couple 2-3 weeks. No IDE, no web app dev, just functional and concurrent programming with clojure in a REPL. They&apos;ll be much better off in the long run because they&apos;ll either give up (and save time) or learn something truly outside their comfort zone (and understand the benefit of getting setup for real development).&lt;p&gt;When teaching someone a programming language, your first goal should always be to get them to the point where they&apos;ve made something real in a domain they understand. Then, they can bootstrap that domain knowledge, and its application within the new language, and use it to &quot;grow into&quot; the rest of the language.&lt;p&gt;The &lt;i&gt;best&lt;/i&gt; thing for Clojure would be something that lets you write web-apps (or games, or visualizations like Processing...) in it two minutes after clicking &quot;Download&quot;—because those users would be able to say they&apos;ve &lt;i&gt;done&lt;/i&gt; something in Clojure, be able to say they&apos;re &lt;i&gt;sure&lt;/i&gt; of their knowledge (because if they weren&apos;t, the program wouldn&apos;t have worked, would it?) and be able to proceed to learn more with confidence. The &lt;i&gt;worst&lt;/i&gt; thing would be to download Clojure and be stuck at a REPL invoking (defproto) to overload String methods with no goal in sight—because that kind of knowledge doesn&apos;t &lt;i&gt;stick&lt;/i&gt;, and won&apos;t get you anywhere.</text></comment>
<story><title>Clojure&apos;s n00b attraction problem</title><url>http://gregslepak.posterous.com/clojures-n00b-attraction-problem</url></story><parent_chain></parent_chain><comment><author>ihodes</author><text>I certainly had very similar issues when starting out with Clojure (and am still running into them now), and I&apos;d had previous development experience with Java and used Emacs before Clojure.&lt;p&gt;That being said, I do believe the &quot;noob experience&quot; is improving, and the community Clojure fosters is inviting and welcoming to newbies, as far as I&apos;ve seen.&lt;p&gt;I&apos;ve begun work on a tutorial to get people up and running with Clojure, but I will be recommending Emacs in it. As someone in the comments on the blog noted, if someone&apos;s goal with Clojure is to crank out a web app in 24 hours, they&apos;ve come to the wrong place. Emacs enriches the experience, and I truly don&apos;t think it is as daunting as it is often made out to be. Gaining basic productivity in Emacs, even if not excellent productivity, takes little time, and the benefits of using Emacs seem large to me.&lt;p&gt;Regardless, the sentiment expressed here is important to consider. There should be a sanctioned IDE for Clojure, and it shouldn&apos;t just be Emacs and clojure-mode.el + Lein, at least not to start. Along with clojure.jar, I&apos;d like to see Leibke&apos;s clj script packaged and promoted. That way, like with python, irb and newlisp, you can download and immediately get started with a functional REPL to see if you like the language before investing the time in setting up the ultimate IDE.&lt;p&gt;And yes, documentation. Please, documentation. It&apos;s in the style of LISP to have little to none documentation in code, as the code should explain itself. And it certainly should, but a little exlanation here and there can only help to enlighten those not as familiar with the language and save the time of those in a hurry.&lt;p&gt;But now is an exciting tine for getting into Clojure. Don&apos;t let the initial challenge of getting into it deter you!</text></comment>