I think that both of the posters so far (Fureesh and Buffy) have great insights. I would only add one more piece I've observed from my own students. It starts with the observation that most people don't particularly enjoy reading dry text, and will give up easily if it becomes impenetrable.
I can't find it now, but I recall some literacy studies that suggest that kids start to give up on text if more than one in ten sentences are too hard. Since I can't find it, take the number ten with a giant grain of salt. What's important here is that there was a number, and that it was possible to characterize motivation as a function of the percentage of non-understood items within the overall text. What's also important is that adults aren't truly so different from kids.
So, take a look at Oracle's documentation for Java's String class. It is, by my estimate, pretty excellent documentation. It has nice text at the top that outlines the basics of the structure, a list of method calls, and then a write-up of each call. It's very helpful, and I've referred to it many times over the course of my career.
But now view it from the perspective of a real beginner who is just learning about Strings (think about how beginner that is), and the entire document becomes very different. We start with a bunch of totally impenetrable header stuff, like implemented interfaces.
When we get to a text introduction, we start with:
"The String
class represents character strings." All string literals in Java programs, such as "abc"
, are implemented as instances of this class.
So far ,that might be okay. For the beginner, character isn't a fully fleshed-out concept, but... we might be able to deal with this. And the next sentence is possibly excellent:
All string literals in Java programs, such as "abc"
, are implemented as instances of this class.
Though, again, there are some large concepts that you need to understand before it makes sense. But it reads a bit like "abc"
is an example of String, and that's a comprehensible idea.
Then, immediately:
Strings are constant; their values cannot be changed after they are created.
Wait, what?
String buffers support mutable strings.
We're very lost now. Is a string buffer a string? Is that a reference to something else? What is mutable, exactly?
Because String objects are immutable they can be shared. For example:
String str = "abc";
is equivalent to:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
Well, that's confusing, not least because the example doesn't appear to match with the sentence leading up to it. But, for the beginner, we are now looking at a series of glyphs. Just the line char data[] = {'a', 'b', 'c'};
has many, many concepts locked into it. There is precious little chance of someone just learning about strings making heads or tails of that code.
It honestly doesn't get much better as you head into the rest of the document. For the beginner, the documentation is not at all helpful without a teacher to walk through it with them.
I assume that most people had a similar experience to me with man
pages, and couldn't make sense of them until someone broke it down first. Maybe other people didn't have those sorts of troubles, but I'm pretty sure that the norm is for people to find them very confusing at first.
Anyway, consider, then, what is likely the early experience that learners will have with documentation. It wasn't useful! The early lesson, it seems, is that documentation is dense, full of needless foreign concepts, and not that helpful.
The students will nevertheless go off and find other information that is more helpful. After all, they still need to do whatever it is that they need to do. Where do they go? A friend, a YouTube tutorial, an article, whatever.
It is perfectly natural, then, that as they develop, they continue to (a) go to the kinds of resources that they have found helpful in the past, and (b) therefore don't develop their skills in documentation comprehension.
I think, then, that something like what you propose, with explicit guidance about how to deal with documentation for people at a more professional stage, could be very useful indeed, since at that point, they are more ready to deal with what they'll find there.