On Tue, Mar 19, 2019 at 4:49 PM Andrzej Krzemienski via Boost < boost@lists.boost.org> wrote:
There two sides to it. Yes, it is good to highlight new language features, and how they can be used. But it may conflict with the objectives of a tutorial, especially the initial page: the potential user should get the picture how (s)he will be using the library, as fast as possible.
Yes, this is exactly my point. I may have been unclear about this, given this thread. I am not advocating in favor or against any new language feature. Trainling return types, auto, whatever. Tutorials may show that. But the initial page has the purpose of showing at a glance what the lib is about and reach as many as possible. This is best achieved by a low common denominator. This may be the matter of seconds.
If we put off the potential user too much in this step, (s)he is likely to drop our library and go to the competition or go to manually write a similar (but lower quality) tool because determining whether our library does what is needed took too long.
Well, truth be told, I was on the verge. The most recent new lib I planned to adopt was spirit 3x, as I am a long time user of spirit 2 and wanted to see how the new one rolls. So I had a look and quickly found out that spirit 3x is done in a way that it essentially requires the use of auto. No reasonable way around it. And since auto is banned in my department, I had to abandon 3x. Which isn't too bad per se but when I briefly glanced over the outcome tutorial my first impression was "Oh, another one of those auto only libs...". I did realize my mistake quickly but it kinda proves your point to me. Which is why I wrote. Cheers, Stephan