On 2013-02-28 20:28, Arlen wrote:

Having ported Boost.units to D, I can attest to this being a lot of
work.  I did try translating first and then refactoring the code, but
that did not go well, mainly because of all the tricks and hacks
employed when doing template meta-programming in C++ that did not
translate well at all to D.  With my first attempt I pretty much ended
up with C++ code that was written in D, and that's not what I wanted.
So I had to start over, refactoring and writing D code in D as I went.
The problem with refactoring is that once you refactor a piece, chances
are that you will need to refactor everything that depends on the code
that was refactored, and that starts a domino effect.

That sounds more like one needs to figure out the intent of the code and not just look at the exact syntax. An easy example. C++ supports multiple inheritance, D does not. Trying to emulate that will most likely cause a lot of problem. But the use case in C++ could just be interfaces.

--
/Jacob Carlborg

Reply via email to