It would be useful to have some meta-direction on the desire contents of the documentation.
There are at least 2 types of documentation:
- short and concise for expert reference
- Examples and tutorials for non-experts who are just learning it
The base documentation is along the lines of “short and concise”. Other examples would be “quick reference guides” and “cheat sheets”.
The Julia Manual has more exposition and examples (but no tutorials). It could be improved with more examples and some tutorials – but, then it can be annoying to scroll through hundreds of lines of examples and tutorials.
Yet … this is the web. This is where hyperlinks could shine. A link for “More Examples” or “Tutorial” for those who want to view it. When viewing the base documentation, when you hover your mouse over a function definition, a little blue button “source” appears.
Why not have a little blue button appear in the Manual for “More Examples” or “Tutorial”? I think you might get more users contributing to those areas. After I figure something out, I would likely contribute it as an example.
Often the developers are too skilled and knowledgeable to know what questions beginners will have.
Let me give two example I came across recently:
The documentation for Dataframes.jl has lots of examples of how you can view and subset the dataframe by rows, columns, or rows and columns. Really useful, exciting functionality. But … how do I reference a single cell?
Second example, CartesianIndex and CartesianIndices.
For that all is good and holy, it’s confusing. The cherry on top is the blog post by Tim Holy – and I don’t bring this up to pick on Tim, who I believe is commenting in this thread, and who has actually written documentation – but it has this statement:
These iterators are deceptively simple, so much so that I’ve never been entirely convinced that this blog post is necessary: once you learn a few principles, there’s almost nothing to it.
My reaction:
Then later:
You may already know that there are two recommended ways to iterate over the elements in an AbstractArray
Well, I don’t already know the two recommended ways, and what the hell is an AbstractArray?
A hyperlink could be handy for that last question.
Again, this is not to pick on Tim. I’m sure his documentation is fine for an a more advanced user. (Plus, Tim actually wrote documentation, which is what many of us want).
There just isn’t a “CartesianIndex For Dummies” document out there. Once I figure it out, I could write it (hmm… just what makes me qualified to write the “For Dummies” guide?).