Programmiersprache

Wechseln zu: Navigation, Suche

In der Regel sind hiermit "höhere Programmiersprachen" (HLLs) gemeint.

(Generell könnte man auch Assembler sowie jede andere Art und Weise, einen erwünschten Programmablauf vorzugeben - in Textform, grafisch, durch gesprochene Sprache, ... - Programmiersprache nennen.)

Für eine Programmiersprache wird in der Regel eine Syntax sowie eine Semantik definiert sein, wobei erstere die Regeln für "gültige Programme" festlegt und letztere die Bedeutung der diversen Konstrukte beschreibt. (Allerdings bedeutet "gültiges" Programm nicht unbedingt "fehlerfrei abaufendes" Programm!)

Viele moderne Programmiersprachen werden ergänzt durch Bibliotheksfunktionen, bei C und C++ wird in diesem Zusamenhang auch häufig von der Standardbibliothek gesprochen. Über Zusatzbibliotheken sind solche Programmiersprachen dann leicht erweiterbar, da neue Funktionalitäten keine Einfuss auf die Syntax haben. Die Syntax legt lediglich fest, WIE externe Funktionen aufzurufen (und zuvor ggf. anzukündigen) sind. Die Festlegung gilt dann für alle Funktionen, egal aus welcher Bibliothek sie kommen.

In C und reicht die Kenntniss der Syntax allein keineswegs nicht aus, selbst wenn man nur einfachste Programme schreiben möchte, denn bereits für so "triviale" Dinge wie Ein-/Ausgabe und Verarbeitung von Zeichenketten, die beinahe in jedem Programm nötig sind, muss man Funktionen der Standardbibliothek aufrufen.

Extremer noch ist die Situation bei C++, wo eine sehr umfangreiche Standadrbibliothek bereitsteht, die aber kaum ein Programmierer oder eine Programmiererin in Gänze kennen wird, da man - abhängig vom Einsatzbereich - auch nur einen mehr oder weniger kleinen Teil der in der Standardbibliothek bereitgestellten Funktionen benötigt.

Die Auslagerung wesentlicher Teile in Bibliothekscode ermöglicht im Bereich der Programmierung von Mikrocontrollern interessante Ansätze: So könnte z. B. der Prototyp einer Applikation zunächst auf einen PC oder einer Workstation entwickelt werden und eine Bibliothek verwenden, welche wesentliche Teile der später vorhandenen Peripherie (Aktuatoren, Sensoren, ...) lediglich nachbildet, z. B. als Elemente einer grafischen Oberfläche. Später wird dann das selbe Programm mit einer Bibliothek übersetzt, welche (unter gleichem Namen) andere Funktionen bereitstelt, die nun tatsächlich I/O-Adressen (und darüber die wirklichen Aktuatoren und Sensoren) ansprechen.