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.
