Well, IMHO you *should* continue if you accept that it might be "just
for the fun of it" and never actually used. I learned PHP/MySQL while
writing code for Nupedia, which died soon after my code went online (no
cause and effect here;-)
*If* we decide to work on a Phase IV (one of my favourite movies BTW), I
think we should go for C++. Two main reasons:
- Probably the fastest way to work with arrays of char (=plain text),
which is most of the internal working of a wiki software
- Real OOP, in contrast to the PHP-class jokes. If we design a database
class in C++, for example, the actual queries could be entirely capsuled
from the rest of the program. That would make switching database
versions or even databases (MySQL/Postgres/???) much easier.
Capsuled classes will also make it easy to write stand-alone-programs
for offline reading, as I tried. A proof-of-principle-viewer is
available in C++.
The main reason *not* to use C++ is that I don't know how to turn such a
program into an apache module. Help on that would be appreciated.
Magnus
Timwi wrote:
Hi,
the past few days I've been experimenting a bit with Apache, mod_perl,
MySQL and creating an entire own website. I've never done that before,
and I think I've learnt a lot from this.
Now, for some reason, against all of your advice, I have started to
program a Wiki, and by now it's already become a suitable basis for a
Phase-IV Wikipedia software, including a database schema.
It really doesn't seem to be very difficult to re-program the current
software in Perl, this time taking all the problems into account and
designing everything right from the start (incl. single-login,
multi-language watchlists, a better translation system and skin system
(separated from the code), etc.) I've also made a lot of considerations
and decisions with respect to database design and performance.
Should I continue with this?
Greetings,
Timwi
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)wikipedia.org
http://mail.wikipedia.org/mailman/listinfo/wikitech-l