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