Vision for the D language - stabilizing complexity?

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 14 13:09:26 PDT 2016


On Thursday, 14 July 2016 at 19:17:06 UTC, Chris wrote:
> I certainly don't impose my view on others. The only reason I 
> was going ad hominem was to get you on board in a more 
> substantial manner than engaging in random discussions on the 
> forum.

That won't change anything. It's not a man-hour problem.


> D is open source. Would it be possible to provide a stripped 
> down version that satisfies you as a proof of concept?

I have no idea. I'm only familiar with the C++ code of DMD, and 
it was somewhat convoluted. When DMD transitioned to D it was 
stated that the codebase would be refactored heavily. It would 
make no sense to do anything until those who are intimate with 
the codebase are done with refactoring.

Yet, it probably would not change anything, would it? Why would 
anyone start on something like that without official backing?


> That's good to hear. Maybe you should go ahead anyway and see 
> if and how it could be integrated. Maybe it won't add another 
> layer of complexity.

It would, you would most likely need to add sub-typing 
constraints.


> You mean you won't give up until everybody has the same opinion 
> as you

That's not what I meant, and not what I said. I am looking for 
arguments, not opinions.

If you have a good argument, good, then I learn something. If 
not, maybe you learn something, if you are willing.

That simple.


> Maybe a more diplomatic approach would be better.

That's just words, I'm sorry, but when a position is taken that 
is not sustainable then it doesn't really improve anything to say 
«oh, you are a little bit right, except maybe not». The point is, 
if people are reasonably intelligent, they do pick up the 
argument even if they don't admit to it in the heat of the 
moment. So it is better to try to present a clean position. 
Muddying the water pretending that people are having a reasonable 
position doesn't really move anything, it just confirms the 
position they are holding. The point is not to win, or to be 
right, but to bring proper arguments forth, only when people do 
so will there be some hope of gaining insights.

Excuses such as «system programming is complex therefore D must 
be this complex» is not a position that should be accepted.

You have to get rid of this position if you want to get anywhere.


> Create facts. Provide a stripped down version of D and show 
> that it's better.

Completely unreasonable position. That would be more work than 
writing my own compiler since I don't have an intimate 
understanding of the current DMD codebase. If I had time to 
implement my own D compiler then I would just design my own 
language too... What you are expecting is out of proportions.

There is also no point in turning a sketch into a DIP that I know 
will be shot down because it will require sub-typing. With the 
current situation it would be quite reasonable to shoot it down 
for adding complexity. And I am also not willing to propose 
something that won't give the language a competitive edge... 
because that won't be a real improvement to status quo.

There are basically two options:

1. The people who said they were welcoming breaking changes need 
to push for a semantic cleanup of the core language so that D can 
continue to evolve.

2. Someone like Timon who appears to be trying to create a more 
formal model for D (if I haven't got it completely wrong) will 
have to find a clean core language underneath the current 
semantics that can express the current semantics (or most of it) 
and also be extended in desirable directions.

The only thing I can do is support (1).



More information about the Digitalmars-d mailing list