3 ms·
As someone who started using Clojure recently, the documentation has been the hardest part. Once I've understood something in the core lib, I'm blown away how
by munro 11y ago
As someone who started using Clojure recently, the documentation has been the hardest part. Once I've understood something in the core lib, I'm blown away how well built it is, but it's been a confusing & misleading process getting in the meantime.
The design never bothered me, the issue I have is that docs are all over the place. I would like to see documentation consolidated, with improved completeness, and better search. To get there, it needs to be easier for developers to contribute to clojure.org, instead of spinning off their own version of docs, which seems to be the case at the moment.
Just for a glimpse of the documentation landscape, and what it's like getting started, here are the resources I've touched on:
* Main reference pages (recently redesigned) are nice for getting a high level gist of something, but I found it doesn't go in depth enough to really understand atom/transient/transducers/etc. [1] I walk away with a sense of: "sure, this all sounds good in theory".
* Main API docs are helpful for reference once you understand what's going on, also useful for finding new things to research elsewhere. [2]
* I've discovered there are wikis on the libs that have really good examples, but they're not complete, and I will still have to Google for more examples by people writing blog posts. [3]
* Clojuredocs has decent search, and sometimes people comment on a function with a good example. But most of the time comment unfinished code that's really misleading. [4]
* Google is really the best resource for finding examples, explanations, and idiomatic usage. There are a lot of idiomatic things that are hard to uncover, like to zipping is done by `(map vector [1 2 3] '(a b c))`.
* The #clojure IRC channel has pretty low response rate of actually getting help with something. As compared to #node.js/#python/#postgresql. The community is smaller, so it makes sense, but it's discouraging.
* There are quite a few other websites, but I haven't found them useful, so I never check them. [5] [6]
[1] http://clojure.org/reference/agents http://clojure.org/reference/agents
[2] http://clojure.github.io/core.logic/ http://clojure.github.io/core.logic/
[3] https://github.com/clojure/core.logic/wiki/A-Core.logic-Primer https://github.com/clojure/core.logic/wiki/A-Core.logic-Prim...
[4] http://clojuredocs.org/clojure.core/keep-indexed http://clojuredocs.org/clojure.core/keep-indexed
[5] http://clojure-doc.org/ http://clojure-doc.org/
[6] http://conj.io/ http://conj.io/
- puredanger 11y agoPart of the new clojure.org update is that the site content is now in github and accepts contributions. The guides area is already being built out by community contributions and that will continue. See: https://github.com/clojure/clojure-site https://github.com/clojure/clojure-site and http://clojure.org/community/contributing_site http://clojure.org/community/contributing_site . Over time this should improve the situation with respect to having both good reference and good tutorial content in one place on the site. #clojure has always been up and down in terms of volume. These days, there are upwards of 5000 people on the Clojurians slack channel and pretty constant and helpful communication for chat. Join at http://clojurians.net http://clojurians.net.