D1 to be discontinued on December 31, 2012
Jakob Bornecrantz
wallbraker at gmail.com
Fri Dec 16 08:13:25 PST 2011
On Thursday, 15 December 2011 at 20:42:26 UTC, Jacob Carlborg
wrote:
> On 2011-12-15 20:41, Walter Bright wrote:
>> 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.
>
> Having ported the Mac OS X version of SWT from Java to D (and a
> couple of other code bases) I completely agree with everything
> above. You just have to turn your mind off and work like a
> machine when porting. It's extremely tempting do some small
> fixes here and there but restrain yourself, you'll thank
> yourself in the end.
Thanks for the tips!
Cheers, Jakob.
More information about the Digitalmars-d
mailing list