D is dead (was: Dicebot on leaving D: It is anarchy driven development in all its glory.)

Chris wendlec at tcd.ie
Mon Sep 3 15:23:12 UTC 2018


On Monday, 3 September 2018 at 14:26:46 UTC, Laeeth Isharc wrote:
> On Monday, 3 September 2018 at 11:32:42 UTC, Chris wrote:

>> [...]

>
> D has never been about smooth experiences!  That's a commercial 
> benefit if you think that hormesis brings benefits and you are 
> not looking for programmers of the trained-monkey, strap a few 
> APIs together type.

It's high time it got a bit smoother if you want people to use 
it. Is everybody who doesn't use cli and knows all compiler flags 
by heart a coding monkey? Has it ever occurred to you that people 
want a smooth experience so they can concentrate on a job and get 
done with it?

> It's a question of developmental stages too.  I was a late 
> developer as a person, but then I continued to develop into my 
> 30s and perhaps 40s too.  For human beings there are different 
> kinds of people and implicit life strategies and natural fits 
> with niches.  Some are quick to grow up, but stop developing 
> sooner and others mature more slowly but this process may 
> continue long after others are done.  I'm not saying a computer 
> language is like a human being, but it is in part an organic 
> phenomenon and social institutions develop according to their 
> own logic and rhythm in my experience of studying them.

This is not a yoga class.

> D is a late developer, and I think that's because it is a 
> tremendously ambitious language.  What use case is D intended 
> to target?  Well it's not like that - it's a general purpose 
> programming language at a time when people have given up on 
> that idea and think that it simply must be that you pick one 
> tool for the job and couldn't possibly have a tool that does 
> many different kind of things reasonably well.  So the kind of 
> use cases D is suited for depends much more on the capabilities 
> and virtues of the people using it than is the case for other 
> languages.  (In truth in a negative sense that's true also of 
> other languages - Go was designed to be easy to learn and to 
> use for people who didn't have much programming experience).

It's not D's usefulness I'm concerned with, it can do a lot of 
things. It's just a bit awkward to use in production and there's 
no reason why things should still be like in 2010.


>
>> [...]
>
> Sure.  I would agree with what you write but say that it's a 
> case of capabilities and hormesis too sometime.  Nassim Taleb 
> told a story about checking into a hotel and seeing a guy in a 
> suit tip the bellboy to carry his bags upstairs.  Later on he 
> saw the same guy in a gym lifting weights (and I think on a 
> Nautilus-type machine which is much inferior to free weights).  
> So any tool can make you lazy, and yet any tool - no matter how 
> shiny, polished, and expensive - sometimes will break and then 
> if you are afraid of the command line or just very out of 
> practice you can end up utterly helpless.  It's a matter of 
> balance to be sure.

Funny story, but this is not the place for esoteric 
contemplations.

>> [...]
>
> I didn't find the experience last time I tried to be worse than 
> just going through the Android C/C++ native SDK instructions.  
> The first time I tried it was quite tough as I struggled to 
> even build the compiler as the instructions weren't quite 
> right.  I disagree about it not being maintainable as it's much 
> easier to keep something you understand and can reason about 
> working, but it's harder to use in the beginning, for sure.
>
> I think that the point for Android and ARM is not the build 
> process but integration with Java APIs.  If you can't figure 
> out a build process that when I tried it mostly just worked and 
> that doesn't have too much dark magic, I fear for how easy you 
> are going to find JNI.  (JNI is fine, but building a D project 
> on Android requires less demanding technical capabilities).

I know JNI, I've connected D with Java (and vice versa) a few 
times.

>> [...]
>
> You had one or two people who stubbornly devoted considerable 
> parts of their lives to getting D to build on Android.  And 
> instead of saying what a remarkable achievement, and thank you 
> so much for this work, and this is very cool but we really 
> should consider in a constructive manner how to make this easy 
> to use, you are saying I want more!  Fair enough - it's a free 
> society, although I don't think you were ever promised that the 
> Android experience would be something different from what it is.

I never gave out about the guys (I think one of them is Joakim) 
who made it possible in the end, because without their efforts we 
wouldn't have anything. I'm just surprised they don't get more 
full time support to wrap it up nicely.

> But I really am not surprised that people burn out doing open 
> source.  It's very odd to see, because I came back to this 
> world after a long break.  My first 'open source' contribution 
> was to part of Tom Jenning's work on FidoNet in 1989 - an 
> improvement to some node routing table, and in those days 
> people used to be pretty appreciative.  Same thing with Chuck 
> Forsberg who invented ZModem and came to that same conference - 
> people then didn't talk about all the deficiencies but they 
> understood this was a labour of love and the kind of attitude 
> one sees so commonly today I couldn't have imagined.
>
>> [...]
>
> Dude - it's open-source and a community-developed language with 
> some - and increasing - commercial support.  I'm not saying 
> that the things you ask for might not be valuable things.  But 
> I'm curious to know from a rational means-ends perspective how 
> you think your chosen means will be helpful in achieving your 
> desired ends.  Do you think that complaining without taking the 
> smallest step towards making things a reality (if you have done 
> so, then I apologise - but your message would have been more 
> effective had you articulated what those steps were) will 
> change things?

The default answer: it's open source therefore it's 
under-resourced.

>> [...]
>
> Gesellschaft and gemeinschaft, and open-source is something 
> new.  One can pick only from the options available and those 
> one can imaginatively create.  Suppose we made you dictator of 
> D, but subject to the same constraints that currently exist.  
> What steps would you take to achieve the ends you desire?
>
>> [...]
>
> Don't use D if you don't want to.  Almost certainly it's not 
> suitable for everyone.  But the opposite of love is 
> indifference.
>  Somehow you still choose to spend your time here for now.  And 
> since that's the case, I strongly encourage you to think about 
> what little baby steps in concrete ways you can take to be the 
> change you wish to become.
>
> I just spoke with Dicebot about work stuff.  He incidentally 
> mentioned what I said before based on my impressions.  The 
> people doing work with a language have better things to do than 
> spend a lot of time on forums.  And I think in open source you 
> earn the right to be listened to by doing work of some kind.  
> He said (which I knew already) it was an old post he didn't put 
> up in the end - somebody discovered it in his repo.  He is 
> working fulltime as a consultant with me for Symmetry and is 
> writing D as part of that role.  I don't think that indicates 
> he didn't mean his criticisms, and maybe one could learn from 
> those.  But a whole thread triggered by this is quite 
> entertaining.

So the essence of your message is what I've been hearing for 
years.

1 It's open source, so it  cannot be smooth / reliable / 
streamlined / consistent.
2. If you complain and want any of the features listed in 1. 
you're probably just a well-trained monkey. D is only for the 
chosen few. And maybe that was true in 2010. But it's 2018 and D 
is losing the edge it had on other languages.
3. Shame anyone who complains, ungrateful little brats!

But it's my own fault. When the D Foundation was founded I really 
thought that we would soon have something that resembles a good 
product. I didn't expect the endless discussions about features, 
and the breakages etc. to continue like back in the day. I 
thought more effort would be put into packaging D into a good 
product. Mea maxima culpa.


More information about the Digitalmars-d mailing list