29. Oktober 2003, Letzte Änderung: 24. August 2009
Implementierbarkeit
Je einfacher eine Spezifikation zu implementieren ist, desto mehr Implementierungen wird es geben und desto mehr Kompatibilität wird es geben. Mit einfacher Implementierung ist ebenfalls gemeint, dass Implementierer Zeit haben, kreativ zu sein und neuartige Wege zu entwickeln, eine Technologie zu verwenden. Implementierungen werden günstiger sein; sie werden vielleicht sogar fast kostenlos sein, wenn sie von Einzelpersonen in ihrer Freizeit vorgenommen werden können. Fehler zu beheben, gehört zu den kostspieligsten Vorgängen, die Entwicklern bekannt sind, vor allem wenn es Menschen gibt, die sich unwissentlich auf die Fehler verlassen. Fehler zu verhindern, ist daher von höchster Wichtigkeit. Implementierbarkeit kann von Einfachheit kommen oder daher, dass man auf bekannten, bereits bestehenden Komponenten aufbaut.
Auf bereits bestehenden Komponenten aufzubauen, bedeutet, Technologien zu verwenden, mit denen Programmierer vertraut sind, wie zum Beispiel kontextfreie Grammatiken (in der EBNF oder Varianten ausgedrückt) oder XML 1.0.
Es bedeutet nicht, Abhängigkeiten zu neuen oder nicht ganz verstandenen Technologien zu schaffen. XSLT zum Beispiel hätte XML Namespaces womöglich nicht verwenden sollen. Es hätte statt dessen auf konventionellere Art zwischen Kommandos und Daten unterscheiden können. XSLT ist nun gefährdet, die gleiche Entwicklung in Richtung inkompatibler und nur teilweiser Implementierungen durchzumachen wie HTML, welches auf SGML basiert, einer anderen Technologie, die von Entwicklern nicht verstanden wurde.
Wie Jakob Nielsen sagt, ist es sehr unsicher, eine Spezifikation zu verwenden, solange sie noch nicht mindestens ein Jahr lang offiziell ist ([Nielsen00], Seite 34).
W3C-Spezifikationen sind bisher nicht sehr komplex, zumindest nicht im Vergleich zu denen anderer Organisationen, aber sie werden immer komplizierter. Das W3C muss sich vielleicht wieder am IETF orientieren, wenn es darum geht, Spezifikationen möglichst einfach zu halten. Denn eine der Beschwerden, die wir mittlerweise am häufigsten hören, ist die, dass es schwierig werde, mit der Anzahl an gegenseitigen Abhängigkeiten umzugehen, vor allem bezüglich Spezifikationen der XML-Familie und vor allem für Entwickler, die ihr erstes XML-basiertes Programm erstellen (und wenn wir wollen, dass das Web sich entwickelt, werden wir viele Anfänger benötigen).
In der Tat ist XML 1.0 selbst bereits zu kompliziert für einige der Applikationen, für die es entworfen wurde, wie an einem Projekt zu sehen, das gestartet worden ist, um eine vereinfachte Version zu definieren (siehe [Park00]).
Die Existenz von zwei Implementierungen einer Spezifikation ist keine Garantie dafür, dass es noch weitere geben wird, aber es ist ein Hinweis darauf. Es ist daher eine gute Idee, dass viele XML-Arbeitsgruppen zwei oder mehr Implementierungen abwarten, bevor sie ihre Arbeit als »Empfehlungsvorschlag« (Proposed Recommendation) vorlegen.
Siehe auch
- [Nielsen00]
- Nielsen, Jakob. Designing Web usability. Indianapolis, IN. Dec 1999. New Riders.
- [Park00]
- Park, Don (ed). Minimal XML 1.0. 11 Apr 2000. Draft developed on the SML-DEV [SMLDEV] mailing list.
URL:
http://www.docuverse.com/smldev/minxmlspec.html - [SMLDEV]
- sml-dev mailing list. 29 Nov 1999. Simple Markup Languages Developer group mailing-list. URL: http://www.egroups.com/group/sml-dev/