2009/7/2 Carcharoth carcharothwp@googlemail.com:
Can someone explain in layman's terms what this programming language thing is and how it relates to templates?
OK. Open a complicated template. Let's use {{infobox actor}} here. Look at the wikitext, and you'll see a sea of goop like this:
|image = {{#if:{{{image|}}}|[[File:{{{image|}}}|{{#if:{{{image_size|{{{imagesize|}}}}}}|{{{image_size|{{{imagesize|}}}}}}|220px}}]]}}
That horrible collection of braces is actually the ParserFunctions programming language:
http://www.mediawiki.org/wiki/Extension:ParserFunctions
It lets you make a template that is actually a program to produce nice results from relatively simple template parameters. The language itself is documented here:
http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions
It was created in a completely ad-hoc manner with little planning. So it's (a) all but unreadable (b) hard to program (c) hard to optimise on the server end (where these programs actually run).
So the discussion is about picking a new programming language that wasn't just made up as someone went along. This will have the benefits of allowing more people to get into template programming. This assists the encyclopedia as it lets us make nice templates that do useful things without non-geeks having to understand all the plumbing, it lets geeks do the plumbing behind such things better, and it lets WMF sysadmins run the servers without them melting quite as often.
- d.