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?