Programmieren: Wahl der Programmiersprache: Auszeichnungs- und Darstellungssprachen

Aus Wikibooks

Wechseln zu: Navigation, Suche
Bild:Wikibooks buchseite.svg Zurück zu Deklarative Sprachen | Bild:Wikibook.svg Hoch zu Inhaltsverzeichnis | Bild:Wikibooks buchseite.svg Vor zu Skriptsprachen



Auszeichnungssprachen sind, streng genommen, keine Programmiersprachen, da sie nicht für das Erzeugen von Programmen, sondern für das Erzeugen von Dokumenten gedacht sind; es fehlen ihnen die typischen Merkmale einer Programmiersprache, wie etwa Schleifen oder bedingte Anweisungen. Der Vollständigkeit halber sollen hier dennoch kurz erwähnt werden:

[Bearbeiten] HTML

Die "Hypertext Markup Language" wurde entwickelt, um strukturierte, wissenschaftliche Dokumente im frühen Internet zu publizieren. Später wurde sie dann um Elemente erweitert, die nicht nur die Seitenstruktur beschreiben, sondern auch die Darstellung festlegten. Viele dieser Erweiterungen sind heute veraltet; heutzutage trennt man Struktur und Design, indem man letzteres mit externen CSS-Stylesheets realisiert.

HTML ist relativ leicht zu erlernen und schon mit jedem simplen Texteditor zu erzeugen. Außerdem gibt es auch fortgeschrittenere Programme, mit denen man - ähnlich einem Grafikprogramm - die Webseiten sozusagen "zeichnet", und das Programm erzeugt den nötigen HTML-Code. Der Nachteil der meisten dieser Programme ist, dass sie reichlich aufgeblähtes und selten valides HTML erzeugen.

[Bearbeiten] XML

Das Format von HTML wird durch den SGML-Standard festgelegt. Als Weiterentwicklung dieses Standards gibt es seit Mitte der 90er XML. Die Syntax von XML ist strenger als die von SGML, wodurch XML-Dokumente leichter zu verarbeiten sind als SGML-Dokumente (z.B. HTML). Außerdem ist XML bedingt auch für den Menschen lesbar. Aus diesen Gründen ist XML heute die Basis für viele Dokumentenformate, z.B. das OpenDocument-Format, das, ausgehend von OpenOffice.org, heute von allen freien Office-Suiten verwendet wird. Außerdem gibt es viele auf XML basierende internationale Standards, beispielsweise XHTML (die Portierung von HTML nach XML), MathML, SVG, SMIL, usw. Näheres hierzu beim W3C.

[Bearbeiten] LaTeX

Bei w:LaTeX (Sprich: Latech) handelt es sich um ein Textsatzsystem in Form einer Auszeichnungssprache (Markup Language), ähnlich wie HTML. Es basiert auf Donald E. Knuths TeX, und ist sozusagen eine Vereinfachung, die es einer breiteren Öffentlichkeit ermöglichen soll, ihren wissenschaftlichen Abhandlungen ein angemessenes Aussehen zu verleihen. Knuth ist Mathematiker und hat so etwas wie die Bibel für Informatiker geschrieben, genannt The Art of Computer Programming, und genau diese Bibel war wohl auch der Anlass dafür, den TeX-Compiler zu entwickeln. LaTeX selbst bezeichnet man als Makromodul von TeX, es wurde von Leslie Lamport entwickelt.

Als Auszeichnungssprache ermöglicht LaTeX dem Anwender, seinen Text logisch zu formatieren. Das fängt bei trivialen Auszeichnungen wie Buch, Kapitel, Überschrift oder Absatz an und hört bei dem genauen Zerlegen mathematischer Gleichungen in ihre Bestandteile auf. Dieses logische Format ermöglicht dann später beim Compilieren eine bessere Darstellung. Zum Beispiel von komplexen Formeln, aber auch das Automatisieren der Indexerstellung, der Bildverzeichniserstellung oder der Inhaltsverzeichniserstellung.

Um einen Text zu texen, benötigt man lediglich einen Texteditor, wie ihn jedes Betriebssystem schon mitbringt und einen LaTeX-Compiler (Übersetzer). Diese Compiler sind für nahezu jedes Betriebssystem frei erhältlich, für Windows-Systeme zum Beispiel MiKTeX. Beim Texen wird der mit LaTeX-Anweisungen ausgezeichnete Text erst in einer .tex-Datei gespeichert, und dann über den Konsolenbefehl latex mittels des Compilers in eine .dvi-Datei (Device independent file format) konvertiert. Die LaTeX-Umgebungen beinhalten im allgemeinen ein Betrachtungsprogramm wie zum Beispiel Yap (Yet another previewer) und Werkzeuge zum Weiterverarbeiten in Dateien anderer Formate wie PostScript- oder PDF-Dateien.


Bild:Wikibooks buchseite.svg Zurück zu Deklarative Sprachen | Bild:Wikibook.svg Hoch zu Inhaltsverzeichnis | Bild:Wikibooks buchseite.svg Vor zu Skriptsprachen


Persönliche Werkzeuge