Neues in der Kategorie Web

Vor einiger Zeit habe ich über die gravierenden Mängel des Online-Petitions-Systems vom Deutschen Bundestag berichtet. In der Zwischenzeit wurden zwar einige kleine kosmetische Reparaturen vorgenommen, das Grund-Problem der gammeligen Software besteht aber weiterhin. Unter der „hohen“ Last von rund 16000 Unterzeichnern einer Petition ist der Spaß jetzt zusammengebrochen. (Updates unten: Probleme halten an)

 

fehler-name-in-verwendung.png

Seit einigen Tagen ist die Petition zum Bedingungslosen Grundeinkommen sehr beliebt und hat viele Unterzeichner erhalten, der Zähler steht bei über 16000. Nun zeigen sich die ganzen Mängel des unzureichenden Systems, wie einige Leser berichteten und ich verifizieren konnte: Durch einen Fehler ist es nicht mehr möglich, dass sich neue Nutzer registrieren und ohne Registrierung ist es auch nicht möglich Petitionen zu unterzeichnen. Dies äußert sich darin, dass nur eine Fehlermeldung erscheint:

Fehler
(Nutzer) Dieser Name ist bereits in Verwendung.

Dies dürfte an einem Datenbank-Fehler liegen und eine Folge der Wahl der technischen Basis sein – die den grundlegenden Anforderungen des Bundesamts für Sicherheit in der Informationstechnik (BSI) widerspricht. Ein paar technische Hintergründe dazu weiter unten.

Das ist aber nicht alles: die PHP/MySQL-Software ist auch an anderer Stelle bei rund 16000 Unterzeichnern einer Petition überfordert, die Anzeige der Unterzeichner wurde daher generell auf 100 begrenzt. Das sieht wie eine schnell eingebaute Notmaßnahme aus, um die Last des Systems zu begrenzen. Denn laut diversen Berichten wurde das Petitionssystem zuvor immer langsamer. Auch das ist ein Zeichen für schlechten Code.

Die Beschwerden im Forum häufen sich, zumal die Zeichnungsfrist für die Grundeinkommens-Petition am 10. Februar abläuft. So fragt der Nutzer Thomas Köppel:

Tja, wie es aussieht ist das System auf dem die Petitionssoftware (Datenbank) aufgesetzt ist, an seine Grenzen gestoßen.
Es bedarf wohl einer besseren Infrastruktur, für das handling des großen Datenaufkommens, ich frage mich was passiert wenn über 1 Millionen Menschen gleichzeitig Zugriff auf das System nehmen.

Viele Grüße
T.K.

Eine Million gleichzeitiger Zugriffe würde zwar fast jedes System zum erliegen bringen; aber insgesamt bei einer Million Unterzeichnern (bzw. Datenbankeinträgen) hat ein anständiges Datenbanksystem keine Probleme. Schließlich sind Datenbanken dafür da, große Datenmengen effizient zu verwalten.

Und Nutzer16941 schreibt:

Das ist leider ein Armutszeugnis für unsere Demokratie (und damit für uns das Volk), wenn unsere Regierung davon ausgeht eine kleines(?) System reicht aus. Denn scheinbar hat es das ja seit Jahren.

Dazu ist anzumerken, dass die Anforderungen an das neue System u.a. waren, dass es im Peak 50000 Nutzer sowie Petitionen mit beliebig vielen Unterzeichnern aushalten muss. Hier zeigt sich wieder, dass das neue System wie beschrieben eben nicht den Anforderungen entspricht.

Denn all das erinnert an das alte Petitions-System, das noch vom schottischen Parlament erstellt wurde. Nun wollte man alles besser machen, aber es wurde nur ein tiefer Griff ins Klo in die Problemkiste: Eine Bundestagsverwaltung, die technische Angebote nicht lesen und verstehen kann (schließlich haben die dortigen Mitarbeiter normalerweise anderes zu tun) und sich daher auf die Behauptungen in den Angeboten verlassen muss, ein Ausschreibungsrecht, dass den günstigsten Anbieter verlangt und eine Firma, die alles mögliche behauptet aber nicht viel einhält – all das zusammen sind meines Erachtens die Hauptgründe für das Dilemma. Den Bundestag sehe ich dabei eher als Opfer.

