"dsimcha" <dsim...@yahoo.com> wrote in message news:i4pf6d$15e...@digitalmars.com... > == Quote from Denis Koroskin (2kor...@gmail.com)'s article >> dolive Wrote: >> > thanksgreat work ! >> > make an all out effort ! >> I've implemented 127 missing methods (958 down to 831) yesterday. >> druntime compiles for a long time now (producing exactly the same >> binaries that > DMD produces) and I hope that Phobos will be there soon enough. >> I'd say it is 80% complete but still missing a few key components. >> I have only tested it on Win32, but Linux might work, too (the was some >> work > done to support it). >> Keep in mind that it is based on DMD2.032 which is almost a year old. It >> is also > D2-only ATM but I believe D1 support can be added with little effort since > a lot > of the code is shared between the two versions with differences being > versioned > out. I tried not to break anything as much as I could. >> I'll report more when I manage to compile Phobos entirely. > > So when ddmd finally works fully, is Walter going to ditch the C++ > codebase and > base the official DMD implementation on ddmd? This would be great for a > few reasons: > > 1. The PR benefits of having a self-hosting D compiler. > > 2. If Walter is eating his own dogfood, it will give him a better feel > for what > bugs are high vs. low priority. > > 3. If the productivity of D is higher than C++ by as much as we think it > is, DMD > should progress faster after the switch is made. I have my doubts, > though, about > the productivity benefits of D when you throw legacy code translated from > old-school C++ into the mix. > > 4. I probably speak for a lot of people on this one, and one reason why I > don't > contribute to DMD even though I contribute to Phobos is because DMD is in > C++ and > I don't know C++ thoroughly. I know the basic syntax and semantics of the > language, but I'm not so familiar with the idioms, conventions, gotchas > and corner > cases. I'd be a lot more inclined to help out with DMD if it were written > in D.
All good points, but one problem with moving DMD's official source from C++ to D is it would make it difficult to port DMD to new platforms. Nearly every platform under then sun has a C++ compiler, but not so much for D compilers. Once a good, reliable, well-maintained, up-to-date C- or C++-producing backend for D is available (ideally for DMD itself, as I don't think Walter would want DMD's portability to be reliant on a third-party compiler like LDC or GDC), then that would be the time for DMD to make the switch.