Here's a quick Wikipedia software history for the curious (if there are any errors, please correct them...). When we were still using UseModWiki, there was a general agreement to move to a SQL-based system, but there wasn't a satisfactory option available. Magnus was the only one willing to give it a go, and so he put together the PHP/MySQL combo we're currently using. I believe Magnus is a biologist who does some coding, not a software engineer; his code worked but was not "engineered", so to speak. After the script was deployed, various developers stepped in to help develop the software. However, there were too many performance problems, and so Lee Danial Crocker took up the challenge and redesigned the whole thing. The new server running the new code will replace our current setup as soon as it is ready.
Besides me being a mere biologist:) IMHO part of the problem of "my" software is this: When I started, the aim was to replace the UseModWiki, and add new functions. But it was unclear which functions, and how to implement them. Some of the UseModWiki functions I implemented were removed (mainly the subpages). Some ideas for new functions were implemented rather early (e.g., namespaces), some later (e.g., orphans). Some became popular (Most Wanted), some were dropped (category functions, AutoWikification). So, the whole script was constantly under development, trying new things, removing others, altering, rewriting etc.
Lee's rewrite does not add many new features on the outside (except the image namespace). The idea was that, now we have a better idea of what the software should actually do, it can be coded more structured and technically sound (I confess, Lee's code looks *a lot* better than mine;) For example, Lee's software uses the database with a special field for each article that marks redirect pages. That is very useful to sort out redirect pages, as it is very fast. When I started my software, I didn't realize how important this distinction would become, and thus my script always makes MySQL compare the article text for something like "#REDIRECT %", which is quite inefficient when used a lot.
This is one of the reasons why Lee's software ("Phase III") currently handles >130.000 pages (>100.000 articles) on the test server, and still generates the Main Page in less than 0.9 seconds.
Magnus