Aus mehreren Quellen weiss ich, dass derzeit eine Studie zur Online-Petitions-Plattform für das Büro Technikfolgenabschätzung des Bundestages erstellt wird. Die Plattform wird vor Fertigstellung der Studie wohl kaum grundlegend überarbeitet werden – und es ist zu hoffen, dass sie danach komplett weggeworfen und ein ganz neues, sauberes System erstellt wird. Dem Petitionswesen wäre das zu wünschen.

Und woran liegen die Probleme aus technischer Sicht?

Das Problem, dass niemand mehr registriert werden kann, liegt vermutlich an einem Datenbank-Problem, das unter Last auftreten kann. Dazu muss man wissen, dass die Nutzer ihren Nutzernamen nicht frei wählen können, sondern einen Namen „Nutzer12345“ mit fortlaufender Nummer zugewiesen bekommen. Die Petitions-Software basiert auf dem „Simple Machines Forum“, das als Datenbank-Backend  MySQL mit MyISAM-Tabellen verwendet – was keine Transaktionen und Datensicherheit unterstützt und bei mehreren gleichzeitigen Zugriffen ohne besondere Maßnahmen sehr langsam wird und schon mal den einen oder anderen Fehler erzeugt. Aber auch wenn Transaktionen unterstützt werden können können ähnliche Probleme auftreten, beispielsweise zwei gleichzeitige nicht synchronisierte Zugriffe (zum Beispiel durch das fehlende Sperren einzelner Datensätze) und der Zähler für die Erstellung der Nutzernamen ist durcheinander gekommen. Dies nennt man Race Condition (Wettlaufsituation), zwei oder mehr Zugriffe rennen quasi um die Wette und greifen gleichzeitig auf eine Ressource zu, die nur einmal vorhanden ist.

Dumm gelaufen – bei professioneller Software darf sowas nicht passieren. Darum verlangt das BSI ja auch entsprechende Mechanismen und eine ACID-Konforme Datenbank bzw. Software, die diese Funktionen auch nutzt. Aber der Dienstleister hat sich nicht daran gehalten. (mehr zur Petitions-Software ...)

Die langsamen Antwortzeiten bei vielen Unterzeichnern hängen möglicherweise auch (aber nicht nur) mit MySQL und MyISAM zusammen, ein übliches Szenario ist: die Queries (Datenbank-Abfragen) dauern bei vielen Unterzeichnern (also vielen Daten) länger, sperren aber schon beim Lesen die ganze Tabelle für Schreibzugriffe. Schreibzugriffe müssen warten und wenn diese dran sind, müssen die Lesezugriffe warten. So schaukelt sich das ganze unter Last bis zur Unbenutzbarkeit hoch und schon bei relativ niedrigen Nutzerzahlen kann alles zusammenbrechen. Eine andere Möglichkeit ist, dass durch mehrere gleichzeitige lang laufende Datenbankabfragen die Performance in den Keller geht, dadurch mehr Abfragen gestartet werden und irgendwann der Speicher voll ist.

Zudem wurden in letzter Zeit wieder diverse gravierende Sicherheitslücken im verwendeten Simple Machines Forum bekannt. Auch das sorgt nicht gerade für Vertrauen in die Petitions-Plattform. Ebensowenig wie gelöschte Forums-Einträge und gesperrte Diskussionen. Beispielsweise ein gut implementiertes Bewertungssystem könnte das Löschen von Einträgen nahezu unnötig machen.

 

