[sword-devel] New public git mirror of Sword SVN trunk and why

Jonathan Morgan jonmmorgan at gmail.com
Tue Dec 18 08:06:37 MST 2012


Hi Jaak,

On Tue, Dec 18, 2012 at 7:03 PM, Jaak Ristioja <jaak at ristioja.ee> wrote:

> ...
> I work as a C/C++ engineer, I have a MSc in Computer Science,
> specializing in programming language theory. At work, I refactor a lot
> of code, I read the ANSI C and C++03/C++11 standards (drafts) almost
> daily. I'd like to extensively refactor and optimize your code. Are
> you sure Sword could handle my stream of patches by email?
>

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).

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.

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.

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.

Jon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20121219/6337721a/attachment-0001.html>


More information about the sword-devel mailing list