Home Computer Programmiersprachen Site Map counter

Warum es die "ideale" Programmiersprache nicht gibt

Einleitung

Je nachdem, wie viel Ahnung sie von Computern haben kennen sie sicher eine oder mehrere Programmiersprachen - vielleicht nur dem Namen nach. Fast jeder hat einmal von C++, Java oder BASIC gehört. Wer sich näher mit Computern beschäftigt, kennt vielleicht noch Assembler, Pascal, FORTRAN oder COBOL. Doch es handelt sich nur um die Spitze eines Eisberges aus Programmiersprachen. Der Autor kennt etwa 20 Sprachen, die meisten allerdings nur dem Namen nach, doch es gibt mit Sicherheit weit über 100 Programmiersprachen. Warum sind es so viele? Warum lernt der Autor in einem 4 Jahre Studium an der FHT Esslingen nicht weniger als 9 Programmier-, Datenbank und Skriptsprachen? Und warum streiten sich Programmierer über die "richtige" Sprache? Diesen beiden Fragen geht dieser Aufsatz nach.

Die Schaffung einer Programmiersprache - Auch eine Möglichkeit der Selbstverwirklichung

VAX 11/780 (32 Bit Minicomputer) Man könnte meinen, es sei schwierig eine Programmiersprache zu schaffen, doch dem ist nicht unbedingt so. Es ist sicher schwierig eine Programmiersprache zu schaffen mit der man alles lösen kann und die noch dazu schnell ist. Dazu gehört schon ein gutes Wissen über Hardware und Systemprogrammierung. Doch der Grundschritt - Ein Parser der einen Quelltext analysiert und daraus Code bastelt, ist Grundlage einer beliebten Vorlesung an allen Universitäten und vielen Fachhochschulen namens "Compilerbau". Es ist ja nicht gesagt, das ihre neue Sprache gleich Maschinencode produziert, es reicht wenn Sie ein C oder Pascalprogramm erzeugt das dann an einen C oder Pascal Compiler weitergegeben wird... (So werden unter Linux z.B. einige Programmiersprachen implementiert indem man einen Parser vor den C-Compiler legt).

So sind neue Programmiersprachen ideale Möglichkeiten sein Ego zu verwirklichen. Wer in seinem Betrieb durch Programmierrichtlinien daran gehindert ist, unleserlichen, kryptischen Code zu produzieren, erfindet eben eine Programmiersprache!

Damit ihr neues Geschöpf aber Erfolg hat muss es einige Bedingungen erfüllen:

Gründe warum sich Programmiersprachen durchsetzen

Historie

IBM System 360 (32 Bit Grossrechner)FORTRAN und COBOL gelten heute als "Dinosaurier" unter den Programmiersprachen: Sie waren einfach die ersten. Es sind Spezialsprachen: COBOL erlaubt es Daten und Dateien zu verwalten, sortieren, selektieren und formatiert auszugeben. Man kann damit nur beschränkt rechnen. (Es gibt nicht die bei naturwissenschaftlichen und technischen Anwendungen wichtigen transzendenten Funktionen und die Syntax ähnelt gesprochenem Englisch anstatt Formeln.) FORTRAN ist dagegen für Berechnungen geeignet, aber nicht wie COBOL für die Datenverwaltung. Aber das ist kein Hindernis gewesen. Mit FORTRAN wurden Simulationen des Wetters, von Atomwaffen oder Raketen programmiert, mit COBOL die Verwaltung von Bankkonten oder die Gehaltsabrechnung. Die NASA hätte sicherlich nicht mit ihren Großrechnern die Lagerverwaltung eines Betriebes in COBOL gerechnet und ein Betrieb keine Klimaprognose in FORTRAN laufen lassen. In dem Anwendungsbereich waren also beide Sprachen ideal und weil Software zwar immer erweitert aber selten neu erstellt wird haben beide Sprachen auch heute noch Bedeutung.

Ein neues Anwendungsgebiet

Es gibt neben dem Mainstream - Programmiersprachen die sich mehr oder weniger für alles eignen, gibt es auch Spezialsprachen. Ein paar seien hier genannt:

Gründe warum sich Konzepte nicht durchsetzen

PDP 8 (16 Bit Minicomputer) Nun die meisten Schöpfungen sind der Welt und auch einem Großteil der Programmierer unbekannt. Kennen Sie SNOBOL oder Pilot? Aber es gibt auch prominente Beispiele von Sprachen die sich nicht durchsetzten:

Sie erfinden eine neue Sprache - anstatt eine alte zu verbessern

