2009/7/3 Aryeh Gregor Simetrical+wikilist@gmail.com:
On Fri, Jul 3, 2009 at 4:28 PM, Apoc 2400apoc2400@gmail.com wrote:
The current template code is ugly, but it does work.
It uses up an enormous amount of CPU resources, and there have been some cases where it's spectacularly failed. Complicated templates have been responsible for bringing down sites more than once. If [[Michael Jackson]] had been written in simple wikitext with no templates, the rush to read it probably wouldn't have brought down Wikipedia, for instance -- it was only so severe because the page took many seconds to parse.
There have been previous incidents too. In one case I can't recall the specifics of, a sysadmin had to delete a template on eswiki after it crashed at least that site (I think also affecting other sites on the same cluster, can't recall).
And with the exception of the Jackson issue I understand those issues have been fixed. The jackson issue is somewhat questionable if it can be solved by a new code setup. Give people a new code setup and they will find a way to do unexpected things with that to. Remember the days when VFD made made a significant dent in server load?
Heh issue long predates wikipedia in any case. Back in the early 70s Southampton university created SOFOR because standard FORTRAN didn't compile fast enough.
Not to mention, of course, that there are plenty of people (especially programmers) who would be happy to help out with some template coding -- but don't because the code is so horrifying.
Programmers are not who we are primarily interested in with regards to template code. There are far fewer programmers than non programmers and they are more in demand by open source groups.
It's far more important that our template code be accessible to non programmers than it be something programmers like. It also needs to be accessible within a wikipedia environment something a traditional language is unlikely to be. Template code may look bad but in practice it's fairly resistant to people copying and pasting then playing with to get what they want.
No one is suggesting that ParserFunctions will be disabled. The new system will be added in parallel, and assuming it's really superior, it will replace ParserFunctions over time.
Questionable. Check out the templates on http://en.wikipedia.org/wiki/Matthew_Pinsent
Old code unless bot eliminated (msg:stub for example) tends not to die.