Die Probleme der Software sind meines erachtens eine große Schande für die Firma araneaNET GmbH, die groß damit wirbt BSI-Zertifiziert zu sein, aber dann MySQL und auch noch Software ohne Transaktionen verwendet, was eben nicht den BSI-Anforderungen entspricht und einer der Gründe der schwerwiegenden Probleme sein dürfte. Auch eine simple Änderung von MyISAM zu InnoDb ändert an der grundsätzlichen Problematik des Simple Machine Forums nichts. Da sieht man mal wieder: solche Zertifikate sind oft nur Schall und Rauch und sagen nur aus, dass da jemand ein wenig Geld in Marketing und vielleicht theoretische Fortbildung steckt.

 

[Nachtrag, 16:17:]

Ein weiterer Forums-Beitrag von Roswitha61 deutet auf mehr Probleme hin:

Bei mir erscheint "nur eine Mitzeichnung erlaubt". Ich habe mich aber gerade erst registriert und folglich noch gar nicht unterzeichnet.
Was ist das?

Sollte dies echt sein, könnte es sein, dass es noch weitere und massive Datenbank-Probleme gibt.

Die eingangs geschilderte Fehlermeldung erschien bei meinen Tests nun nicht mehr, aber es kommt bei einer Registrierung auch keine Bestätigungsseite und die Bestätigungs-E-Mail habe ich auch nicht erhalten.

 

[Nachtrag, 8. Februar, 12:15:]

In der Zwischenzeit scheint die Registrierung tatsächlich wieder zu funktionieren. Ich hatte es gestern Nachmittag und Abend mehrfach probiert, wurde aber nach Absenden des Registrierungsformulars ohne weiteren Kommentar oder Fehlermeldung auf die Startseite umgeleitet. Auch eine Bestätigungs-Mail ist nie eingetroffen. Dies lag daran, dass ich vergessen hatte den „Ich bin einverstanden“ auszuwählen. Es wird keine entsprechende Fehlermeldung ausgegeben, sondern der Nutzer wird dann nur auf die Startseite umgeleitet – auch das ist nicht sehr benutzerfreundlich. Einträge im Forum zeigen, dass dies nicht nur mir so passiert ist, die „Ich bin einverstanden“ Checkbox ist nicht sonderlich gut positioniert. Und es häufen sich auch die allgemeinen Beschwerden über die schlechte Benutzerführung.

Zudem konnte man bisher eine Unterzeichnung wiederrufen; da nur noch 100 Unterzeichner angezeigt werden und darunter nicht die neusten sind, findet man sich selbst aber nicht mehr in der Unterzeichnerliste und kann damit eine Unterzeichnung auch nicht rückgängig machen ...

Das obige Problem, dass das Petitionssystem behauptet der Nutzer hätte schon unterzeichnet obwohl dieser da anderer Ansicht ist, tritt auch bei weiteren Nutzern auf. Ob diese nur zweimal auf den Unterzeichnen-Button geklickt haben oder es tatsächlich ein Fehler ist kann ich aber nicht sagen. Ordentliche Software würde dies aber entsprechend abfangen ...

 

datenbankfehler.png

[Nachtrag 9. Februar, 15:32]

Heute reagiert die Petitions-Webseite wieder extrem langsam, manchmal treten auch Datenbank-Fehler auf (siehe Screenshot rechts). Der Zugriff auf eine Seite kann schon mal mehrere Minuten dauern, ganz abbrechen oder mit einer solchen Fehlermeldung enden.

Selbst das Laden eines statischen Bildes dauert schon mal mehrere Sekunden bis Minuten oder wird ganz abgebrochen. Dies deutet auf tiefergehende Probleme hin (Überlastung aufgrund sich gegenseitig blockierender Datenbankzugriffe und dadurch zu vieler Apache-Prozesse) – was ich gleich mal zum Anlass nehme, um in einem eigenen Artikel Tipps zum Umgehen dieser Probleme zu schreiben.

