D future ...
Laeeth Isharc via Digitalmars-d
digitalmars-d at puremagic.com
Tue Dec 27 08:36:10 PST 2016
On Monday, 19 December 2016 at 23:02:59 UTC, Benjiro wrote:
> D has not market:
> -----------------
>
> A lot of times people complain that D has no real audience /
> market. Is D the perfect system. No... But lets compare to
> those other languages shall we? Now this is my opinion, so take
> it with a bit of salt.
People who are complaining that D has no market aren't using the
language on the whole - or are using it for private projects and
would like to use it for work but don't know of any professional
opportunities where they can do so. The latter is a high quality
problem to have for an emerging language because it means people
find some reason to want to use the language, and those who care
about using good tools tend to be better programmers than those
who don't.
Still, it's not true that D has no real market, because the
userbase is demonstrably growing. A complex creature matures
more slowly than a simple one - what's significant is not that D
does not have an official corporate sponsor of the kind that Go
has (Sociomantic plays a different role, as I understand it), but
that it is flourishing in spite of not having one and in spite of
the absence of any kind of marketing orientation. That says
quite a lot about its intrinsic merits, and we're in an era where
the pendulum is shifting from shiny things sponsored by large
corporations to giving a greater chance to more grass-roots
organic developments.
When you have a small market share, it's easy to win. You don't
need to appeal to "a lot of C++ people" - just a few of them, a
few frustrated Python guys, and so on. D fits quite well the
Innovator's Dilemma described by Clayton Christensen. It's a
positive not a negative that many prefer to dismiss it since it
makes it easier for it to gain a hold in certain niches, draw
energy from such and then spread into adjacent niches.
> I see a lot of people arguing a lot about D and sorry to say
> but at times it sounds like a kindergarten.
People who care about excellence will tend to argue a lot - see
Andy Grove's 'constructive confrontation', Charles Koch's 'market
based management', and Ray Dalio's 'Principles'. The key thing
is what happens in response to that. The language and its
documentation are better now than a year ago, and a year ago were
better then the previous year. It's not perfect, but life never
is.
> Maybe its because people who use D are more into proprietary
> software, that
> there is less community response with work going into the
> library.
If that's true (and I think it might be), that's a very positive
thing, because most software is proprietary software, and
adoption by companies when successful will tend to provide a
future source of support and energy for the ecosystem. You can
see this already with Sociomantic's sponsorship, but they aren't
the only ones. I've paid for some small improvements in dub's
shared library support myself (-fPIC did not propagate which made
using dub to build shared libraries on linux a bit tricky, but it
does now, or will do once PRs are accepted), and you get to
excellence from many little improvements of this sort.
So if you want to improve the language and its ecosystem, the
best way is to contribute pull requests or $$$s - the Foundation
now accepts individual donations, and it's also open to corporate
sponsorship, I believe. One should be a bit patient in expecting
changes from the creation of the Foundation - it's an awful lot
of work to set something up, and once that's done to figure out
how to deploy resources to efficiently make a difference. It's
quite impressive what has been done already - very smart approach
to start with institutions one has a personal/national connection
with and where great people are much more available than in some
other countries.
And on the other hand, pull requests don't need to take much
energy. I don't have much time, but I noticed the curl examples
were out of date - string vs char[] if I recall right, and they
were annoying me, so I fixed them and they were pulled pretty
much immediately.
Most D users don't spend much time on the forums or IRC because
they haven't time for it since they are actually using D to get
stuff done. Look at the list of corporate users, and look at the
small share of the people working on D in these companies in
forum discussions. And that's only a subset of commercial D
users.
Languages reach explosive takeoff not when they make a big change
in strategy but when external conditions change in such a way
that the problem the language solves suddenly becomes much more
important. Just as Japanese cars didn't used to be very good -
and who would want a rinky dink thing like they used to be. But
then energy prices exploded in the 70s, and peoples' priorities
changed - and the poor US auto-makers, complacent and bloated in
their prior success didn't know what had hit them. I've written
a bit elsewhere about such changing conditions that might be
relevant today. Close to 250k people read it and so far I didn't
get a good argument to the contrary. Though it's hard to make
predictions, especially about the future...
> If you are a low level programmer, sure, you can write you way
> around it. Despite my PHP handicap i am writing a Sqlite
> wrapper for my work. I do not use 3th party packages because a)
> i do not know the code b) the fear that the work will be
> abandoned. I can excuse (a), when i know its the standard
> library because there will always be people willing to work on
> the standard library.
It's not exactly much work to read the code for a basic sqlite
wrapper and to become quite familiar with it. (And it wouldn't
after that be much work to improve the docs just a little bit).
Isn't everyone reinventing the wheel somewhat part of the
problem? And if you're familiar with it, the work being
abandoned isn't really such a risk. If you force an enormous
step change in the size of the standard library, it doesn't
necessarily automatically bring in more resources to work on
parts of it people didn't care about before. So I agree with
Andrei's vision of favouring a larger standard library, but it's
probably also the right approach to have an organic approach as
we do.
> I do not use it. Its such a mess to read with long paragraphs
> and a LOT of stuff not even documented. Like the whole C
> wrappers etc. My personal bible is simple: Google search for
> examples and Ali's book for some rare cases.
Ali's book is pretty good, and I have found it easy enough to use
the C bindings (not sure what you mean by wrappers) - just pull
up the C API in one window, and the source code for the binding
in another. Yes - a one-off upfront price in the beginning to
become more familiar with it, but it pays off over time, at least
in many uses.
> Editor support:
Sublime text and sometimes vim work well enough for me, though
these things are very personal. For the others, have you
contributed anything - time or money in making them better? If
wishes were horses, beggars would ride. And contribution of
either has a higher value than just the thing itself, because it
also tends to energise the project - look at the frustration
Basil experienced regarding his IDE project. It's good to have
high standards, but one should have some appreciation also for
the gift that people make of their time, work, and energy in ways
that don't always lead to the gratitude that one might expect.
You wouldn't believe how little money or support, intelligently
applied, it can take to indirectly lead to quite big changes...
> Try remote editing D and see how much fun it is.
vim has always worked well enough for me. or sublime on occasion.
> Seb posted a massive list of modules that can be standard
> candidates. And the response is more or less ignore it. People
> who work on Standard libraries are more motivated. Bring them
> into the fold. But it seems that they simple get ignored.
Rome wasn't built in a year. Great things are achieved by taking
baby steps, compounded over time. And if one does what little
one can, others are inspired by it. Enthusiasm and a
constructive attitude are infectious in my experience.
> ;) ). Sorry guys but it feels like you are too technical
> focused and not thinking about the bigger picture. Suggesting
> things does not work when nobody gives people the chance to
> prove themselves.
Yes - but languages are founded on different principles. D is an
organic ecosystem oriented to people who care about technical
things. Technical excellence brings in people with resources who
find technical questions more important than marketing. It takes
time sometimes.
Laeeth.
More information about the Digitalmars-d
mailing list