On Saturday, 11 January 2014 at 12:22:44 UTC, Manu wrote:
*sigh*
If you can't see value in intuitive design as a basic
principle, then my
points about people on this forum being so disconnected from
the world of
normal programmers is even more true than I thought.
Particularly if you find the concept so threatening that you
need to make
dumb comments mocking the principle.
I never suggested making technological concessions for the
principle, just
keep it in clear focus while designing your APIs. Do user
testing, get
better feedback, identify common pitfalls.
I'm just talking about quality, and greater consideration wrt
api design
and more user testing before committing new features to the
slate.
In our defense, I've found that whenever I *do* find the APIs
lacking, it is in contrast to how powerful it is to begin with.
I've done things in D I would have never *dreamed* of doing in
C++. You kind of get used to "If it can be done, there's a D
1-liner for it". However, it's not actually the case. It doesn't
necessarily mean the API is lacking though (IMO).
Also, the concepts of ranges and built in UTF is relatively new.
In C++, there are a ton of string operations you are supposed to
do via iterators and algorithms. However, once you take unicode
into account, it tends to fall short, and you start realizing
that a string specific function is necessary (because of UTF)
when the standard "algorithm" approach used to be correct.
The very fact that a "string" is bidirectional and not random
access (in terms of codepoints) is also something... you have to
get used to.