Python ist ebenfalls von Grund auf objektorientiert und als Skriptsprache mindestens so plattformunabhängig. In der Praxis bewähren sich Skriptsprachen in der Plattformunabhängigkeit sogar meist besser. Die Übergänge zwischen compilierten und interpretierten Sprachen sind ausserdem fliessend. Bytecompiliert (pyc) versus Virtual Machine (jvm) ist auch nicht so weit auseinander. Dazu gibt's gerade zwischen Python und Java interessante Kombinationen (Jython)
Im Zusammenhang mit dem Web-CMS ist aber die Frage von Python vs. Java Nebensache. Ausserdem ist "objektorientiert" eine Frage des Programmierstils und erst in zweiter Linie eine Frage der Sprache. Wyona/Cocoon ist ein Pipeline Prozessor und von sich aus überhaupt nicht objektorientiert. Das ist etwa so, als ob man im originalen (K&R bzw. ANSI) C oder in FORTRAN objektorientiert programmieren will. Das ist möglich, erfordert aber viel Disziplin. Die Tatsache, dass Cocoon in Java programmiert ist, hilft da erst mal gar nicht.
Zope ist hingegen konsequent objektorientiert aufgebaut. Das zeigt sich dann auch in den Nachteilen, dass die Lernkurve steil ist, das Debugging recht aufwendig sein kann und die Komponenten überall verteilt sein können. Wenn aber mal die benötigten Funktionen gut ausprogrammiert sind (deshalb Kontentor auf Zope), dann ist es ein leichtes, aus den Komponenten eine Web-Site aufzubauen. Da ist es dann auch egal, ob Zope in Python, Java oder gar C programmiert wäre.
Der wichtige Punkt beim ganzen ist wieder einmal: man nehme das richtige Werkzeug für die zu lösende Aufgabe. Eine elektronische Bibliothek oder eine Zeitung, bei der die Bücher und Artikel den grössten Wert darstellen, würde ich in XML verwalten und dafür wäre Cocoon das richtige Tool ("objektorientiert" ist dabei eher ein Warnsignal, dass jemand "Buzzword compatible" sein will). Bei typischen Präsentationswebseiten, bei denen der Inhalt aktuell und ansprechend gehalten werden muss und bei denen viele Leute kleine Beiträge liefern soll man die Site hingegen aus Komponenten und objektorientiert zusammensetzen. Die eigentliche Datenhaltung mit Archivierung ist dort dann die Nebensache (das Backup dient zum Schutz vor Hardwareproblemen und nicht zur historischen Rekonstruktion). In diesem Fall ist Zope die bessere Lösung.
Disclaimer: ich war bei der Evaluation des Web-CMS dabei, wenn auch nur konsultativ. -- ESH
|