Wie erstellt man ein Programm?

Hallo alle zusammen,
kann mir bitte jemand ganz einfach erklären, wie ein Programmiercode erstellt wird? Ich weiss, dass bestimmte Wörter und Zeichen in einer bestimmten Reihenfolge geschrieben werden, aber woher weiss der Computer, was er beim bestimmten Wort machen soll? Genau das interessiert mich. Die „ Absprache“ zwischen dem Programmierer/ Befehlgeber und der Maschine. Wie findet diese VER-ABREDUNG statt?
Vielen Dank im Voraus.
Beatka

Frage von HTML&CSS verschoben nach Programmierung allgemein
Überschrift angepasst
MOD Pierre

1 Like

Hallo,
der Computer macht dies, was der Programmierer vorgibt, weil der Programmierer weiss, was der Computer versteht. Warum sprichst Du mit einem Englaender nicht deutsch, sondern englisch? Weil er es versteht. Was der Computer versteht, legst Du beim Kauf fest, indem Du seine Sprache mit-kaufst oder einspielst.

1 Like

Auch hallo

Ein elektronisches Gerät (z.B. ein Computer) reagiert auf im Grund nur auf Anweisungen, Strom durch irgendwelches Material fliessen zu lassen und zeigt einem Lebewesen (z.B. einem Menschen) eine mit dessen Sinnesorganen wahrnehmbare Reaktion. Der tiefere Sinn und Zweck dieser Aktion sowie deren Interpretation oder Auswirkungen sind aus Rechnersicht dabei egal.
Bereits eine einfache Anweisung „print („Hallo Welt“)“ ist aus mathematischer Sicht eine Umwandlung von x-y-Koordinaten der einzelnen Buchstaben in die Pixeldarstellung am Bildschirm.

mfg M.L.

In Maschinensprache - egal, welche Programmiersprache, es benötigt immer einen Compiler oder einen Interpreter, der diese Sprache für den Computer übersetzt, denn der kennt nur zwei Zustände: Strom fließt, Strom fließt nicht, also 1 oder 0 - und genau das machen die „Hilfsprogramme“, ein Programm in 0er und 1er zu übersetzen.

Man wandelt schriftliche Befehle in Maschinensprache um. bindet dieses dann so in einen Editor ein, dass man nur noch diese Befehle eingeben muss und schon hat man eine Programmiersprache.
Dann muss man natürlich noch die ganzen Funktionen einbinden, damit man das Programm dann schlussendlich auch noch in eine ausführbare Version compilieren kann.

ähm… hier ist das schon nett erklärt

1 Like

Der Code von zB JAVA oder C++ etc wird nach Assembler übersetzt.
Assembler ist die Sprache der Maschine.
Besteht nur aus
0+1.
Kennt nur
Boolesche Verknüpfungen.

Das ist beeindruckend.
An dieser Antwort stimmt exakt gar nichts.

Man muss auch unterscheiden zwischen höheren Programmiersprachen und Maschinencode. Höhere Programmiersprachen lassen sich leichter bearbeiten. Letztlich übersetzt aber der Compiler die Anweisungen immer so, dass sie von der Maschine auch ausgeführt werden können.

