Many of you who have posted comments and answers to this question are what I consider Mathematica experts, no wait, gods. I have to agree with you that the Mathematica documentation is close to complete. I will even add that help is built to provide streamlined access to volumes of information it contains, that is, if you know what you are looking for.
As a recent newbie, okay somedays I still feel like a newbie, I have a different point of view of the Mathematica documentation. The documentation is sadly lacking. This is especially so when a newbie has some prior experience with other programing languages and they know what they want to do, but are not familiar with Mathematica.
For example, lets say a newbie wants to remove Nulls values from a list. The newbie just needs to find that magic function(s) that will do it. So the newbie fires up Mathematica help, types: "remove Nulls from list", and MMA help returns 6 pages of results. BTW not one result is DeleteCases
. The most promising result is the first one, "Adding, Removing, and Modifying List Elements". The newbie clicks that result, looks at the page, and sees nothing about removing Nulls from the list. There is Delete
, but it uses indexes to delete values from the list and not the values themselves. So now the newbie now needs to find the indexes for Null values. So back to MMA help, the newbie types in "find indexes of Null values". MMA help returns six pages of results, the first page is not too promising, and no mention of Select
in any of the results.
The newbie gives up on MMA help and tries Google, "Mathematica remove Nulls from a list". The number one link is the same page that MMA help returned. Actually, this is a bad example as there are links to stack overflow, and some other sites on the first few pages. Initially when I goggled questions about how to do things in Mathematica, the majority of the searches usually returned links to various versions of the same Mathematica documentation at wolfram.com, at least for the first few pages of results. It was not until I started putting -wolfram.com
into my searches did I see more useful results.
So the newbie finds stack overflow or mathematica.se, great, and posts his/her's first question. The answer to the question is obvious, RTFM.
What do you do?
Slam the door in their face and make a great first impression.
-or-
Answer their question and encourage an undesired behavior.
I am not sure if this is technically feasible within the se framework or not, but what if ...
The question is open to the masses. Someone (with a certain reputation level) tags the question as a newbie RTFM question. Once tagged as a newbie RTFM question, the question is removed from the general public's visibility. A comment is automatically posted with a link to a FAQ on how to use MMA help, a link to a FAQ on how to use mathematica.se site, and a challenge to the author for he/she to answer their question.
If the author answers their own question within the initial period of time, they earn a badge, some reputation, and most importantly some experience on how to effectively search for answers to their questions.
If the initial period of time passes and the author doesn't answer their own question, the question's visibility is open for a second period of time to the other newbies (users with some reputation less than some threshold amount) to link a preexisting question/answer that answers the question.
If a newbie makes a link to question/answer that answers the question within the second period of time, that newbie earns a badge, some reputation, and most importantly some experience on how to search for questions that have already been asked.
If the second period of time passes and the question remains unanswered, the newbie RTFM tag is automatically removed and the question is once again visible to the masses to answer. The newbie RTFM tag cannot be reassigned to a question once it has been removed.