Bereits heute Vormittag wurde aufgrund der Probleme die Zeichnungsfrist für die Petition „Bedingungsloses Grundeinkommen“ um eine Woche verlängert. Das Forum wird aber morgen geschlossen – wahrscheinlich wird es den Moderatoren einfach zu viel Arbeit. Tja, mit einem selbstregulierenden System mittels eines flexiblen Bewertungssystems hätten sie kaum Arbeit, da die Nutzer die Trolle gleich selbst entsorgen könnten.

[Nachtrag 10. Februar, 16:10]

Die Probleme mit der Performance bestehen weiterhin: Lange Wartezeiten, teilweise kommt auch der gleiche Datenbankfehler wie im Screenshot eins weiter oben, und manchmal schlägt auch der Timeout vom Browser zu. Die große Frage ist, ob überhaupt Maßnahmen ergriffen werden, die Probleme zu beseitigen.

[11. Februar, 0:25]wartungsarbeiten2.png

Nun ist alles im „Wartungsmodus“ und außer Betrieb. Vielleicht wird nun alles auf besser ausgestattete Hardware umgezogen. Nach dem Motto: Versuchen wir mal unzureichende Software mit dickerer Hardware zu erschlagen.

Unteressanterweise änderte sich die Darstellung der Fehlermeldung innerhalb weniger Minuten, anfangs war der rote Text oben noch schwarz und nicht fett ...

[12. Februar]

Tatsächlich, die Last-Probleme scheinen zumindest vorerst behoben zu sein.

[17. Februar]

Der Server ist wieder zusammengebrochen, Datenbankfeher inklusive ...

[4. Mai]

Und bei der neuen Online-Petition gegen Internet-Sperren wird der Server wieder langsam ... Sehr langsam ...

 

Hören statt sehen

Als Ergänzung zu meiner Kritik an der Online-Petitions-Webseite des Bundestages habe ich ein paar Audio-Aufzeichnungen mit Screenreadern gemacht, die unten als MP3 verlinkt sind. Damit kann man hören, wie sich die Webseite für einen Blinden anhört. Es ist jedem Gestalter von Webseiten zu empfehlen, entsprechendes auszuprobieren.

Zur Anwendung kamen dabei sowohl der Open Source Screenreader NVDA als auch zum Vergleich bei zwei Seiten der proprietäre JAWS. Es ist deutlich hörbar, dass die e-Petitions-Webseite des Bundestages mit einem Screenreader kaum benutzbar ist. Blinde haben es schon schwer, das Web zu nutzen. Hier wird es ihnen aber besonders schwer bis unmöglich gemacht, das Angebot zu nutzen. Zur Erinnerung: Barrierefreiheit war eine Anforderung bei der Ausschreibung des Projektes!

Die MP3s:

Neues beim Bundestag

Sicherheits-Update nach acht Tagen

Ansonsten gibt es Neuigkeiten: Zum einen wurde am Morgen oder Vormittag des 12. November die verwendete Forums-Software SMF auf Version 1.1.7 aktualisiert, so dass die bekannt gewordenen Exploits nicht mehr funktionieren dürften. Das hat nach Bekanntwerden der Exploits acht Tage gedauert – nicht sehr vertrauenserweckend.

Umfrage

Zum anderen gibt es nun eine „Befragung zu den neuen Internetseiten für elektronische Petitionen“.
Oberflächlich betrachtet könnte man das gut finden - immerhin scheint es dem  Bundestag wichtig zu sein, herauszufinden, wo es beim neuen Petitions-System hakt und wie die Nutzer damit zurecht kommen. Dumm nur, dass Nutzerumfragen bei fertig gestellten Produkten häufig nur als kosmetische Lösung dienen können. Eine Analyse durch Usability-Experten oder besser noch ein richtiger Usability-Test wäre sinnvoller (gewesen, denn am besten macht man so etwas bereits während der Entwicklung).

Aber immerhin, es ist ein Anfang. Wahrscheinlich ist dies keine direkte Reaktion auf meine Kritik. Ich gehe davon aus, dass die zuständigen Beamten der Bundestagsverwaltung nach der Betrachtung des Ergebnisses selbst gemerkt haben, dass die e-Petitions-Webseite einige Probleme hat und daher die Umfrage gestartet haben.

