Let's give a honor to dead giants!

Roman D. Boiko rb at d-coding.com
Thu Apr 19 23:56:27 PDT 2012


On Friday, 20 April 2012 at 02:50:39 UTC, Ary Manzana wrote:
> Also, the developers of those projects don't seem to have 
> experience in writing compilers so the code is not very nice 
> (though I saw a visitor in DCT).

I don't have any prior experience with compilers. I doubt that 
there are many people who do *and* are willing to spend their 
time writing another (one more) D compiler. Resources on compiler 
design are widely available and it is actually more difficult to 
decide what *not* to do that to find [controversial] information 
how to do something "right". Actually implementing a compiler is 
more difficult than learning how to do it.

> People suggest me to send pull requests or open issues to SDC, 
> but if the main design has a big flaw it's better to start from 
> scratch than to change the whole code.

It's up to you to start from scratch or join some team :) I would 
not recommend spending time on it at all, unless you are really 
interested. I don't even know whether my own decision to do start 
from scratch was reasonable: there are too few differences 
between purpose of SDC and DCT (except that SDC is far more 
advanced currently). Possibly some time I will find it easier to 
reuse a lot of SDC code than to write my own. When I found SDC, I 
already knew what I want to do and how will I do it. I was amazed 
to see that some other people already made the same choices as I 
did in so many aspects.

Although I currently believe that starting from scratch was 
better for me, by doing this I have literally thrown away a lot 
of effort that other people already spent to make their compilers 
actually work. (Bug-fix them, design, fine-tune, etc.)

If you would like to get more results *in total* over the period 
of time you are going to spend on this, it is likely that you 
will get accomplished it better if you join the SDC team or use 
SDC as basis. Simply because you will not spend another two years 
making mistakes (arguably, some of those will be different from 
SDC or DCT or DMD or whatever other compiler's problems).

Please don't take my claims as if I thought I know your situation 
or have enough experience to give advice. This message is merely 
a sequence of random thoughts on the subject which are applicable 
to myself and even for myself I didn't decide to follow them.


More information about the Digitalmars-d mailing list