Warum benutzen Informatiker besondere Sprachen, wenn sie Problemlösungen beschreiben, die von einem Computer ausgeführt werden sollen?

5 Antworten

Sie sind formal und ihre Bedeutung (Semantik) ist klar definiert.

"Mach diesen Knopf hier bunt, so dass er etwas heller ist als das Kleid von meiner Tante, das sie auf der Hochzeit vom Karl getragen hat!"

Ist halt nicht so klar definiert wie

button-color: 0x3f3fef

zusammen mit den relevanten Standards.

Woher ich das weiß:eigene Erfahrung

Der Grund ist schlicht und einfach:

Auch der Computer muss die Sprache verstehen, in der man ihm Algorithmen (d.h. Handlungsanweisungen) beschreibt.

Zu diesem Zweck muss die Sprache nach Syntax und Semantik formal definiert sein (da man sie ihm ja stets auch erst mal beizubringen hat). Sie ihm beizubringen bedeutet, für sie - in einer durch ihn schon beherrschten Sprache - einen Compiler oder Interpreter zu schreiben.

Naja, ohne Programmiersprache kein Programm 🤣 Leider kann man nicht einfach sagen "Mach mal nen Liferando Klon" und dann ist es so, oder "Beheb doch mal diesen Fehler".

Woher ich das weiß:Hobby – Ich liebe Informatik und programmiere jeden Tag

Ein Computer rechnet mit 1 und 0 und um ihn direkt anzusprechen muss man ihm sagen, was er mit diesen 1 und 0 machen soll. Das geht, nennt sich Assembler. Das ist aber sehr komplex und oft wenig intuitiv.

Also schafft man eine Abstraktionsschicht. Eine Software, der Du sagst (programmierst) was sie tun soll und die dann ihrerseits das in Maschinencode umwandelt.

Programmiersprachen sind also eine Zwischenschicht. Und da es unterschiedliche herangehensweisen gibt, wie man Probleme in Software beschreibt, gibt es auch unterschiedliche Sprachen - das ist im Grunde wie mit Deutsch und Englisch.

(Stark vereinfacht!)

Weil es viel leichter verständlich ist in Programmiersprachen Probleme zu formulieren als mit Binärzahlen.

Woher ich das weiß:Studium / Ausbildung – Habe einen Bachelor in Informatik