It is the year 2020: why should I use / learn D?

Laeeth Isharc laeeth at kaleidic.io
Thu Nov 22 02:56:14 UTC 2018


On Wednesday, 21 November 2018 at 01:09:30 UTC, NoMoreBugs wrote:
> On Tuesday, 20 November 2018 at 23:50:56 UTC, Laeeth Isharc 
> wrote:
>>
>> Evidently you don't see yourself as part of the D community 
>> from your phrasing.  That's an assertion and we are all 
>> entitled to our opinions but to be persuasive reasoned 
>> arguments are often more effective. What you say is the 
>> opposite of my experience as well as basic commercial common 
>> sense.
>>
>
> I understand the psychological basis of that assertion and the 
> reaction you want to get from those who read it (to 
> dismiss/ignore me because I'm an outsider)

I'm just observing what is implied by your words.
.
>
> But your logic and your assertion is misguided.
>
> I don't see myself as a part of any 'language' community.

There we go.  So we agree about your self - conception. Its a 
positive statement not a normative one.

> This is where we seem to differ, a lot.
>
> A programming language for me is a tool to an end.
>
> Its serves me. I do not serve it - or its community.

Fair enough.  We each have different kinds of relationships with 
different entities in the world.  For some people they don't want 
a relationship with their bookstore. Others in different contexts 
may feel differently.  And it's the same with the other users and 
contributors to a language.  Perfect voluntarist society and each 
may choose as she wishes.  This being said, one cannot also avoid 
considering that different choices may bring different 
consequences.

> Its just a tool - that all it is.
>
> You don't build communities around a 'hammer' or a 'spanner'.

Because these are rather mature sorts of tools that don't benefit 
much from user engagement in their development and people who use 
hammers really don't have that much in common and don't have much 
to say to each other.

On the other hand there are certainly communities around open 
source machine tools.  These are fairly simple things compared to 
D.

> It's not unreasonable that I give feedback on how that tool can 
> better serve me.

Indeed.  And as I say, we can choose how we wish to engage with 
different entities in the world but choices bring consequences.

And most likely your attitude will lead to polite engagement to 
the extent you say something insightful or interesting but to the 
extent you are just insisting the world adapt itself to what you 
personally want, the most likely ultimate consequence in time is 
that people politely ignore you.

In my experience the best way to get value is to give value. Feel 
free to ignore this view, but I really wonder why you think 
others would want to do things without making it interesting in 
some way for them to do so.


> We also seem to differ on what a 'contributor' is.
I use the word in the ordinary English sense.  Did you contribute 
to Phobos, dmd or code.dlang.org? I'm really curious.  If not, 
how is it that you believe you contribute?

> To me, the focus is always on the user, and their needs, not on 
> the language and its needs. I think our views really differ 
> here too.

I can see that you feel people should be more focused on what you 
want and what you believe maybe others want.  That's only human, 
but you know to persuade others you need ethos, pathos or logos. 
The only way you can achieve anything in open source is via 
persuasion.

People have quite different needs.  I'm a reasonable and growing 
commercial user of D.  I wouldn't dream of telling anyone here D 
needs to do this or that to satisfy its users because who am I to 
know for sure what other users might find valuable and because 
its a terribly ineffective way to persuade people. It's by far 
easier to start with what's concrete and explain what one is 
trying to do and how the absence of some feature is holding one 
back.

I personally see myself as being part of a language community 
even though I am involved in quite a tough and hard-nosed 
business.  Or I should say because.  At one level, I like to be 
involved, and at another I've found it profitable in life to do 
the things I like to do, because emotions, well-trained, are a 
guidance system.  And turns out its also commercially smart to do 
so although I never really planned for that.

Ethos, pathos and logos.  If people aren't as engaged with what 
you want as you wish, it's just possible that your chosen means 
don't suit your ends.

> I also believe the language designer(s) are ultimately 
> responsible for the mistakes that programmers continually make 
> (and yes, here I'm paraphrasing someone who is well known and 
> well respected in the computer science field).

> I don't want a faulty hammer or spanner in my toolbox.

Wow, who would want to be a language designer. Did you try 
returning Visual Studio to Microsoft on the grounds it had bugs 
and somebody made some terrible decisions some years back with 
C++ and even decades later these most basic mistakes have never 
been fixed even though Microsoft sponsors talks about all the 
problems created by them.  Describing a programming language as 
faulty is not even wrong.

>> A very small number of minds working closely together can be 
>> creative and design something beautiful, or have a chance to 
>> do so.  A committee, notoriously, is a machine for suppressing 
>> creativity.
>
> The proof of your argument needs evidence.

No it doesn't because I'm not making an argument, just sharing 
some insights that you may do with as you will. One may lead a 
horse-puppet to water, but not make it drink.

> D has had 10 years (since D2) of 'creativity time', and much 
> longer than that in reality.

Well yes going back decades to BCPL and before.  But I really 
don't see your point because I think your categories are wrong.  
I don't think languages have creativity time.  But they develop 
at their own rate and the pace at which other quite different 
languages develop is an interesting piece of information but I 
really think one must make an explicit argument rather than be 
able to just assume that things should all develop at the same 
pace.  There is no reason whatsoever that should be true.

> Look at what the C++ committee has been able to accomplish in 
> the same amount of time.

Haha.  That's very entertaining.  Where are modules? Ctfe and 
static if?  Deprecation of mistakes with a schedule for removing 
them?


>
> I don't object to creative endeavors. It's what makes life 
> worthwhile.
>
> But after 18 years, is that what D (still) is?
>
> Or is it a serious tool that serious programmers should take 
> seriously.

There are two kinds of people - those who think the world is 
characterised by black and white dichotomies, and everyone else, 
haha.  I think you would need to make an argument for why these 
two categories are opposed,but you have yet to do so.

Yes, contributing to D can be a creative endeavour, if that's 
what you want.  Yes, D is a tool that you can build a serious 
business on, if that's what you want, and some people did want 
that and have done so.  It's rather sad to see someone thinking 
that a serious business can't be creative - don't tell anyone, 
but it really can you know.

I'm presuming you have studied the commercial uses of D that are 
in the public domain and that you will come back with something 
intelligent otherwise we are both wasting each others time, since 
no serious conversation is possible with someone oblivious to 
reality.




More information about the Digitalmars-d mailing list