1970/71 entstanden Pascal und C - zwei strukturierte Programmiersprachen mit unterschiedlichem Anspruch. Pascal als leicht lesbare Lehrsprache und C als hardwarenahe "Superassembler" Sprache. Der Erfinder von Pascal Niklaus Wirth schuf dann Modula - mit dem Konzept das eine Modul nur wichtige Informationen nach außen hin sichtbar macht und später die objektorientierte Sprache Oberon. Dagegen wurde C++ als objektorientierte Erweiterung von C konzipiert und erlaubte es den Programmierern langsam einzusteigen ohne umzusteigen. Modula und Oberon inspirierten andere Sprachen, doch setzten sich nicht durch. Dagegen ist der Hersteller Borland, der die Konzepte von Modula und C++ in Pascal übernommen hat, damit sehr erfolgreich.

Ihre Sprache ist zu groß

PL/1 und ADA sind zwei Sprachen, die als sie vorgestellt wurden für ihre Zeit sehr mächtig und umfangreich waren - das limitierte ihren Einsatz auf große Systeme und viele Programmierer scheuten den Umstieg. Als sie auf kleineren Rechnern liefen, hatten andere Sprachen die Konzepte übernommen und es gab keinen Grund mehr sie einzusetzen. PL/1 ist heute ganz verschwunden. ADA wird im militärischen Bereich und in der Luft- / Raumfahrt eingesetzt und ist Lehrsprache an Universitäten - weil jede andere Sprache eine Teilmenge von ADA ist.

Ihr Konzept ist zu radikal

Smalltalk ist eine objektorientierte Sprache und zwar rein Objektorientiert. Es gibt nur Objekte und keine einfachen Variablen. Smalltalk ist revolutionär aber es gibt eben nur wenige Revoluzzer. Viele Sprachen haben das Konzept der Objekte übernommen, aber Smalltalk ist eine Nischensprache geblieben.

Warum sich Programmierer so trefflich streiten

Cray 2 ( 64 Bit Supercompouter) Wenn zwei Programmierer zusammenkommen und verschiedene Programmiersprachen sprechen so gibt es meist Streit. Ja es scheint so als fände der eine an der anderen Programmiersprache nur Nachteile. Ein paar Äußerungen über Programmiersprachen seihen hier mal wiedergegeben:

Warum dies? Nun bei einer Programmiersprache wie sie heute vorliegt, benötigt man etwa 2 Jahre um nicht nur alle Elemente dieser Sprache zu beherrschen, sondern auch sicher anzuwenden und Programme in den Elementen dieser Sprache zu schreiben. Natürlich ist der Einstieg schneller zu schaffen, aber jede Sprache hat andere Konzepte und diese zu verinnerlichen dauert. Diese Zeit ist vergleichbar der eine Fremdsprache zu lernen und danach will man natürlich nicht nochmals soviel Zeit investieren für eine andere Sprache.

Das ganze ist nun ein physiologisches Problem: Man sieht sofort die Mängel der neuen Sprache, die Elemente welche die neue Sprache aufweist die neu sind dagegen weniger. Wenn man mit der Alten zufrieden ist so will man eigentlich nicht umsteigen. Man findet immer Gründe warum die neue Sprache schlimm ist. Selbst bei Sprachen die alles können wie ADA oder C++ - sie sind dann einfach zu umfangreich...

Nicht verheimlichen sollte man auch das jede Sprache irgendwo Elemente hat die einen ansprechen. Der Autor z.B. ist von BASIC zu Pascal gekommen und ihm gefallen die gut lesbaren Programme, die Trennung von Variablendeklarationen und Code. C dagegen wirkt für ihn wie das Produkt eines schreibfaulen Programmierers. Überall die geschweiften Klammern {} und Operatoren die man geistig erst mal umsetzen muss. Andere finden das gerade an C toll - vor allem weil man damit nahezu unleserliche Programme schreiben kann. (Viele Programmierer sehen es als ein wesentliches "künstlerisches" Element sich selbst in trickreichen Programmen zu verewigen).

Es ist daher nicht verwunderlich wenn sich neue Programmiersprachen an alte anlehnen und es ganze Abstammungsbäume gibt. Es wird sicherlich nie die eine Programmiersprache geben und jede die heute noch im Einsatz ist hat ihre Existenzberechtigung - sie hat sich gegenüber vielen anderen durchgesetzt.



© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.

Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensäufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.

Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.

Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.

Mehr über das Buch auf dieser eigenen Seite.

Sitemap Kontakt Neues Hier werben Bücher vom Autor Buchempfehlungen Top 99