Was ist eine Programmiersprache?

·

·

Um das zu erklären musst Du wissen, wie ein Computer funktioniert und was “programmieren” bedeutet.

Ein Computer besteht aus vielen Teilen, doch das Wichtigste ist der Prozessor, auch Central Processing Unit (CPU) genannt. Er berechnet die Aufgaben und koordiniert teilweise den Computer. Wenn man etwas programmiert versteht man darunter, dem Computer Anweisungen zu geben, die er dann ausführt. Damit das programmierte Programm interaktiv ist, wird anhand des Inputs(Eingabe), z.B. Tastatureingaben oder Mausposition der Output(Ausgabe) erzeugt, der Output ist das was wir dann auf dem Bildschirm sehen oder als Blatt aus dem Drucker kommt. Was wäre ein Spiel ohne Eingabe, kein Spiel, weil es nicht interaktiv wäre. Es gibt viele verschiedene Eingabetypen, aber die wohl am häufigsten genutzte, ist die Tastatureingabe. Programmieren beinhaltet, einen Input zu verarbeiten und ein Output zu erzeugen durch logische und mathematische Operationen.

Programmiersprachen sind Texte, der Computer liest sie und führt sie aus. Aber das ist nicht so einfach wie einen deutschen oder englischen Text zu schreiben, eher ist es wie eine Fremdsprache, z.B. Chinesisch, denn man versteht kein Wort. Mit Programmiersprachen kann man nichts erklären, sie dienen nur zum Geben von Anweisungen an den Computer und haben nur ein kleines “Vokabular”(vordefinierte Befehle). Wenn man einen Computer sagen will, das der Himmel blau ist, dann kann man nicht schreiben “Himmel ist blau”, da er dumm ist, ein Computer hat keine Intelligenz, er weiß nicht was ein Himmel ist und was blau bedeutet. Das führt dazu, dass etwas einfaches wie ”Himmel ist blau” nicht für einen Computer zu verstehen ist, da er selbst nichts weiß und fast nur rechnen kann.

 

Welche Programmiersprachen gibt es?

Ein Prozessor kann heute ungefähr 90 Befehle verstehen, die er selbst dann erledigt. Da diese Befehle für den Menschen kaum zu verstehen sind und so auch kaum einer programmieren kann, wurden High-Level Programmiersprachen entwickelt. Diese sind gegenüber zu den Low-Level Sprachen, auch Assembler Sprachen genannt, gut zu verstehen und bieten deutlich mehr als 90 vordefinierte Befehle. Aber das ist nicht der einzige Vorteil von High-Level-Sprachen, auch sind Assembler Sprachen vom Prozessor abhängig, zum Beispiel läuft ein Programm, welches in Assembler geschrieben wurde nicht auf einem AMD Prozessor, wenn das Programm für einen Intel entwickelt wurde, da Low-Levelsprachen (Assembler) sehr nah an der Maschinensprache (0100101000010) sind. Assemblersprachen findet man deswegen heute hauptsächlich nur noch in IoT-Systemen (Internet of Things) wie z. B: in einem Roboter oder sonstigen Industriellen Controller Systemen. Ihr Vorteil ist die höhere Geschwindigkeit beim Rechnen.

Höhere Programmiersprachen wären Skriptsprachen wie: JavaScript, PHP und Python.

Tiefere Programmiersprachen (Hardware nahe) wären Systemsprachen wie: C, C++, C# und Java.

Es gibt über 1000 Programmiersprachen, doch es werden nur ca. 20 Sprachen häufig verwendet. Mir bekannt sind: JavaScript, PHP, Ruby, Phyton, COBOL, C, C++, C#, Visual Basic, BASIC, Batch, Java und Perl. Wer eine größere Liste will, findest Du hier: https://de.wikipedia.org/wiki/Liste_von_Programmiersprachen

 

Was ist der Unterschied zwischen höheren und tieferen Programmiersprachen?

Erstmal sind tiefere Programmiersprachen näher am Maschinencode (01000101001) und werden meistens compiliert. Compilieren heißt übersetzen in eine ausführbare Maschinensprache oder einen Bytecode. Bytecode ist höher als die Maschinensprache und benötigt deshalb noch einen Interpreter, der den Code dann in Maschinensprache übersetzt. Vorteil hierbei ist die Plattformunabhängigkeit (egal welches Betriebssystem), der Interpreter kann für jedes Betriebssystem programmiert werden. Java ist eine Sprache die in Bytecode umgewandelt wird und deshalb einen Java Interpreter benötigt, den Du zusätzlich installieren musst. Nachteil ist aber das interpretierte Sprachen langsamer sind als compilierte, dies ist vorallem bei der Spielentwicklung ein ausschlaggebendes Argument, um eine compilierebare Sprache zu verwenden. Auch haben tiefere Programmiersprachen keinen automatischen Speichercontroller, sondern müssen während der Programmierung den erforderlichen Speicher adressieren, was zwar Geschwindigkeit bringen kann, aber schwierig ist. Höhere Programmiersprachen sind vor allem deswegen und wegen der Datentyp-Unabhängigkeit für Einsteiger geeignet. Datentyp-Unabhängigkeit bedeutet, dass es der Programmiersprache egal ist ob die Variable einen Zahlenwert, Buchstaben oder sonstiges ist. Bei C z. B. muss man den Werttyp zuvor wissen im Gegensatz zu Skriptsprachen.

 

Was braucht man zum Programmieren?

Nehmen wir mal an, man will ein Programm programmieren. Was braucht man dafür?