Wir sind stets bemüht, die Nutzerfreundlichkeit dieser Webseiten weiter zu verbessern. Deshalb sind wir dankbar für Hinweise auf Mängel und Verbesserungsvorschläge, die Sie uns zukommen lassen.

Kersten Naumann, Vorsitzende des Petitionsausschusses

Nun, ich denke, diese Bemühung das sollte man durchaus unterstützen ...

Unfreiwilliger Copyright-Hinweis

Wie bereits geschrieben wurde der Copyright-Hinweis für das Simple Machines Forum anfangs nicht angezeigt – ein klarer Verstoß gegen die Simple Machines Lincence. Dieser Lizenzverstoß wurde anscheinend erst dank etwas Nachhilfe beseitigt, wie mir ein Leser schrieb:

Dass der Copyright-Hinweis des SMF nun angezeigt wird, wurde vom Bundestag oder araneaNET vermutlich nicht ganz freiwillig gemacht: Ich hatte an Simple Machines LLC geschrieben und auf den fehlenden Copyright-Hinweis aufmerksam gemacht. Deren Product Manager antwortete, dass dies ein Lizenzverstoß sei und dass sie sich darum kümmern werden. Wie man sieht, haben sie das gemacht.

Dennoch finde ich erschreckend, dass ein solcher offensichtlicher Lizenzverstoß überhaupt durchgeführt wurde; unabsichtlich kann dies kaum passieren. War dies eine Anforderung der Bundestags-Verwaltung oder wurde es eigenmächtig durch deren Dienstleister araneaNET GmbH durchgeführt?

Weitere Reaktionen

Anscheinend unabhängig vom Bericht hier erschien auch bei Fatalitility ein Bericht zur Petitions-Webseite. Fazit dort:

Hinter dem ganzen stand mal wieder eine gute und meines erachtens nach auch erstrebenswerte Idee, nämlich die nach mehr Mitwirkung des “Volkes” in der Politik durch einen einfachen Zugang zu politischen Instrumenten, wie der Petition. Leider kam diese Idee aber wie so oft in diesem Staat mal wieder nicht über den Horizont der “verunglückten Umsetzung” hinaus. Was mir hier als Plattform angeobten wird ist für den Ottonormal Nichtgeek wohl einfach nur unzumutbar! Eine einfach nur grausige Usability, die keinerlei erkennbaren Workflow erkennen läßt, hineingequetscht in eine total veraltete und nicht dafür ausgelegte Software aus der Rumpelkammer des Internets. Schade!

 Ja, sehr schade!

Gesetzeswidrige Abfrage persönlicher Daten, komplizierte Benutzerführung und Software mit Sicherheitslücken kennzeichnen die neue Online-Petitions-Webseite, die die araneaNET GmbH für den Bundestag erstellt hat

Update, 16. November: Umfrage und Sicherheitsupdate beim Bundestag, Screenreader-MP3s und sonstige Neuigkeiten

Update, 7. Februar 2009: Petitions-System des Bundestages bricht zusammen

 

Die neue aber altbackene Online-Petitions-Webseite des Deutschen Bundestages führt den Nutzer zurück ins Web 1.0. Sie verdeutlicht ein Problem öffentlicher Ausschreibungen, das vermutlich nicht nur im IT-Bereich auftritt: die Ausschreibenden haben in der Regel wenig Ahnung von der Materie, müssen aber gleichzeitig fast immer das günstigste Angebot nehmen. Das Ergebnis im Fall der Petitionswebseite: Die zugrunde liegende Software hat kritische Sicherheitslücken, viele Anforderungen des Lastenheftes sind nicht eingehalten worden, die Datenschutzbestimmungen des Telemediengesetzes wurden ignoriert, die Webseite ist schwer bedienbar - und sieht einfach furchtbar altmodisch aus.

