It is the year 2020: why should I use / learn D?
Laeeth Isharc
laeeth at kaleidic.io
Thu Nov 22 22:04:36 UTC 2018
On Thursday, 22 November 2018 at 11:14:54 UTC, Chris wrote:
> On Thursday, 22 November 2018 at 04:07:32 UTC, Laeeth Isharc
> wrote:
>
> [snip]
>
> By the way, you keep mentioning that you use D for your own
> internal stuff, and as far as I can see a lot of companies that
> use D do the same. They have their own in-house ecosystem, and
> that's fine. Of course, for this kind of usage D might be OK
> (apart from the facepalm flaws it still has) - or any language
> for that matter.
>
> However, a lot of IT companies (small, medium and big) also
> have to adapt to the market in terms of third party products
> like Android and iOS and other technologies (including those
> that do not yet exist). Once that's the case, D is one of the
> worst choices possible.
D doesn't have the best GUI libraries, that's quite true. JNI is
not that bad so if you wanted everything but the front end in D
would it be so tough? You might be right about the situation on
ios as I haven't heard of people doing much there in D - last I
heard the hard work was done but the last stage - something
relating to bitcode if I recall right.
> Everything takes years
True. Why does it bother you? Did somebody suggest it would be
otherwise? If one puts some energy behind making something happen
it's not that bad, I think. Eg autowrap for JNI shouldn't take
more than a couple of months of work to be mostly useful I think.
> anything that is not directly related to (some specific
> features of) the language is treated as lowest priority
Who is treating, and what is this word priority I keep hearing.
It's open source, ordered anarchy. It's hard enough persuading a
creative person that you pay to do something he doesn't want to
do. How do you suppose it is that Walter and Andrei can assign
priorities more to your liking and make people work on what you
would wish? They cannot.
I think you're applying rules from your work domain to an
environment where they don't apply. That's simply not how
volunteer open source works.
If there's a single corporate backer of course it's different if
by solving their problems they solve yours too or if can
influence them. That's intrinsically not the kind of community D
is, so if you want to achieve a generative result here then your
means do not suit your ends.
, and a small or medium
> sized company may not be able "to roll its own" all the time,
Indeed, not unless they have fairly talented and creative
programmers and the management is technical.
Most companies probabily shouldn't introduce D in a top down way.
They're just not cut out for it.
Elsewhere I called D a secret weapon that is only available to
the few (because you have to have the culture, capabilities and
will to be willing to trade off less easy today for more simple
tomorrow).
That's okay, isn't it? It's a big wide world and I think there
won't be fewer people writing native code in a decade but rather
more.
You don't need to appeal to everyone if you are the challenger
and it is pointless to do so.
> especially if everything is still raw and has a lot of loose
> ends as in the case of D. And you know what, customers don't
> care about your problems. They simply go somewhere else, if you
> can't deliver.
Yes. For example if you have a storage system that is not
performant or does not add features sufficiently quickly you will
lose customers. Its tough having customers but I think its a
matter of picking your poison after deciding what's important to
you. If you don't want to use D, I wouldn't dream of trying to
change your mind. Maybe it's not for you, or not for you right
now.
But really one must consider one's ends and pick means to serve
those. The means of complaining on the forum doesn't actually
accomplish anything. If there's something you want in D that you
would use, then probably the most effective route will be to make
a small beginning yourself and try to persuade others to be
involved. Or you could just pay for it yourself, or try to
persuade others to club together to pay for it.
> So what you need is a language that provides adaptability out
> of the box.
D notably is adaptable. It just doesn't come ready adapted.
>this is why a lot of new languages
> invest in exactly this
Where do you think the money will come from to invest, exactly?
Grumble enough on the forum until Google decide to sponsor the
language and invest in the things you want?
I don't think it works like that.
Being an entrepreneur is quite difficult. How does one create
something from nothing?
In my experience when you are ready for it you figure out where
you want to go, don't worry too much if your goal seems audacious
or unrealistic, and make a humble little start and persist,
correcting course along the way as new information arrives.
I think that's the way in general to push the world in a
direction you think would be a good one. An honest, thought
through proposal by far beats complaining. And working code
beats a proposal.
>Only in
> this way they will be adopted by users.
That's not how it works for a language like D. Read the
innovators dilemma by Christensen as well as Thiel Zero to One.
Your "cosmos" is D and
> your own company. But most other people have to cater for third
> party software as well and adapt to an ever changing market.
I don't have time to look but I'm curious. My guess would be
most software is written within the enterprise for internal use
and then add software as a service and I should think that's a
very significant chunk of the total market. So maybe D isn't
right for some users or not sufficiently mature in ecosystem and
tooling right now. Okay. Do you find that especially surprising?
> I think this is a fact you're not really aware of. You can talk
> all you like about the cosmos and the universe, but all you see
> are your own needs for which D might be fine. But reality is
> different for other people.
My impression is the opposite. I don't doubt that D isn't right
for many, but you seem to be suggesting that what you feel is
true for you must inevitably be true for the whole world. I
think that's contradicted by observed experience.
And as far as my world goes, finance is quite a decent employer
of programmers and market for technology.
If you're the challenger you really don't need to appeal to
everyone to grow. You just need to increase awareness and appeal
a bit to people who are already poised on the edge.
It's better to not be taken seriously if you are the challenger
and that camouflage may well be a matter of survival. You do not
want the dominant players to take you seriously and try to
imitate your advantages or to fight dirty until you are more than
ready for it.
Not that it's calculated, but it's how natural waves of adoption
unfold.
More information about the Digitalmars-d
mailing list