Advocacy (Was: Who here actually uses D?)

Ulrik Mikaelsson ulrik.mikaelsson at gmail.com
Sat Jan 1 21:27:41 PST 2011


2011/1/2 Robert Clipsham <robert at octarineparrot.com>:
> Unfortunately, it's impossible to create such a system without people being
> paid to work on dmd and the runtime - people will fix the bugs they want to,
> you can't make them fix anything. Obviously you can influence what gets
> fixed, not to a huge extent though. Ideally the voting system would outline
> what needs the most effort, but people don't idle on bugzilla enough for it
> to work so well. I wonder if changing the 'vote' button to a 'like' button
> would make any difference, if facebook's any indication, people like to like
> things ;p
Personally, I think the community is a key focus area. D cannot
survive without a thriving community, both in the "core projects"
(language design, compilers, stdlibs, druntime etc.), and in
applications (especially highly visible killer-apps). I think it's
absolutely critical to work on advocating the language, especially I
feel D is currently missing "killer-apps" demonstrating why learning D
is worthwhile.

Let's be honest, coming into the market of C-style imperative
languages in the second half of this past decade isn't exactly easy.
There are already C/C++ for the performance-crazed, and Java/C# for
the convenience-minded. The only complaint I ever hear in that
landscape, is that C/C++ is just too much hazzle to work with, and
C#/Java is ridiculously resource-hungry, partly in CPU but even more
so regarding RAM consumption.

Of course most users don't care, but the few passionate developers
feeling this, THEY are the audience D appeals to. I think it's
important to intentionally target them in advocacy. D cannot succeed
in doing everything. It certainly cannot compete with Ada on writing
secure stable code, and it cannot compete with C in low-level
programming simply due to the sheer established mass. The one area
where there is currently an unexploited opportunity is in the corner
between productive yet efficient, and this is where D shines, which
most developers currently do not know.

On a side-note (and I'm clearly biased here so I hardly even take
myself very seriously), I think the non-windows os:es, especially
Linux, should also be an intentional focus-area. It is VERY difficult
to compete with .NET on Windows, and somehow I don't think we'll find
most of the efficiency-focused audience there, but if D can
demonstrate it's usefulness in key systems components in Linux, it's
likely to attract more curious right-minded developers. I'm not sure
exactly how to realize this, but there may be two opportunities in
quickly providing a lightwheight attractive desktop environment for
the upcoming Wayland system, as well as someone finally writing a
disk-indexing system that doesn't eat all your disk-bandwidth and ram
during the first week.

In any case, I think it's also very important to remember developers
should only make up a small part of a good community, even a software
development community. We need webdesigners, advocates, testers,
people doing bugzilla maintenance, documentation experts, writers,
artists, and just about anyone who can spare a couple of hours of the
week since they want more efficient software (even if they don't know
how to do it themselves). Just discovering
http://d-programming-language.org/ with much nicer presentation of the
docs I've already seen, raised my motivation for D just as much as any
random dozen solved bugs from bugzilla.

Attracting people to D is IMHO MUCH more important than any particular
bug or especially new feature. If I got my wish, I would very much
like to see some of the core devs allocating 75% of their time of for
the next months on not doing core work, but ONLY doing things to
attract new developers; I.E.
 * Try to get D into the Debian Language Shootout Again?
 * A simple web-server beating apache performance (maybe even nginx?)
would be a reasonable goal, which would make great headlines, and in
short time.  If you can also show it's source-code is comprehensible
to any medium-skilled Java dev, you've probably got yourself many new
prospective developers.
 * Follow up new developers with top-notch support for the more
promising ones to make sure they don't bounce back out.
 * Brush up the documentation aimed at beginners, and try to get a few
articles and tutorials published (at least slashdotted)
Given these above, which to my knowledge isn't done as of now, I think
it's not unreasonable to expect a sizable growth in both active
community and external visibility.

Now, time for me to go to bed. (It's 06:00 here) when I wake up later
today, I'm hoping to have the list full of further ideas, suggestions
and thoughts on how to grow the community, except for implementing
D3/4/5 100% bugfree. :)


More information about the Digitalmars-d mailing list