Personally, I feel the Nim documentation is decent, compared to say what you 
might find on cppreference.com. The sections are terse, but they generally give 
enough info for those who know what they are looking for. Having everything in 
1 page saves me the effort from having to navigate a website.

For example, I dabbled in metaprogramming using macros to generate code from a 
dsl, and found myself referring to the macros section in the manual, using the 
index to identify functions unknown to me, browsing the std/macros 
documentation for the api, and if need be, click on "source" to examine the 
source code. I discovered the quasi-quote feature and found it excellent for 
generating "wysiwyg" code vs banging everything out in nim nodes. The macros 
feature was confusing to me in the beginning, but with repeated exposure it 
wasn't mysterious. It's like lisp macros, except much heavier syntax, with 
limitations on nesting.

What I like about the current doc is that it gives you a way to quickly go down 
to the source level, if you don't get how something works after reading the 
documentation. To me, this is fairly efficient, and it leaves me enough clues 
to figure things out. I don't know how I feel about the alternative of having 
very long, verbose documentation on each language feature.

I do feel that beginners (as in, less experienced programmers, people who 
haven't used many languages, not all new nim users) might find this style of 
documentation intimidating, because there's not much hand holding. They might 
feel that it is overly descriptive and not prescriptive on how they should 
write code. For the crowd that's learning how to program and picking up nim at 
the same time, they probably feel overwhelmed because basic terms are not 
explained but are expected to be understood. Maybe stronger signals need to be 
given telling beginners to head to the tutorial sections or maybe nim by 
example, to get exposure to a small subset of the language at a time, than 
feeling they need to read the whole manual? 

Reply via email to