On 06/03/07, Virgil Ierubino <virgil.ierubino(a)gmail.com> wrote:
The reason I suggested a rewrite was that I've
heard over and over how the
code is terribly difficult and messy, and is a bit dodgy. For instance, the
You've heard this over and over. Have you actually looked at it?
Sometime either just before or just after Christmas or New Year (don't
recall which), I had an interesting little discussion with Tim
Starling, where we came to the conclusion, to some extent, that a lot
of the code base had significantly improved over a period of months -
thanks in no small part to the tremendous refactoring effort of a
number of developers.
parser (I'm told) is a set of regular expressions,
and whilst this works it
does not make it easy to add to the syntax, change syntaxes, can be buggy,
etc etc. It would be good if the parser worked by generating a genuine DOM
tree for the document, and then translating that into the output. This is
just one example of where (I've heard that) a core part of the software
needs major reworking.
Yes, that's quite correct. You haven't, it seems, been taking part in
the other threads where this keeps getting discussed, however. The
current problem is to define our parser's behaviour, which is proving
to be a stressful and difficult task.
Another reason for a rewrite (of some core parts) is
that MediaWiki was
written when Wikipedia first began, but the uses and functions of Wikipedia
No, Wikipedia began in 2001. MediaWiki as it is now has been around
since ~ 2003.
- and other projects - today, were very much
unforeseen back then, so the
software wasn't streamlined for those functions. It seems we keep having to
work around the software to achieve simple things in a difficult way - e.g.
voting/commenting pages on Wikipedia (Featured Article Candidates, for
instance), which are a very simple idea, become difficult for new users to
understand and contribute to. If these were streamlined directly from the
core code, (add your comment/vote forms, etc), this commonplace function
would work much better.
You run the risk of upsetting large numbers of people who believe such
things are not "votes"...however, I don't like to do the politics
dance, so that's all I'll say on that aspect.
I don't see that it would be too hard to write a decent extension to
do proper polling; you could have a fancy custom "poll" namespace,
pages in which would appear as polls, rather than conventional
articles, with ordinary (for some definition of ordinary) talk pages
to aid discussion.
I say "some definition of ordinary" above because you must also have
missed the tremendous work that David McCabe put in to developing
LiquidThreads as part of his Summer of Code work. Dave's effort was
superb, and I liked all the betas I saw...at the moment, development
has stopped, although I heard rumours Wikia was going to ask him to
continue the work. In my view, Wikimedia must absolutely get this one
back on the tracks again as soon as possible.
Before I get to my flamboyant little finish; someone's mentioned AJAX
in this thread. That's all well and good, and AJAX is useful when
applied appropriately, consistently and *done properly*...so have a
rummage around for my previous opinion-bashing on that one.
All in all, though, it looks like you're merely blissfully ignorant of
a lot of discussions and "what if" thinking going on in the
background. That's not necessarily a problem, but when you start
whipping out talk of a rewrite without realising how much we *are*
discussing things, then it becomes a little unnerving.
I can guarantee that pretty much every user we have has his or her own
pet little wish list for things that we "should" add to the software.
I can guarantee that a lot of them will overlap, e.g. single sign-on,
which some are saying will herald the Second Coming, WYSIWYG, etc.
These features would be nice, and will happen, given Linus' law, but
what people have got to realise is there are several prerequisites to
us implementing these. Every time we have to stop and explain this
sort of thing, it pauses our efforts in doing so.
Nevertheless, your enthusiasm for the Foundation's future, goals and
missions will earn you many allies on this and other mailing lists,
and you seem to be here to bounce ideas off people, which is one of
the purposes of this list. So, welcome aboard.
Rob Church