Timwi wrote:
Brion Vibber wrote:
But complete rewrites take time, and introduce
new and better bugs.
;) Phase III still has bugs that weren't in and lacks features that
were in phase II, a year after we put it online.
Better to refactor the existing code bit by bit until it looks
completely different, and naturally that way. :)
This sounds like you're opposed to another rewrite?
WorseIsBetter, my friend. While a rewrite can hypothetically be far
superior to the current code, it would take a while to get there, at the
expense of our present needs.
Switching from phase 2 to phase 3 set back the non-English installations
by months as existing development effort on unicode support and
translations got thrown away and new development effort was spent fixing
new bugs and restoring lost features. I'm not in a hurry to repeat that
experiment; it's not at all clear that the present code is better than
what we'd have if we'd spent the time fixing phase 2.
I don't think the current Phase 3 software can
elegantly/efficiently
be enhanced to handle several languages within one server/installation.
Then _make_ it elegant. :) Refactor the code so those global variables
aren't so global and language-specific things are kept properly isolated.
Handling multiple languages, unfortunately, just *isn't* elegant. Each
language will have its own rules for sort order, capitalization,
acceptable letters in links, how to munge search indexes to match
properly, etc. Turning the namespace-title doublet into a
language-namespace-title triplet and zealously keeping track of it may
be a useful direction to look at, or it may not.
-- brion vibber (brion @
pobox.com)