On Fri, Jun 26, 2009 at 12:20 AM, Robert Rohde<rarohde(a)gmail.com> wrote:
#[[{{{1}}}]].
{{#if:{{{4}}}|[|{{#if:{{{5}}}|[}}}}{{#if:{{#pos:{{#if:{{{4}}}|{{{4}}}|{{#if:{{{5}}}|{{{5}}}}}}}|http|}}|{{#if:{{{4}}}|{{{4}}}|{{#if:{{{5}}}|{{{5}}}}}}}|{{#if:{{{4}}}|
http://dx.doi.org/{{{4}}}|{{#if:{{{5}}}|http://dx.doi.org/{{{5}}}}}}}}}
{{#if:{{{2}}}| {{{2}}}}}{{#if:{{{4}}}|]|{{#if:{{{5}}}|]}}}} {{#ifexist:
File:{{{1}}}.pdf |[{{filepath:{{{1}}}.pdf}} (PDF)]|}} {{#if:{{{3}}}|
''{{{3}}}.''}}
There is some extra stuff in there, but you get my point. Just because a few
people really, really want extra functionality at any cost doesn't mean
much.
Yes, template code can suck, and that's a fine example. But how is
adding or not adding string functions going to make a significant
difference to that? How is it different that {{#expr:}} or different
from creating {{#if:}} to replace {{qif}}, etc.?
I don't see why the fact that template code is a mess should bear on
the orthogonal question of providing string functionality to the
community. I'm sure that if someone ever does create a better
template coding system then many people will quickly migrate to it,
but why should that need to come first?
Because "backwards compatibility is forever", for one thing. The
relevant performance metric here is as much the worst case performance
as it is the average. That an expensive feature is rarely used doesn't
help when you have to maintain it do sanely display old versions and
if one of those pages gets a lot of traffic things blow up.
The performance problems today happened in spite of it being below the
daily peak overall request rate:
http://www.nedworks.org/~mark/reqstats/reqstats-daily.png ...just a
thundering herd on a few expensive operations.
Enabling more features increases investment in the old system and will
make migration slower and more difficult to accomplish.
Additional advanced features will also encourage additional 'expensive' usage.
The message here is that wikimarkup is not intended to be a
programming language. If you find yourself asking for more programming
language features the shortcoming is in your expectations not in the
software. It's already gone too far … What we've got now is the moral
equivalent of brainfuck but without the elegance.
People have been asking these features for years. True. But thats also
good evidence that they can live a while longer without it.