Denn anstatt einer speziell auf die Anforderungen von Online-Petitionen (e-Petitionen) samt dazugehörigem Diskussionsforum ausgerichteten Software mit komfortabler und moderner Benutzerführung gibt es ein altes, für den durchschnittlichen Internet-Nutzer schwer bedienbares PHP-Board, in das eine simple Unterschriften-Funktion hineingefrickelt wurde. Das Ganze wirkt eher wie ein privat betriebenes Forum, nicht jedoch wie eine der Würde des Parlaments angemessene, moderne Web-Applikation.

Aber der Reihe nach:

  • Hintergrund der Ausschreibung
    Eine kurze Zusammenfassung der Hintergründe der Ausschreibung. [mehr ...]
  • Die Umsetzung
    Beschreibung und Kritik der Implementation der Online-Petitions-Website: Sie hat eine schlechte Benutzerführung, altbackene Gestaltung, gesetzeswidrige Datenabfrage und ist nicht barrierefrei. [mehr ...]
  • Das Simple Machines Forum
    Eine kurze technische Betrachtung der verwendeten Software, die mit einer ungewöhnlichen Lizenz, Sicherheitslücken und schwer wartbarem Spaghetti-Code glänzt. [mehr ...]
  • Der Auftragnehmer: araneaNET GmbH
    Eine Kurzrecherche zu der Firma, die die Webseite für den Bundestag umgesetzt hat. [mehr ...]
  • Fazit
    Zusammenfassung und Ausblick: Billig sollte nicht genug sein und welche sonstigen Lehren aus dem Projekt zu ziehen sind. [mehr ...]

 

WebGUI wollte ich mir ja schon immer mal genauer anschauen – vielleicht erleichtern die WebGUI Training Videos das Vorhaben ja ein wenig.

WebGUI ist ein CMS auf Perl-Basis, das auch eine umfangreiche API mitbringt. Man kann es wohl auch als Web-Framework nutzen. Eine Macke habe ich allerdings schon festgestellt: WebGUI ist nicht auf dem CPAN, und man sagt ja: was es nicht auf dem CPAN gibt, das gibt es nicht …

Unter dem Namen WebGUI TV sind eine Reihe von Videeos unterschiedlicher Vorträge zu WebGUI und Perl gesammelt. Oft sind auch die Präsentationen als PDFs mit verlinkt.

 

(via $perl->buzz)

Andy Lester hat auf Perlbuzz eine kleine Unterhaltung über die aktuellen Perl-Web-Frameworks gepostet. Das Fazit ist, dass alles irgendwie mehr oder minder Mist oder nicht genauer bekannt ist.

Tatsächlich gibt es laut dem Perl 5 Wiki der Perl Foundation ja eine ganze Reihe von Web-Frameworks für Perl. Aber bis auf Catalyst hat es keines zu einem kleinen Hype geschafft. 

Das Haupt-Problem an Catalyst sehe ich übrigens daran, dass es erstmal einen Haufen Sachen zu lernen gibt, und es zum anderen sehr langsam ist. So braucht schon ein simples "Hello World" über doppelt so lange als ein kompletter Seitenaufbau mit Datenbankzugriff, Session-Management, Verlinkung und so weiter beim Assoziations-Blaster – einem Projekt, das ich zum zehnjährigen Bestehen im Januar 2009 zusammen mit Dragan endlich mal modernisieren sollte, und mir daher hin und wieder ein paar Web-Frameworks anschaue.

Auch finde ich den Einstieg in Catalyst nicht so sonderlich einfach, wenn man schon umfangreiche Web-Projekt-Erfahrung hat. Einfache Sachen scheinen zwar einfach zu gehen, aber bei komplizierten hilft es eben auch nur begrenzt.

 

Und was gibt es sonst noch? In der oben erwähnten Unterhaltung kommt Gantry gar nicht vor – sieht sehr interessant aus, Performance war bei meinen ersten Tests ganz OK und es gibt zwei schicke Videos.

