On Wednesday, 17 December 2014 at 09:05:58 UTC, Manu via
Digitalmars-d wrote:
On 16 December 2014 at 00:04, Kagamin via Digitalmars-d
<digitalmars-d@puremagic.com> wrote:
On Sunday, 14 December 2014 at 08:37:36 UTC, Manu via
Digitalmars-d wrote:
They then made HUGE noises about the quality of
documentation. The
prevailing opinion was that the D docs, in the eyes of a
not-a-D-expert, are basically unreadable to them. The
formatting
didn't help, there's a lot of noise and a lack of structure
in the
documentation's presentation that makes it hard to see the
information
through the layout and noise. As senior software engineers,
they
basically expected that they should be able to read and
understand the
docs, even if they don't really know the language, after all,
"what is
the point of documentation if not to teach the language..."
I tend to agree, I find that I can learn most languages to a
basic
level by skimming the docs, but the D docs are an anomaly in
this way;
it seems you have to already know D to be able to understand
it
effectively. They didn't know javascript either, but skimming
the
node.js docs they got the job done in an hour or so, after
having
wasted *2 days* trying to force their way through the various
frictions presented but their initial experience with D.
Comparing node.js to D? You probably speak about vibe, not D?
The majority of hours spent were not really related to vibe.d
so much
as trying to wrangle the tooling, debugging crashes, and
understand
the docs to get some very basic things done.
These are 'D' experience if you ask me.
One of the take-away quotes I think, was "D seems to be a
language for
people who actively want to go and look for it, and take the
time to
learn it. That's never going to be a commercial success."
O_O Huh? Your team really didn't learn C++?
We didn't 'learn' javascript, or python, or html, or whatever
else you
pick up on the job.
The investment in learning 'programming' is decades behind us,
and I
think it's a reasonable expectation that a language present
itself in
such a way that it's intuitive and easy to get some basic things
going.
Leveraging small example snippets from the docs, etc. D is very
easy
for a C/C++ programmer, but the docs don't make it appear that
way,
and they give the wrong impression.
The overpowering presence of templates in the docs give a first
impression that reminds people of everything that's wrong with
C++,
which I suspect most C++ programmers looking into D are actively
trying to escape!
This is something I also felt like when dabbled with D.
There is a lot of meta-programming going on the JVM and .NET
worlds. Depending on the language, it comes via AST manipulation,
attributes, compiler plugins, bytecode manipulation and macros.
However it tend to be used mostly for frameworks of some sort,
not across all the APIs.
With the two toy projects I used D for, a toy compiler and a A*
search implementation, I got the idea that there is a template
for everything.
Granted, D's approach with templates and mixin makes it very easy
to write such code.
--
Paulo