tooling quality and some random rant

gölgeliyele usuldan at gmail.com
Sun Feb 13 11:20:29 PST 2011


Walter Bright <newshound2 at digitalmars.com> wrote:
 
> golgeliyele wrote:
>> 1. Difficult to understand linker errors due to missing main():
>> ...
> 
> The problem is the main() can come from a library, or some other .obj file 
> handed to the compiler that the compiler doesn't look inside. It's a very 
> flexible way to build things, and trying to impose more order on that will 
> surely wind up with complaints from some developers.
 
I would like to question this. Is there a D project where the technique of 
putting main() into a library has proved useful? I used this in a C++ project of 
mine, but I have regretted that already. I can imagine having a compiler option 
to avoid the pre-link check for main(), but I would suggest not even having 
that. Of course unless we get to know what those complaints you mentioned are :)

>> 2. dmd compiler's command line options:
>>   This is mostly an esthetic issue. However, it is like the entrance to your 
house. People who are not sure about entering in
>> care about what it looks like from the outside. If Walter is willing, I can 
work on a command line options interface proposal
>> that would keep backwards compatibility with the existing options. This would 
enable a staged transition. Would there be
>> an interest in this?
> 
> A proposal would be nice. But please keep in mind that people often view their 
> build systems / makefiles as black boxes, and breaking them with incompatible 
> changes can be extremely annoying.

Thanks for being open. I'll work on this.

>> 3. Incremental compilation (or lack of it)
>> ...
> 
> I stopped bothering posting numbers because nobody believed them. I was even 
> once accused of "sabotaging" my own C++ compiler to make dmd look better.
> 
> dmc++ is, by far, the fastest C++ compiler available. The people who use it 
know 
> that and like it a lot. The people who don't use it just assume I'm lying 
about 
> the speed, and I get tired of being accused of such.

I think what we need here is numbers from a project that everyone has access to. 
What is the largest D project right now? Can we get numbers on that? How much 
time does it take to compile that project after a change (assuming we are 
feeding all .d files at once)?

>>   - If this claim is false, then we should look at enhancing the tooling with 
things like xfBuild. Perhaps that kind of
>> ...
> 
> In the worst case, you are no worse off with .di files than with C++ .h files.

:) .h files is something I want to forget forever. 
 



More information about the Digitalmars-d mailing list