Should this work?

H. S. Teoh hsteoh at quickfur.ath.cx
Thu Jan 9 17:13:12 PST 2014


On Fri, Jan 10, 2014 at 10:56:27AM +1000, Manu wrote:
[...]
> The D docs are pretty terrible, they don't do much to help you find
> what you're looking for.
> You have a massive block of function names at the top of the page,

Yeah, that blob of links is useless unless you already knew what you
were looking for (kinda defeats the purpose).

The hand-classified table of functions in std.algorithm and std.range is
more useful, IMO. At least it lets you use divide-and-conquer to zoom
down to your area of interest, whereas the order of links in the blob of
links has no relation whatsoever to the functionality provided.

The order of docs for each symbol also follows the order in the source
code, which may not necessarily follow a logical order. This makes
browsing the docs difficult -- one minute it's describing find()
overloads, next minute it's talking about set unions, then after that
it's back to findAfter(), then it jumps to remove(), etc.. Try finding
what you want when the docs are 50 pages of this random jumping around.
All the more this makes a hand-classified table of symbols
indispensable.


> you have to carefully scan through one by one, hoping that it's named
> something obvious that will stand out to you, and in the event it
> doesn't have a helper function, you need to work out the proper
> sequence of algorithm/range/whatever operations to do what you want
> (and then repeat the process finding the small parts you need across a
> bunch of modules).
[...]

I will say, though, that taking the time to learn where things are in
std.algorithm, std.range, std.string, and std.array helps immensely in
knowing where to look for things in the future. This doesn't excuse the
poor state of the docs, of course, nor the non-intuitive placement of
some of the functions in Phobos, but you're likely to feel far less
frustrated if you took the time to familiarize yourself with where
things are. :)

I usually don't have too much trouble finding what I need when it comes
to string manipulation. But then again, when I fail to find something
within 15 seconds of looking at the obvious places, I just import
std.regex and proceed to crush the proverbial ant with the proverbial
nuclear warhead. :-P


T

-- 
It's bad luck to be superstitious. -- YHL


More information about the Digitalmars-d mailing list