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