What is the D plan's to become a used language?

Laeeth Isharc via Digitalmars-d digitalmars-d at puremagic.com
Thu Dec 18 12:12:07 PST 2014


More complex creatures may take longer to mature than simpler 
ones.  At the age of five, an infant is a much less impressive 
creature than a dog of the same age.  (And one might sometimes 
feel the same way also when it reaches the age of 15 ;)  Social 
institutions have organic traits too, so the metaphor may have 
some application.

Sometimes in the growth of a business there are some limiting 
factors that simply need to be worked through, and there may be 
no viable short-cut.  It's easy to become frustrated if one makes 
comparisons, but it may be that the situations simply are not 
comparable because the problems faced are different.

The growth of a business also often depends on external factors. 
It just trundles along for years, and suddenly the stars align, 
and there is explosive growth.  People attribute overnight 
success to overnight causal factors, but that is rarely how it 
works beyond the most superficial level of understanding.  When 
the stars align, it isn't just one thing, but rather a whole 
bunch of often slow but powerful developments coming together.

I am a newcomer to D, and by far not an expert in computer 
science, processor and memory tends etc.  But perhaps it may be 
the case that changing cost conditions dramatically influence the 
kinds of tools that best suit the most pressing problems.  These 
problems too may be becoming more ambitious in terms of 
magnitude.  For a long time in the business world, processing 
power was essentially a free resource (and often RAM was too).  
Gamers had more powerful machines, even compared sometimes to 
those used in the financial sector.  But people do respond to 
relative prices, and when something is cheap they find ways to 
use lots of it although it does take some time.

Ie it was once perhaps true as a simple generalisation for quite 
some time that much activity was I/O bound, and so the speed of 
interpreted languages with a C back-end like Python simply didn't 
matter.  It may perhaps also be true that the world of the future 
will be quite different.

That is why I am interested in D - it seems to be the only viable 
option that seems likely to perform well whilst meeting a certain 
set of constraints that I believe will be important for me.  
Sometimes I get things wrong, but often I tend to identify 
changes in trends early enough, and it may be that others come to 
similar conclusions in time.

Its adoption at Facebook is intriguing.  The temptation is to 
dismiss it and suggest that they have a lot of resources for R&D, 
and a handsome salary for Dr Andreiscu is a rounding error 
compared to the productivity of a talented person, and if he 
wants to program in VBA then if it works, why fight him!  Also, 
to say that Facebook has some extraordinary challenges that are 
not representative of those faced by other business applications, 
and that are not ever representative to be so.

But I have a different perspective, and I think perhaps the kinds 
of challenges faced by Facebook may be more like the leading edge 
of what many more people may be facing in the years to come. 
William Gibson's "The future is here already, but not evenly 
distributed".

In any case, there is little point speculating about the future, 
and certainly none throwing up one's hands in woe at what seems 
to be slow adoption.  (If one compares oneself to the languages 
that have been most quickly adopted, one will always feel bad 
because that is the nature of comparison).

Strife is good, if one responds to it in a creative fashion.  One 
also should not be limited by what seem to be immediate 
constraints of lacking resources - budget, people etc.  First of 
all one comes up with a vision and plan to execute it, and 
somehow magically the path to get there emerges slowly out of the 
fog.  The amounts of money at stake to me really seem to be quite 
small in the bigger picture of things.  I cannot personally help 
today, but that may change in a few years, and I will if I can 
then.

I don't claim to have great technical expertise, but it does seem 
to me that - contrary to what might be inferred from the original 
post - D has made very substantial progress since it was 
launched.  The years have not been wasted, because it is a much 
better language that has kind of discovered further sources of 
beauty that were unexpected perhaps even by its creators.

I personally think the following would be very helpful

- better reference documentation.  I don't believe I lack the 
ability generally to figure things out, but the dlang.org library 
reference is far from being utterly clear if you don't start from 
a place of understanding the language and its concepts.  once you 
get the spirit of it, it all makes sense, but modern people don't 
tend to be distinguished by their grit and many will give up 
first.

- better worked examples.  python is outstanding for this.  you 
can figure out how to do anything by looking at someone else's 
example.  of course there isn't presently the support for this, 
and I recognize that one attracts a different kind of person when 
it becomes easy to learn a language.  but such is the price of 
maturity.

- agree about commercial support.  if you are using it at an 
enterprise level you want to know you can call someone and get it 
fixed because the price of not doing so may be incalculably high, 
and people don't necessarily trust themselves to be able to fix 
it.  entrepreneurs don't like uncertainty outside their home 
ground that they cannot pin down.

- some degree of strategic planning as regards use cases.  if 
someone owned the product they would be very interested and 
inquisitive about the nitty gritty details to see who is using it 
in different domains, why (and why don't people go for the 
competition), what the language does really well, and whether the 
problems perceived to be the biggest ones actually align with 
what end-users find important.

- also a degree of relating D's power to emerging trends in 
different sectors and some writing up of stories, case studies, 
interviews with end users.  this is a kind of community-building 
task and requires very different skills and emotional makeup to 
other aspects.  the obvious areas I might think about would be 
the financial sector (hedge funds, investment banks, financial 
exchanges, platforms etc), machine learning media analysis 
problems, economic analysis (much larger data sets than 
economists are used to, and the don't have the right tools for 
it), bioinformatics, processing logs for the internet of things, 
etc.

if you were running a business you would want there to be 
somebody you could call if you were a practitioner in 
bioinformatics and wanted to know the experience of people using 
D in that area.  I appreciate that's highly unrealistic for the 
time being, but it may be worth bearing in mind as something 
helpful for the distant future.

- finally, a bit better organisation.  Andrei spoke about needing 
more lieutenants.  Of course it's a no-brainer that he shouldn't 
be spending his time designing a conference web site.  But 
perhaps you could make it clearer by adding a section on the D 
wiki front page: "Interested in supporting D?  Here's how you can 
help".  It could then take you to a page that breaks down 
different areas to work on and tasks to be accomplished on each 
of them.  Then someone with time and inclination can see "oh - it 
would be great to have someone promote this event on Reddit".  
But as things stand, I imagine to a certain extent nobody knows 
what specifically they can do.

I am horribly disorganized, so I am not the right one here.


- and one could have a bit of patience and self-confidence.  
having high standards and wanting to achieve excellence does not 
mean one cannot recognize one cannot get there overnight and that 
it is more a matter of taking steps in the right direction, 
sustained over time.  I liked Andrei's attitude of brutal honesty 
in this respect.


More information about the Digitalmars-d mailing list