Le 14 mai 05 à 11:58, Magnus Manske a écrit :
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I didn't have a chance to look at my mail all week (work and technical
problems with my mail service), and just waded throught that long
thread. I would like to share a rather insane idea I had some time ago
concerning MediaWiki rewrite/different languages.
Setting database/filesystem/etc. storage issues aside, we basically
want
* a nice fast parser, maybe in C++
* a MediaWiki that runs on most platforms, which likely would mean PHP
* keep the work we put in the current version
These points are somehow excluding each other :-)
But, we could have *some* of it if we had a way to automatically
convert
PHP to, say, C++. As far as I know, there is no such thing, and
even if
it were, it would either break on PHP things like "$a=$$b", or become
slow again.
But, what about some "Über-language"? A rather abstract code that
can be
automatically converted to C++, PHP, Python, Java and-what-not.
That would
* solve the speed problem
* give a PHP version to the poor souls who need it
* give everyone else nice C++ and Java classes, Python modules, etc.
* keep them all in sync with each new version
The slight problem is, I'm not sure such a language exists :-(
Such a thing exists. MetaL is an open-source project and lives at
http://www.meta-language.net. You code in XML, and the compiler
(written in PHP, surprisingly enough) can output Java, PHP and Perl
(support for more languages is planned, as far as I know). There're
some samples at
http://www.meta-language.net/sample.html.
To be honest, though, using XML as a programming language seems like
a bad joke.
I'm not sure about your third point ("keep the work we put in the
current version"): would you intend to convert the existing PHP
codebase into this über language as a starting point?
Also, it it would exists, I am aware that it would not
generate the
most
efficient code around. But, the generated code doesn't need to be
human-readable, and I believe a PHP version would do for small sites
(internal wikis, for example), while the larger sites surely can
find a
way to get the C++ version running.
Does MediaWiki have (or should it have) any obligation to support
small sites, like internal wikis? To the extend that it would
dictate, or at least impact, our choice of language?
Patrick
Does anyone have information about such a really-high-level language?
Magnus
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Thunderbird -
http://enigmail.mozdev.org
iD8DBQFChdm4CZKBJbEFcz0RAmFvAJ9+GRtuQ/tXmQQ8ETUe0ZIuBMak0ACfSu+Q
p54nQmwbugI1iqKiYPgpx8I=
=Iefi
-----END PGP SIGNATURE-----
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)wikimedia.org
http://mail.wikipedia.org/mailman/listinfo/wikitech-l