On Saturday, 29 September 2012 at 15:29:46 UTC, Mr. Anonymous wrote:
Hi guys.

I was browsing the book "Programming in D" by Ali Çehreli. It was pretty much clear, and then I stumbled upon this on page 89:
20.9 Exercises
1. Browse the documentations of the std.string, std.array, std.algorithm, and std.range modules.

OK, let's open the D website and browse the documentation of std.string:
http://dlang.org/phobos/std_string.html

What do we see? A bunch of links that look like SEO tags of a spam website, followed by a mess of anything - structs, classes, functions, and what not. Do you really think somebody who learns programming can understand anything here?

Compare this with, e.g., an msdn reference:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684852(v=vs.85).aspx
A clear division of enums, functions, macros, structs, ...

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684847(v=vs.85).aspx
The functions are divided by usage, with a short explanation next to each function.

I think documentation is really important, and something has to be done about it. How can a newcomer get started with D when he doesn't have a readable documentation of Phobos?

You should really read first "The D Programming Language", or TDPL.

http://www.amazon.com/The-Programming-Language-Andrei-Alexandrescu/dp/0321635361

It's a great read, entertaining, informative. But notice that it doesn't cover everything, like template specializations (signature constraints are not the same thing).

Then read the strictly less entertaining language reference pages starting from:

http://dlang.org/lex.html

But notice that it doesn't cover everything either. For example it fails to mention that pointers to structs and classes are implicitly dereferenced when you use the member access operator with them, like ptrToStruct.callMethod().


Reply via email to