Replacing Make for the DMD build

Mike B Johnson via Digitalmars-d digitalmars-d at puremagic.com
Sun Jun 18 02:49:02 PDT 2017


On Saturday, 17 June 2017 at 19:20:54 UTC, Walter Bright wrote:
> On 6/15/2017 11:30 PM, Russel Winder via Digitalmars-d wrote:
>> A direct question to Walter and Andrei really.
>> 
>> If someone, let us say Russel Winder, create a CMake/Ninja 
>> and/or
>> Meson/Ninja build for DMD, is there any chance of it being 
>> allowed to
>> replace the Make system?
>> 
>> If the answer is no, then Russel will obviously not waste his 
>> time
>> doing something that will not be accepted.
>
> It's highly unlikely it would be accepted:
>
> 1. make is ubiquitous. It's not something we have to scrounge 
> to find on platform X, it's already there. People already are 
> familiar with it (even if they hate it).
>
> 2. we're in the D business, not the project build business. 
> It's easier to get past that "first 5 minutes" if everything 
> about D other than D itself is familiar and conventional.
>
> 3. to steal from Churchill, `make` is the worst form of build 
> system except for all the others
>
> 4. much as I dislike make, the time spent wrestling with it is 
> a vanishingly tiny slice of time compared to what spent on the 
> rest of D. Getting that time slice to zero will have no effect 
> on productivity, and I'm not convinced that a newer build 
> system will even reduce that time slice at all (see point 5).
>
> 5. D has a more complex build process than it should. Using 
> another build system won't make that complexity go away.
>
> 6. unlike the choice to use github, there is no clear winner in 
> the `make` category of build tools. If the industry has moved 
> on from make to X, then we should, too. But it has not.
>
> 7. the current makefiles for DMD suffer from over-engineering, 
> i.e. making simple things complicated and excessively using 
> obscure features of make. This isn't really the fault of make.

These reasons are terrible.

1. So! Just because something is "universal" doesn't mean it is 
good. Look at any major religion. Usually those that believe in 
it tend to use as proof that there are so many other believers.

2. If you are in the D business you are in the make business.

3. Which, you are saying the exact same as make is the best. Yet, 
those others are just make clones that are not any worse(as they 
make it better). It is a contradictory argument.

4. You are not taking in to account everyone elses time. Sure, 
you might only save a penny, but if 7B people saved a penny, that 
would be 70 million dollars. That is not an insignificant amount.

5. It might, how do you know, have you tried?

6. This is not logical, they haven't moved precisely because they 
are thinking like you are. "If X hasn't moved from Y then why 
should we" everyone exclaims.

7. Then come up with something better instead of making 
excuses... which is what it all boils down to. You could have 
simply said, in a more logical way: "I do not want to spent the 
time to create/switch to something new and better because it is 
not worth it to me"... as that is all you have said(obfuscating 
in to a 7 point bullet list of meaningless il-arguments doesn't 
change that).


My suggestion is, that, if someone else wants to "waste" their 
time creating something that is new and better then they should 
be "allowed" and "supported" in doing so with the only caveat 
that they must prove, at the end of the day, that it is better. 
If it is not, then they "wasted" their time. If it is, then 
everyone is happier and more productive. The question is, are we 
fighting over pennies or millions?




More information about the Digitalmars-d mailing list