Egg wurde noch erwähnt, das kenne ich aber gar nicht. Jifty steckt seit langer Zeit in Vorversionen.

 

Ich bin ja der Ansicht, dass es nicht immer MVC sein muss, gerade wenn es um Performance geht ist es anders i.d.R. schneller. Und dann hat man mit mod_perl und dem ganzen CPAN auch schon fast eine Art Framework ...

Und darauf wird es beim Blaster wohl hinauslaufen: für interne Admin-Aufgaben nehme ich irgendein Framework, aber für die Hauptaufgaben nach außen mod_perl mit CPAN-Modulen und einem kleinen Mini-Framework, was ein paar Kleinigkeiten übernimmt.

Als Ergänzung zum Bericht zum Programmiersprachen-Vergleich vor ein paar Tagen:

Die „Software Engineering (SE) research group“ der Freien Universität Berlin hat nun alle (manuell geschriebenen) Source-Codes zum letztjährigen Plat_Forms Wettbewerb sowie Datenmaterial zu der anschließenden Umfrage zu Web-Programmiersprachen (Ruby, Python, Perl, PHP, Java und .NET ) veröffentlicht. Unter anderem wurden die sehr interessanten Freitexteingaben der Umfrageteilnehmer in einem PDF sowie die Rohdaten der Umfrage als CSV veröffentlicht. Damit stehen nun nochmals Details zu der schon letztens hier zusammengefassten Ergebnisse der Umfrage vor.

  • Die Source-Codes aller neun Lösungen (drei Java, drei Perl und drei PHP) vom Plat_Forms-Wettbewerb
  • Datenmaterial zur Umfrage (PDF mit den Freitexteingaben, CSV-Datei mit den Umfragedaten)
  • Liste aller Publikationen der Software Engineering Research Group

 

Bei einer groben Durchsicht durch die Freitexteingaben sind einige interessante Entdeckungen zu machen. So werden als besondere Stärken von Perl – wie zu erwarten war – häufig das CPAN, die Test-Bibliotheken, der Sprach-Reichtum und die Web-Entwicklungs-Frameworks erwähnt. Wie auch schon bei der Gesamtauswerung der Umfrage schneidet Perl auch hier überdurchschnittlich gut ab Manche Argumente dagegen muten aber eher skurril an: zwei mehrfach aufgetretene Argumente für PHP waren: „das kann ich besser“ oder Entwickler sind billiger.

Deutlich ist insgesamt, dass unter dem Strich doch mehr Umfrageteilnehmer die primäre Sprache besser bewerten als die sekundäre – was natürlich auch zu erwarten war, denn in der primären Sprache haben die meisten Entwickler eben doch mehr Erfahrung.

 Bei Gelegenheit werde ich die nächsten Tage vielleicht mal eine ausführlichere Zusammenfassung schreiben.

Ruby, Python, Perl, PHP, Java oder .NET – was ist besser?

Eine subjektive Zusammenfassung einer Umfrage mit subjektiven Meinungen

Letztes Jahr wurde von der Freien Univerität Berlin der erste Plat_Forms-Contest zum Vergleich von Web-Programmiersprachen durchgeführt (siehe auch: Fotos mit Rätsel über die Teams); nach Veröffentlichung des Ergebnisses starteten die Initiatoren eine Umfrage unter professionellen Web-Entwicklern, um deren subjektive Meinungen zu populären Web-Sprachen zu erfassen und wissenschaftlich.

Auch von dieser Umfrage liegt nun das Ergebnis als umfangreiche Analyse von Autor Will Hardy vor.

Die Teilnehmer der Umfrage sollten die zwei Sprachen, mit denen sie sich am besten auskennen, in verschiedenen Kategorien (Sicherheit, Robustheit, Performanz, ...) miteinander vergleichen. Zur Auswahl standen neben Perl die Scriptsprachen Ruby, Python, und PHP sowie Java und .NET.

