Hi Jaak,<br><br><div class="gmail_quote">On Tue, Dec 18, 2012 at 7:03 PM, Jaak Ristioja <span dir="ltr"><<a href="mailto:jaak@ristioja.ee" target="_blank">jaak@ristioja.ee</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>...<br></div>
I work as a C/C++ engineer, I have a MSc in Computer Science,<br>
specializing in programming language theory. At work, I refactor a lot<br>
of code, I read the ANSI C and C++03/C++11 standards (drafts) almost<br>
daily. I'd like to extensively refactor and optimize your code. Are<br>
you sure Sword could handle my stream of patches by email?<br></blockquote><div><br>As a front-end developer I'd be concerned about this. I have been involved in a number of big rewrites over the years, and while they always seem good at the start I cannot remember one that actually achieved what was meant to be achieved (except one where the original code didn't work at all, so the rewrite was basically a "from scratch" implementation).<br>
<br>It is not clear to me whether the changes you suggest would substantially change the interfaces. If they did, I would be even more concerned, as it means everyone else (probably not familiar with the change) has to play catch up, with unknown impact on performance, cross-compiler compatibility, ... If there are significant design changes, it seems to me that the affected party at the design level has to extend beyond Troy to all frontend developers interested, prejudiced or conservative.<br>
<br>Again, speaking in generalisations, it is very easy to think that "my" code is easy to understand and "your" code is hard to understand. I know Troy has expressed difficulty understanding BibleTime code, and I personally would probably have some difficulty understanding both SWORD code and BibleTime code. My main concern would be that a large number of changes come that make perfect sense to you or to BibleTime, but are as bad or worse for other front ends.<br>
<br>This is not necessarily an argument for no change - but it is definitely an argument for extreme skepticism about changes to "improve" code. I have seen many examples that work, and many that don't.<br>
<br>Jon<br></div></div>