> -----Original Message-----
> From: wikitech-l-boun...@lists.wikimedia.org 
> [mailto:wikitech-l-boun...@lists.wikimedia.org] On Behalf Of 
> Brion Vibber
> Sent: 30 June 2009 17:17
> To: Wikimedia developers
> Subject: [Wikitech-l] On templates and programming languages
> 
> As many folks have noted, our current templating system works 
> ok for simple things, but doesn't scale well -- even 
> moderately complex conditionals or text-munging will quickly 
> turn your template source into what appears to be line noise.
> 
> And we all thought Perl was bad! ;)
> 
> There's been talk of Lua as an embedded templating language 
> for a while, and there's even an extension implementation.
> 
> One advantage of Lua over other languages is that its 
> implementation is optimized for use as an embedded language, 
> and it looks kind of pretty.
> 
> An _inherent_ disadvantage is that it's a fairly rarely-used 
> language, so still requires special learning on potential 
> template programmers' part.
> 
> An _implementation_ disadvantage is that it currently is 
> dependent on an external Lua binary installation -- something 
> that probably won't be present on third-party installs, 
> meaning Lua templates couldn't be easily copied to 
> non-Wikimedia wikis.
> 
> 
> There are perhaps three primary alternative contenders that 
> don't involve making up our own scripting language (something 
> I'd dearly like to avoid):
> 
> * PHP
> 
> Advantage: Lots of webbish people have some experience with 
> PHP or can easily find references.
> 
> Advantage: we're pretty much guaranteed to have a PHP 
> interpreter available. :)
> 
> Disadvantage: PHP is difficult to lock down for secure execution.
> 
> 
> * JavaScript
> 
> Advantage: Even more folks have been exposed to JavaScript 
> programming, including Wikipedia power-users.
> 
> Disadvantage: Server-side interpreter not guaranteed to be 
> present. Like Lua, would either restrict our portability or 
> would require an interpreter reimplementation. :P
> 
> 
> * Python
> 
> Advantage: A Python interpreter will be present on most web 
> servers, though not necessarily all. (Windows-based servers 
> especially.)
> 
> Wash: Python is probably better known than Lua, but not as 
> well as PHP or JS.
> 
> Disadvantage: Like PHP, Python is difficult to lock down securely.
> 
> 
> Any thoughts? Does anybody happen to have a PHP 
> implementation of a Lua or JavaScript interpreter? ;)
> 

Would you want the interpreter to translate the template into PHP
array of opcodes first, so could dump that into APC/MemCache?

Jared


_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to