Neben quasi-numerischen Antworten (X ist bezüglich Y viel besser als Z) waren auch Freitexteingaben möglich. Leider sind diese Texte in der Studie kaum erwähnt. Hier hätte ich mir gewünscht, dass diese – zur Not unkommentiert – zumindest im Anhang komplett aufgeführt worden wären. Nachtrag: Die Materialien wurden in der Zwischenzeit veröffentlicht, siehe Sourcecodes und Datenmaterial zum Plat_Forms Wettbewerb und zur Umfrage veröffentlicht

Im Text konzentriert sich der Autor häufig darauf, die Unterschiede zwischen Java und PHP/Python/Ruby oder zwischen Python/Ruby und PHP aufzuführen; aus (ganz subjektiver!) Perl-Sicht hätte ich mir natürlich ein wenig mehr gewünscht. Aber das ist natürlich vollkommen subjektiv.

Perl sieht der Autor, ebenso wie PHP, als eher traditionelle Sprache an und schreibt, dass Java, Python und Ruby linguistische Features bieten würden, die es bei den traditionellen Sprachen nicht gebe. Hier muss ich ihm eindeutig widersprechen, denn das gilt zwar teilweise für PHP, nicht aber für Perl. Im Gegenteil, Perl bietet als moderne dynamische Sprache einen Haufen Features, die es in Java und .NET nicht gibt. Aber auch so manches Perl-Feature wie die Ties und die daraus entstehenden Module, den Taint-Mode oder „use strict“ gibt es zum Beispiel in Python nicht – dafür gibt es da wieder andere Features.

Diese fehlerhafte Ansicht korrespondiert aber mit der Außenwirkung von Perl. Oft heißt es: „Wird das überhaupt noch genutzt?“ Perl gilt bei manchen als alt, als Sprache aus einer anderen Zeit. In der Hinsicht war die Perl-Community wohl zu wenig aktiv und hat sich auf das kommende Perl 6, das streng genommen eine vollkommen neue Sprache mit ein paar Perl-Elementen wird, verlassen. Nur schade, dass der Mythos vom etwas altbackenen Perl auch in der Wissenschaft einzug gehalten hat.

 

Dennoch kann man als vorweggenommenes Fazit sagen:

Perl schneidet bei der Umfrage insbesondere im Vergleich mit PHP und Java deutlich besser ab (sprich: demnach ist es eine bessere Plattform zur Web-Entwicklung). Aber lest meine grobe Zusammenfassung, subjektiv aus der Sicht eines Perl-Entwicklers, selbst:

 

Aktuelle Kommentare

  • Niels Dettenbach: ...schade eigentlich, das es PyPerl nicht mehr wirklich gibt. Zwar weiter lesen
  • Alvar Freude: Kannte ich noch nicht, danke für den Hinweis; allerdings ist weiter lesen
  • Ben Sieverts: Ich vermisse noch folgendes Buch auf der List: Effective Perl weiter lesen
  • Alex: Ich schlage einfach mal ganz unverschämt bei diesem Beitrag die weiter lesen
  • Marcel: Oke, danke für den Tipp. Schade natürlich. Wird euer Buch weiter lesen
  • Alvar: Nein, leider ist das noch nicht fertig. :-( Es gibt weiter lesen
  • Marcel : Hallo! gibt es dein Buch zu Perl6 schon? Wo kann weiter lesen
  • air max 2009: Nimm ein Paradigma deiner Wahl (z.b. MVC) und lerne Applikationscode weiter lesen
  • vTasker: Was ist das denn für ein MIST? Der Artikel ist weiter lesen
  • Virenschutz-Test: Das ist ja lustig hihi. Der Admin ist wohl nicht weiter lesen

Über dieses Archiv

Diese Seite enthält aktuelle Einträge der Kategorie Web.

Veranstaltungen ist die vorherige Kategorie.

Windows ist die nächste Kategorie.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.