Nicht immer. Bei Programmiersprachen, die Plattformunabhängigkeit unterstützen (z.B. Java oder C#) , wird in eine maschinenunabhängige Zwischensprache übersetzt, Diese Zwischensprache wird auf dem System, auf dem das Programm ausgeführt werden soll, interpretiert oder auch Just In Time ein weiteres Mal compiliert.

1 Like

Ich beginne mit einem Vergleich. Ein nepalesischer Ureinwohner (= Computer) möchte für dich arbeiten. Er versteht aber kein Deutsch (= Sprache des Programmierers) und du nicht seinen Dialekt (= Befehlssatz der CPU)

Ihr braucht einen Dolmetscher (= Compiler / Interpreter). Allerdings gibt es für diesen Dialekt nur Dolmetscher, die englisch verstehen. Du musst erstmal englisch lernen (= Programmiersprache, z.B. Assembler, C, PHP, …), hast dann aber den Vorteil, auch Dolmetscher für andere Zielsprachen (= andere CPU-Familien) zu finden.


Die CPU (central processing unit) eines Rechners wird vom Hersteller ausgestattet mit einem internen Befehlssatz von mehreren hundert bis tausend binären Kommandos. Ungefähr so:

  • Kopiere den Inhalt von Speicheradresse A in das Rechenwerk. Nehmen wir an, der Inhalt sei die Zahl 3.
  • Addiere den Inhalt von Speicheradresse B dazu, der sei 10.
  • Kopiere das Ergebnis des Rechenwerks nach Speicheradresse C
 0011 (0x8 + 0x4 + 1x2 + 1x1)
+1010 (1x8 + 0x4 + 1x2 + 0x1)
=1101

Von rechts nach links addieren, wenn mehr als 1 rauskommt, 0 setzen und die 1 auf die nächste Stelle.

Nun kann die CPU etwas anderes machen und sich später den Wert aus Speicheradresse C holen.

Das Rechnen mit 0 und 1 sieht umständlich aus, geht aber blitzschnell. Weil das nicht die Sprache / Mathematik des Menschen ist, braucht er eine Programmiersprache. Statt Speicheradressen verwendet der Mensch Variablennamen, statt binärer Kommandos unsere üblichen Rechenzeichen:

  • arbeitsstunden_montag = 3
  • arbeitsstunden_dienstag = 10
  • arbeitsstunden_woche = arbeitsstunden_montag + arbeitsstunden_dienstag

Aus dieser Menschen-/Mathematiker-Sprache erstellt ein Compiler oder ein Interpreter dann den binären Maschinencode für eine bestimmte CPU-Familie.

Ein anderer Compiler / Interpreter kann aus demselben Text den Code für eine andere CPU-Familie erstellen.

Ein Compiler ist ein Programm, das den Text in Maschinencode umsetzt und als ausführbare Datei speichert, z.B. als wochenstunden.exe.

Ein Interpreter ist ein Programm, das den Text einliest, in Maschinencode umsetzt und sofort ausführt.

Gruß, Kurti

1 Like

Ursprüngliche Frage
"…kann mir bitte jemand ganz einfach erklären, wie ein Programmiercode erstellt wird? "…

Nun, ich weiss es nicht.

Einfache Fragen einfach zu erklären ist eine Kunst. Stattdessen steigern sie sich in nicht relevanten Antworten. Manche davon übersteigen das Wissen des Schreibers - sorry.

Versuche die Frage mit einer Skizze zu beantworten, indem man von unten beginnt. Selbst dann dürfte es keine Lösung geben mit der Antwort, dass der Computer nur 0 und 1 versteht - das Dualsystem … mit dem kann man rechnen.

Ich gehöre zur Generation, der Progrämmchen in Maschinensprache verfasste (für die Anzeige von Zahlen). Da dieses Wissen längst nicht mehr gefragt wird wurde es vergessen.

Was nütz dieses Wissen?
N.B. Am PC: Power ON. Was alles läuft bis ein Betriebssystem (z.B. Windows) gestartet ist? Diese Frage kann man z.B. brauchen, wenn der PC abstürzt.
Gute Frage Beatka - ich vermute mit der Antwort kannst Du nicht viel anfangen.
Alles Gute

Hallo,
noch zwei zum Grinsen:
Eines meiner ersten Basic-Programmierungen zum Ueben mit einem neuen Computer damals,
Befehlszeile addiere 2 und 3 fuehre aus ( 2 + 3 enter)
Ergebnis fertig
ich hatte 5 erwartet, es wurde „fertig“ errechnet
naechster Befehl schreibe das Ergebnis auf den Bildschirm
print ( 2+3)
schon kam die erwartete 5 in den Blick
.
In der Ausbildung
addiere „er“ plus „ich“
Ergebnis „erich“

1 Like