Bertil Wennergren

HTML/XHTML

Ich war bereits dabei, als HTML seinen Durchbruch hatte. HTML 2.0 habe ich gelernt, als ich Anfang der 1990er Jahre meine ersten Webseiten ins Netz gestellt habe. Sehr intensiv habe ich dann die Entwicklung der verschiedenen Versionen HTML 3.2, HTML 4, XHTML 1.0 und XHTML 1.1 verfolgt und ihre Stärken und Schwächen kennen gelernt. Gerade jetzt wird die nächste wichtige HTML-Version entwickelt: HTML5. Die ist bereits brauchbar, und ich verwende sie jetzt in allen neuen Projekten.

CSS

Natürlich verwende ich bei allen meinen Projekten CSS-Style Sheets für die Gestaltung des Inhalts.

JavaScript

JavaScript wird heute beim Programmieren von Webseiten immer wichtiger. In der letzten Zeit haben die modernen Browser das Tempo ihrer JavaScript-Engines drastisch erhöht, und deshalb wird JavaScript zukünftig sogar noch häufiger in den von Nutzern / Kunden verwendeten Browsern Anwendung finden. Gmail ist diesbezüglich das führende Beispiel.

Das zentrale Element einer solchen JavaScript-Anwendung ist die so genannte AJAX-Technik. Bei Primenet habe ich schon 1999 mit AJAX-ähnlichem Programmieren experimentiert, also lange bevor “XMLHttpRequest” (der Grundbaustein von AJAX) eingeführt wurde.

Heute verwende ich AJAX in fast allen Webprogrammen, die ich erstelle, und zwar AJAX mittels der JavaScript-Bibliotheken JQuery bzw. Prototype. Die wichtigsten Beispiele dafür sind das interne Verwaltungssystem von Elbe-Haus, das Chat-System, das ich für das “Lernu!”-Projekt programmiert habe, der virtuelle Klassenraum für “Lernu!” (eine erweiterte Form meines Chat-Systems), die “Lernu!”-Wörterbücher und die Suchmaske bei tekstaro.com.

Perl

Perl war meine erste Programmiersprache. Ich bevorzuge sie immer noch als Server-Sprache, wenn es notwendig ist, einen Unicode-Text auf komplizierte Art und Weise zu bearbeiten, weil PHP in dieser Beziehung immer noch große Mängel aufweist. Daher habe ich Perl für die “Lernu!”-Wörterbücher (Datenbank, Suchmaschine, Administration) gewählt, die auf komplexe Datenbanken in vielen verschiedenen Sprachen (z.B. Russisch, Chinesisch, Arabisch, Persisch) zurückgreifen.

PHP

Wenn Geschwindigkeit wichtiger ist als komplizierter Umgang mit Unicode, dann ist oft PHP die richtige Wahl. Mehrere der Projekte, an denen ich zurzeit mitarbeite, arbeiten auf der Grundlage von PHP.

MySQL

MySQL ist das Datenbanksystem, mit dem ich die meisten Erfahrungen habe. Unter anderem bei “Lernu!” nutze ich es viel. Ich habe mitgeholfen, seine Unterstützung für Esperanto zu verbessern, indem ich ein Modul für das Ordnen in alphabetischer Reihenfolge erarbeitet habe. Dieses Modul ist nun offizieller Teil von MySQL seit Version 5.0 (“utf8_esperanto_ci” und “ucs2_esperanto_ci”). Bei Elbe-Haus hatte ich Gelegenheit, meine Kenntnisse in MySQL zu vertiefen: dort habe ich selbständig eine völlig neue Datenbank-Struktur für die Verwaltung erarbeitet und komplexe SQL-Kommandos ausgearbeitet um die Daten der alten Datenbank von Elbe-Haus zu importieren und zu restrukturieren.

XML

Die drei XML-Sprachen XHTML (1.0 kaj 1.1), TEI (Text Encoding Initiative) und XSLT habe ich viel verwendet. TEI war die Grundlage für das Textkorpus, das ich für die Esperantic Studies Foundation erstellt habe. Die Suchmaschine für das Textkorpus verwendet “libxml” mittels Perl für die Suchfunktion und XSLT für die Umwandlung der Texte in HTML.

Im Verwaltungssystem, das ich für Elbe-Haus erarbeitet habe, verwende ich unter anderem OpenOffice.org als Basis um PDF-Dokumente zu erstellen. Die Dateien von OpenOffice sind XML-basiert. Unter anderem mit XSLT (in PHP) wandelt das System OpenOffice-Dokumentvorlagen in HTML-Formulare um, die die Nutzer für die Erstellung der Dokumente verwenden. Auf der Grundlage des Inhalts dieser Formulare generiert das System OpenOffice-Dokumente, die es als PDF speichert.

Außerdem habe ich im Rahmen des “Lernu!”-Projekts verschiedene (einfache) Formen von XML angewandt, die extra für dieses Projekt erstellt wurden.

JSON

Wenn ich mit AJAX arbeite, und wenn die Datenmengen, die vom Server zum Kunden geschickt werden, eine relativ einfache Struktur haben, dann ist JSON das zu bevorzugende Transportformat. Deshalb ziehe ich es in diesen Fällen XML vor. Eine besonders gute Kombination sind AJAX und JSON, wenn man JQuery oder Prototype nutzt.

Unicode

Schon früh habe ich in mehrsprachigen Projekten gearbeitet. Deshalb musste ich mich früh mit der Anwendung von verschiedenen Zeichencodes, vor allem mit Unicode vertraut machen. Die Unterstützung von verschiedenen Zeichencodes in diversen Programmiersprachen (zum Beispiel in Perl und MySQL) hat sich über die Jahre drastisch verbessert, aber es sind immer noch viele besondere Kenntnisse notwendig um richtig mit Unicode-Zeichenketten umzugehen. Besonders bei Datenbanken geschieht das oft auf falsche Art. Ich habe gelernt, wie man es richtig macht, und ich versuche, dieses Wissen weiterzugeben, denn ich weiß, wie kompliziert und mühsam die Korrektur von MySQL-Datenbanken ist, die ursprünglich eine fehlerhafte Unicode-Kodierung hatten.

Versionsverwaltung

Gelernt habe ich die Versionsverwaltungsprogramme Subversion (SVN) und Git. Jetzt arbeite ich hauptsächlich mit Git, das für mich eine wichtige Hilfe bei Elbe-Haus und Kremke mediaworks gewesen ist.

ASP

Bei Primenet war ASP die bevorzugte Programmierumgebung. Dort habe ich unter anderem einen Internet Shop für einen Kunden erstellt.

ColdFusion

Anfangs wurde bei Primenet das System ColdFusion verwendet, das ich zu dieser Zeit dort gelernt habe. Später bin ich dann aber trotzdem zu ASP übergegangen.

Java

Ich habe auch die Grundlagen von Java gelernt, diese Programmiersprache aber nur sehr selten benutzt. Bei Primenet habe ich allerdings ein Programm erarbeitet um Telefaxe im Internet zu lesen (ein Auftrag eines Kunden aus Spanien). Dabei kam auch ein von mir erarbeitetes Java-Applet zur Anwendung. Wenn nötig, bin ich jederzeit bereit, meine Kenntnisse über Java für den professionellen Gebrauch aufzufrischen.