Wie, wann und von wem wurden Programmiersprachen entwickelt?
Es gibt Programme um Programme zu Programmieren, aber wer hat wie, die Programmiersprachen programmiert? Ich denke nicht, dass ein C+ oder Java einfach am Desktop des Commodore aufgeploppt sind
3 Antworten
C++ wurde in den 1980er Jahren von Bjarne Stroustrup entwickelt. Stroustrup erweiterte die Programmiersprache C um Konzepte der objektorientierten Programmierung, die er aus der Sprache Simula kannte. C++ wurde entwickelt, um die Leistung von C mit den Vorteilen der objektorientierten Programmierung zu kombinieren.
Die Programmiersprache Java wurde ende der 1990er Jahre von einem Team(später Oracle) entwickelt. Ziel war es, eine plattformunabhängige Sprache zu schaffen, die in der Lage ist, auf verschiedenen Systemen ausgeführt zu werden. Java basiert auf der Syntax von C++.
Generell sind Programmiersprachen immer iterativ entstanden, mit jedem ein paar neue Funktionen, welche von der Entwicklercommunity gewünscht werden.
Das Entwickeln erfolgt ungefähr so
- Zielsetzung & Anforderungen: Je nach Anwendungsfall werden Programmiersprachen entsprechend programmiert (einfachkeit (kotlin), computerspiele(c++), etc)
- Design: auf dessen grundlage wird das design der sprache bestimmt (Syntaxregeln, Sprachkonstrukte wie Variablen Funktionen, Semantik, etc)
- Implementierung: Hier wird ein Compiler/Interpreter geschrieben damit der Source Code in einer Sprache(Maschinencode) geschrieben wird welches der Computer auch verstehen und verarbeiten kann.
- Testing: Unit tests, integration tests und performance tests werden geschrieben und die Programmiersprache ausreichend zu testen, damit keine Peinlichkeiten nach dem Release entstehen
- Dokumentation: Die Doku ist wichtig, damit sich Einsteiger auch auskennen und Nachschlagen können. Üblicherweise wird die Syntax, Semantik und best-practices hineingeschrieben.
- Wartung: Leider muss man auch Programmiersprachen genauso updaten wie jedes andere Programm. Es entstehen mit der Zeit Security leaks, welche gefixed werden müssen, und Entwickler wollen natürlich auch immer mehr Funktionen um das Programmieren potentiell zu erleichtern
Ein klassischer Bootstrapprozess. Ich habe keinen Bock immer den Maschinencode in Binär einzugeben, also schreibe ich ein Programm, das Hexwerte verarbeitet.
Dann ist es mir zu lästig immer in der ISA-Doku die Opcodes abzulesen und einzutippen, ich programmiere also mührevoll durch Eingabe von Maschinencode ein kleines Programm, das Mnemonics liest und auf die Opcodes abbildet - einen Assembler.
Nun kann ich den Assembler in Assembler neu schreiben und dabei in den Fähigkeiten erweitern, denn ich muß nicht mehr dauernd alles nachschlagen, wodurch es schneller geht und weniger mühsamn ist.
Nun überlege ich mir, daß ich Probleme algorithmisch formulieren möchte, ohne permanent Assembler zu nutzen, sondern so, daß es mir leichter fällt. Ich spezifiziere die Sprache und schreibe einen Interpreter/Compiler/Transpiler in Assembler. Nun kann ich hingehen und kann den Compiler/Transpiler in der Sprache neu schreiben, das geht schneller und einfacher und erweitere ihn gleich um neue Funktionalitäten.
Uns so geht das eben weiter.
C gab es weit vorher.
Die erste Programmiersprache ist Assembler, sagen einige. Auf die Idee ist Grace Murray Hopper gekommen. Vorher waren Programme reine Zahlenfolgen zur Ausführung.
Plankalkül war die erste algorithmischen Sprache, sagt der Erfinder von algol