Um die Konzepte der Programmierung zu verstehen, muss man etwas weiter ausholen. Dir muss klar sein, dass einfaches Lesen des Guides dich nicht zum Master of the Universe macht. Programmieren lernt man dadurch, dass man programmiert. Learning by doing ist das Stichwort.
Also los geht's!
Wie auch in unserer Sprache gibt's es verschiedene Programmiersprachen. Es gibt z.B C, C++, Python, Java usw. Der große vorteil liegt aber darin, wenn Du eine Sprache kannst, hast Du es leicht weitere zu erlernen. Da die Konzepte gleich bleiben, es ist völlig egal, ob ich eine Software in Java oder C++ schreibe. Die Programmiersprache ist nur das Werkzeug. Natürlich brauchen spezielle Programme auch spezielle Techniken. Du kannst z.B schlecht einen Treiber für einen USB-Stick mit Java schreiben. Dafür wird eher C verwendet, da Java nicht sehr hardwarenah ist, aber dazu später mehr.
Es gibt 3 Typen von Programmiersprachen, die Compiler-, Interpreter- und die sogenannten Bytecodesprachen.
Hä was?!
Die Compilersprachen sind vereinfacht gesagt, Sprachen die vom Computer in Maschinencode umgewandelt werden, also das typische
01001101 01100001 01101100 01110100 01100101 00100000 01101001 01110011 01110100 00100000 01110011 01100101 01111000 01111001
Vorteile: sehr schnell, sehr hardwarenah, sehr geil
Nachteile: Fehler werden meistens erst spät erkannt, es muss sehr viel auf die Hardware geachtet werden, meistens nicht plattformübergreifend
Compilersprachen sind z.B C, C++ oder auch Assembler.
So sieht's im Prozess aus:
Der Prozess ist hier aber sehr vereinfacht.
Wie der Name schon sagt, werden diese Sprache interpretiert. Doch was heißt das?
Du hast eine Datei, die wird von einem Programm eingelesen und ausgeführt. Das spart Zeit, da man diese Datei nicht noch compilern muss.
Vorteile: kein Compiler ist nötig, plattformunabhängig, Fehler werden bei der Laufzeit erkannt
Nachteile: langsamer als Compilersprachen, nicht hardwarenah
Interpretersprachen sind z.B Ruby, Python, JavaScript oder PHP.
Der Prozess sieht etwa so aus:
Aber auch hier gilt, sehr vereinfacht.
Kommen wir zur letzen Sprachenart, die Bytecodesprachen. Bei den Bytecodesprachen handelt es sich um eine Mischung aus Compiler- und Interpretersprachen. Die beiden Techniken werden sozusagen vereint. Dazu gehört aber noch eine VM (Virtual Machine). Die VM übernimmt das Compilern und Ausführen.
Die Dateien werden am Anfang interpretiert und in Bytecode umgewandelt. Danach wird dieser Bytecode von der VM kompiliert und ausführbar gemacht.
Nach der Kompilierung fehlt noch die VM. Ohne kann das Programm nicht ausgeführt werden. Also muss man diese VM installiert haben, um damit arbeiten zu können und um Programme auszuführen.
Vorteile: plattformunabhängig, meistens schneller als Interpretersprachen
Nachteile: langsamer als Compilersprachen, nicht hardwarenah
Bytecodesprachen sind z.B Java, oder C#.
Hier erkläre ich kurz die JVM. Da wir gelernt haben, dass Java eine Bytecodesprache ist, benötigt sie auch eine VM. Und jetzt ratet mal was JVM heißt.
Richtig, Java Virtual Machine kurz JVM. Darin wird unser gesamter Javacode verarbeitet und bei Bedarf ausgeführt.
Sieht kompliziert aus. Ist es auch. Wir kommen darauf später zurück.
Wie gesagt wird Java benötigt, umb die JVM zu schreiben. Aber auch zusätzliche Programme wie JavaDoc. Ich gehe darauf später näher ein. Wir laden uns das JDK (Java Development Kit) herunter. Ihr könnt es euch hier herunterladen. Wählt eure Plattform aus und installiert das JDK.
Natürlich brauchen wir einen Editor, um unsere Quelltexte zu schreiben. Ich benutze dafür Visual Studio Code. Einen sehr flexiblen und schnellen Code Editor. Ihr könnt ihn euch hier runterladen. Natürlich könnt Ihr auch andere Editoren benutzen. Alternativen sind Atom, Sublime Text und Notepad++.
Wenn Ihr lieber eine IDE (Integrated Development Environment) benutzen wollt empfehle ich Intellij oder Eclipse.
Ich schreibe für alle drei Programme (VSCode, IntelliJ und Eclipse) einen Guide. Guck dafür weiter unten.
Nun fragst Du dich sicher, Und jetzt ? Im nächsten Kapitel werden wir uns die IDE Eclipse anschauen, damit alles reibungslos in die Programmierung übergehen kann. Klick dafür hier.
Eine weitere Sache, die vorteilhaft wär', ist, dass Du Git lernst. Es ist ganz einfach klick dafür hier. Lies es dir in Ruhe durch. Du findest Git im Abschnitt Informationen (Ganz oben).