I recommended clojure to a dozen friends or so and after a while none of them stuck with it. I know clojure being a lisp and being at the current development stage is not for everyone, but after I probed why people gave up with it I saw the barriers to entry were largely superficial and can be easily solved with some clarifications:
The most problematic issue is the editor. There are too many options to check and to choose from and there is no "best" option. I remember I got analysis paralysis myself when I had to choose an environment (thinking about configuring slime takes the zest away out of any exciting new language). If you go with emacs+clojure-mode, you get something very basic and for those not familiar with emacs, something that looks very foreign. You want the powerful slime? You will be exhausted with its setup or worse, defeated by it. The netbeans and eclipse IDEs are still shaky. People usually tried to install enclojure because its site looks the slickest but even with the alpha tag the experience was disappointing to all. People who got my recommendation after netbeans released v6.5 couldn't get enclojure to run at all. I think the solution to this problem is to give a definitive recommendation to a single simple editing option at the Getting Started section and enumerate the other options with their ups and downs, so people will have the right expectations about them. The second major problem is the gap between the old release (20080916) people get when they click download and the documentation, code examples, newsgroup messages, etc. It used to be no big deal. Now, it just seems broken because there is too much that doesn't match the docs. Also, when I showed people clojure on my machine, I kept getting "how do you make it not print the entire stack on every error" and "why can't I use *1,*2,*3" questions. Now that the svn is at googlecode, it will get even more confusing with all the links in the official site and wiki to sourceforge. Another problem is that there is no definitive starting point to learning the language. There are too many places to start: the official site, the screencasts, the google group, the source, the wiki, the blogs, the beta book. And they don't always match one another. The official docs don't match the release, and generally are too thin in API description for the current svn code. The wiki is usually out of date and a mess. The google group has grown too large to read as an archive or to follow meticulously. The screencasts, which are the best choice in my opinion, are numerous, you don't know which one to see or in what order, there are no links to example code or slides for the awesome concurrency cast (the links are available, just not in an obvious place near the video), and blip.tv is awful because you can't fastforward. Excellent introspection tools such as clj-doc[1] and find-doc don't appear prominently anywhere. The solution to this problem I think is simple: in the Getting Started section, a simple "reading guide" which points to specific screencasts (with links to slides and code) and specific wiki-pages and introspection functions and tools, and only then gives the general advice to check out the docs, group, faq, code, irc, and wiki (btw: which wiki is *the* wiki now, wikibooks or googlecode? another confuser). Last thing is an issue I have, but I'm sure I'm not the only one bothered by this: the google group has grown too large and broad to track in email or to occasionally scan all messages for new changes and important info. I noticed I now go to the group frequently to scan for "Rich Hickey" posts announcing new developments. The unused RSS feed would be the perfect solution to announce new additions, breaking changes, new developments (like moving the repo), useful links, and maybe general thoughts about where this is all going, which I'm sure all are interested in. Mibu [1] http://d2nbqsesuabw8o.cloudfront.net/tmp/doc-1116/index.html --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---