D1 to be discontinued on December 31, 2012

Walter Bright newshound2 at digitalmars.com
Thu Dec 15 11:41:05 PST 2011


On 12/15/2011 9:49 AM, Robert Clipsham wrote:
> * Do it all in one go, and DO NOT GET DISTRACTED. The moment you start trying to
> clean up code as well as finish porting it you introduce lots of issues

I've done many projects that translated code from one language to another, some 
were pretty large. The One Big Most Important Rule is:


!!!! DO NOT REFACTOR/ENHANCE/IMPROVE/FIX/CLEANUP THE CODE WHILE TRANSLATING !!!!


I know how tempting it is. It's incredibly tempting. It's a huge mistake.

The method that works is to turn your brain off, and simply translate. Strive 
for a 1:1 correspondence between the original code and the translated code. Do 
not divert from this until after your translation is done, and it behaves 
identically to the original.

The reason is that the translated version inevitably will not behave like the 
original. A lot of things will be broken. If you did a 1:1 translation, you can 
instrument both, find where the translation diverges, and fix it in a fairly 
quick and straightforward manner. If you changed the way it is organized or 
works, then you have no idea if it is a translation error or your changes broke 
it, and you have a much, much harder time fixing it.


More information about the Digitalmars-d mailing list