Erstmal einen Computer, der ist unverzichtbar wenn man sein Programm ausführen will. Aber was braucht man noch? Eigentlich fast nur Wissen über eine Programmiersprache. Fast, weil ich es vorraussetze, dass ein heutiger Computer ein Betriebssystem mit einem Textverarbeitungsprogramm hat. Bei Windows können Sie zum Beispiel den Editor nehmen, dieser ist in jeder Windows Version vorhanden. Also hast Du bestimmt alles da, bloß was sollst Du jetzt in den Editor schreiben fragst Du dich vielleicht. Ganz einfach, Befehle. Befehle sind das was mit der “Grammatik”, beim Programmieren Syntax genannt, eine Programmiersprache auszeichnen. Wieso Grammatik(Syntax)? Auch wieder nicht schwer, schreibst Du einen deutschen Text ohne Grammatik, nein. Der Syntax ist recht unterschiedlich zwischen verschiedenen Programmiersprachen, aber wenn man eine Programmiersprache kann, ist es nicht mehr so schwierig eine Neue zu lernen.

Wieso es den Syntax gibt? Weil der Computer keinen Anfang und kein Ende eines Befehls erkennt, muss man ihm sagen, wo der Befehl anfängt und wo er aufhört. Das macht man mit Semikolons, Punkten, Absätzen und verschiedenen Klammern.

Für PHP und JavaScript benutzt man ein Semikolon am Ende des Befehls, eine runde Klammer um Parameter (übergebene Werte, wie z.B. eine Zahl oder ein Buchstabe) zu markieren, geschweifte für Funktionen und Anführungszeichen um Text erkenntlich zu machen. Das sind aber nur ein Paar der “Grammatikregeln”, aber wenn man das weiß ist es schon die halbe Miete.

 

Welche Elemente hat eine Programmiersprache?

Es gibt viele Elemente die eine Programmiersprache hat, alle zu erklären wäre nicht wirklich hilfreich und würde Sie nur verwirren. Stattdessen solltest Du wissen, wie man nun etwas programmiert, dazu benötigst Du nur Wissen über die Grundelemente. Wie Du vielleicht weißt, rechnet ein Computer und versteht nichts, deshalb versucht ein Programmierer den Computer mathematische Bedingungen zu geben, um ihm zu erklären, dass er einen Befehl z.B. zehn Mal ausführen soll. Wenn man programmieren will, braucht man ein gutes mathematisches und logisches Verständnis.

 

Die Grundelemente:

  • Variable:
    • Eine Variable ist eine Möglichkeit um im Programm eine Zahl, String (Buchstaben- und Zahlenwert mit dem nicht gerechnet werden kann) oder einen boolschen Wert (wahr oder falsch) zu speichern. In fast allen Programmiersprachen sind Variable der wichtigste Teil einer Programmiersprache, nur durch diese “Platzhalter” die durch einen eingegebenen Wert ersetzt werden können, ist es möglich interaktive Programme zu erstellen.

Beispiel:

JavaScript:     var name = Wert;

PHP:                $name = Wert;

 

  • Bedingung:
    • Eine Bedingung ist eine Abfrage, trifft diese zu, so wird das, was innerhalb der Bedingung ist, ausgeführt. Um eine Bedingung zu erstellen gibt es Operatoren. Operatoren wären da: Gleich, ungleich, größer als, kleiner als, wahr und falsch.

Beispiel:

JavaScript und PHP:

 if (Bedingung) {

   ausführen;

};

 

  • Schleife:
    • Eine Schleife enthält Code der solange ausgeführt wird, wie die Bedingung, die zur Schleife gehört wahr ist. Der Code kann also z.B. zehn Mal ausgeführt werden, das hat den Vorteil, das der Entwickler nicht zehn Mal den Code schreiben muss.

Beispiel:

JavaScript:

for (i=0; i < 10; i++) {

alert("Hallo");

};

PHP:                           

for ($i=0; $i < 10; $i++){

echo "Hallo";

};

Dieses Beispiel gibt zehn mal Hallo aus, in JavaScript in einem PopUp und in PHP als Text.

 

  • Funktion:
    • Eine Funktion ist eine Sammlung von Code, die jederzeit aufgerufen werden können. Z.B. für öfters anfallende Berechnungen schreibt man den Code in eine Funktion, so muss der Code nicht so oft geschrieben werden und kann einfach über den jeweiligen Funktionsnamen aufgerufen werden. Auch können Funktionen mit Parametern aufgerufen werden. Parameter sind Werte, wie z.B. eine Zahl. Diese Zahl kann von der Funktion wie eine Variable verwendet werden. So kann man mit derselben Funktion mehrere Rechnungen ausrechnen, die die gleiche Formel haben.

Beispiel:

JavaScript:

function sagHallo(name) {

        alert('Hallo ' + name);

};

sagHallo("Manuel");

sagHallo("Emma");

In PHP ist diese Funktion, die Hallo Manuel und Hallo Emma ausgibt, fast gleich.

 

Wieso ich diesen Artikel geschrieben habe:

Ich schrieb den Artikel für ein Portfolio, welches die 10.Klasse an der Waldorfschule Wahlwies anfertigen muss. Dazu gehört eine besondere Leistung aus dem jeweiligen Fach in dem man ein Portfolio erstellt. Als Portfolio ist für uns eine Sammlung besonderer Leistungen gemeint, welche die Klasse am Ende des Schuljahres ausstellen müssen. Da ich bei Openstream arbeite veröffentliche ich den Artikel hier.

Zur Webseite mit dem von mir programmierten JavaScript Spiels:

http://spiel.manuelfischer.eu/