"Tels" wrote:
[snip]
I can see it now:
* After {{{qif}}, somebody implements loops.
Very very unlikely. Would need anything like jumping to some label.
If something is ridiculous, then it's this.
* Soon lexial scoping, the switch statement and
subroutines follow.
Switch is already there: [[en:Template:Switch]].
Subroutines also (quite for a while :-).
* 5 days later the wiki-template system is
turing-complete.
Ouch!
* 2 days later a careless placed "{"
triggers an endless loop and
brings wikipedia down for 2 3/4 hours, until the bug is fixed.
Your confidence in WikiMedia software seems not to be that huge.
* 1 hour later JoeCleverProgrammer posts his
brainfuck-interpreter,
done entirely with "clever" templates in wikitext.
* a week later the first page consisting only of curly braces, the
pipe symbol, spaces and newlines is spotted. When viewed in a
browser, it renders as "kilroy was here", due to a clever abuse of
templates, variables, bugs and some unrelated accident involving a
pound of butter, a slippery server room floor and an unfortunately
placed button.
And then all aficionados of qif are burnt at the stake after
a furious witch-hunt.
Joking aside, IMHO, if that sort of (ab)use of
templates continues,
soon the only people qualified to edit pages will be programmers. The
wikisyntax is a success because it is so easy and
maintainable/readable by mere humans. Crafting "clever" systems on
top of it will merely make normal humans go away as they will not be
able to understand this stuff even after staring on the curly mess
for an hour.
qif is not a curly mess.
No. All that hot stuff is packaged securely inside if/qif. And there are
enough gurus that understand this and can maintain it. It's already very
stable. And using if/qif (especially qif) does not require a MSc in brainfuck.
And it will be implemented in the template syntax anyway, sooner or later.
Case in point is that regular contributors to smaller
wikis already
struggle with the table syntax or even simple templates. Variable
substitution and conditional template inclusion will break their
little minds.
The wast majority of users will never touch or even look at those templates
that use if/qif. They just use [[en:template:book reference]] (or whatever).
And nobody will ever be pressed to use if/qif. It's an add-on, not a replacement.
--
Adrian
[[en:User:Adrian Buehlmann]]