Dieser Artikel soll dir einen Überblick über die verschiedenen Programmiersprachen geben und soll dir zeigen, dass die Programmiersprachen an sich gar nicht so verschieden sind. Hier werden die gängigsten Programmiersprachen kurz vorgestellt und erklärt, diese wurden aus dem sogenannten TIOBE-Index genommen, welcher die Beliebtheit von Programmiersprachen misst. Mit welcher Programmiersprache nun loslegen sollte, wird hier nicht empfohlen auch wenn es einen klaren Favoriten gibt. Welcher das ist und warum, liest du in diesem Artikel.
Wie fängt man das Programmieren lernen an?
https://youtu.be/XGakvZ4tDKM
Programmiersprachen in 2021/2022
Hier werden die folgenden Programmiersprachen kurz erklärt:
JavaScript
Java
C und C++
C# (C Sharp)
Visual Basic
PHP
Python
Scratch
Delphi/Object Pascal
Swift
SQL
HTML & CSS (Vorsicht Hater!)
Bei der Erklärung wird die Sprache kurz vorgestellt und erläutert, was mit den jeweiligen Sprachen programmiert werden kann.
Damit solltest du einen guten Überblick bekommen und findest hier die richtige Programmiersprache für deine Umsetzung.
Ausserdem erhälst du einen Mikroeinblick, wie diese Sprache tatsächlich aussieht, damit wirst du schnell merken, dass die meisten Sprachen sich ziemlich ähnlich sind.
Nur wenige Sprachen sehen komplett anders aus. Das Beispiel welches dabei verwendet wird, ist natürlich kein funktionsfähiges Programm, es soll lediglich einen Auschnitt zum Verständnis abgeben. Aber es enthält alle Grundelemente, die eine moderne Programmiersprache enthält, diese Grundelemente wären:
Funktionen/Methoden
Variablen/Objekte
Befehle/Anweisungen
Operatoren
Entscheidungen
Schleifen
Kommentar
Wenn du diese nicht verstehst, kein Problem. Diese wirst du später ohnehin erlernen, egal in welcher Sprache du loslegst.
ACHTUNG: Wähle die Sprache nicht wegen des Aussehens aus! Wähle die Sprache, die dir am meisten nutzt und mit der du lange Erfahrung sammeln kannst. Mit genügend Erfahrung wird dir der Wechsel zu einer anderen Programmiersprache sehr leicht fallen.
Javascript
Die wohl bekannteste Sprache für Webanwendungen ist Javascript. Mit dieser Sprache lassen sich nicht nur dynamische Webseiten programmieren, sondern auch richtige Anwendungen und sogar Spiele erstellen.
Ein riesiger Vorteil ist, dass Javascript keine Zusatzprogramme benötigt, denn es kann einfach in jedem gängigen Internetbrowser ausgeführt werden. Dazu kommt noch eine weitere Stärke:
Dadurch, dass Javascript im Browser ausführbar ist, können damit auch Apps für Mobilgeräte programmiert werden. Das Javascript Programm wird einfach innerhalb eines Browsers gestartet, den der Benutzer nicht sehen kann.
So hat es den Anschein, dass eine ganz normale App verwendet wird und diese App läuft genauso gut auf Android und iOS zugleich. Das allerbeste dabei ist, dass man sich dabei doppelte Programmierarbeit spart. Somit ist diese Sprache eigentlich der Favorit für jeden, der möglichst viele verschiedene Computerprogramme erstellen will.
Für Anfänger gibt es den Anfängerkurs, der die Anfänge der Programmierung in Javascript zeigt. Klicke hier um Javascript Programmieren zu lernen. Dies ist ein Programmausschnitt aus Javascript:
Java
Diese Programmiersprache hat sich auf Millionen Computern und Geräten etabliert.
Java ist plattformunabhängig, das heißt es läuft auf Windows genau so gut wie auf Linux oder Mac OSX. Auch Android setzt auf diese Programmiersprache. Somit kannst du mit Java Anwendungen, Apps und Spiele programmieren.
Java ist eine sehr moderne Programmiersprache und beinhaltet immer die neuesten technischen Konzepte aus der Softwareentwicklung. Was im mobilen Bereich leider fehlt ist meistens die Unterstützung für Apple-Geräte, so dass man dafür dann separaten Quellcode schreiben muss.
Am besten eignet sich diese Sprachen also für den Backendbereich in großen Webanwendungen. Wenn man mit Javascript nicht mehr weiterkommt, sollte man sich definitiv Java anschauen.
Hier ein Java-Codesnippet:
C und C++
C und C++ sind die Urgesteine in dieser Sammlung der Programmiersprachen.
In C haben fast alle heutigen Betriebssysteme ihren Ursprung, selbst heute noch wird in C und C++ programmiert und der Code läuft auch heute noch in unseren Betriebssystemen. C++ ist die Erweiterung von C um die objektorientierten Ansätze. In C++ ist es also möglich Klassen und Objekte zu nutzen.
C und C++ eignen sich für die Hardwarenahe Programmierung, da diese Sprachen in Maschinencode übersetzt werden. Betriebssysteme, Anwendungen und Spiele lassen sich mit diesen Sprachen realisieren und sind sehr performant. Dadurch, dass man sich teilweise selbst um Speicherbehandlung und Zugriff kümmern muss, kann es etwas kompliziert für Anfänger werden.
Hier ein Beispiel in C (C++ ist ähnlich):
C# (C Sharp)
C# ist die konsequente Weiterentwicklung von C++ durch Microsoft. Sie ist vom Aufbau her sehr ähnlich wie Java, hat aber wenig mit Java zutun. Mit C# (C-Sharp) kann man Anwendungen mit dem .NET-Framework schreiben und auch Spiele für PC und XBox sind mit dem XNA-Framework möglich.
Diese Sprache ist wie Java objektorientiert. Die Möglichkeiten C#-Programme auf anderen Plattformen zu nutzen waren bis 2014 begrenzt. Mittlerweile gibt es durch .NET Core eine plattformunabhängige Variante, die es ermöglicht C#-Programme auf mehreren Plattformen nutzen zu können. Man ist also nicht mehr nur auf Windows beschränkt und muss auch keine Sonderframework wie mono mehr nutzen.
Das Codesnippet in C# sieht in etwa so aus:
Visual Basic
Oft als Anfängersprache betitelt. Die erste Version BASIC war tatsächlich als Einstiegssprache für Programmieranfänger gedacht. Heutzutage wird Visual Basic als Sprache für Anwendungen im .NET-Framework benutzt.
Aber auch in der Officewelt findet man Visual Basic wieder. Immer, wenn du kleine Zusatzfunktionen für Word, Powerpoint oder Outlook etc. benötigst, kannst du dir mit Visual Basic kleine Makros schreiben, die für dich Großes bewirken können. In dieser Sprache wird es am besten vom Hersteller unterstützt (z.B. kann man Exceldateien auch mit Javascript erstellen).
Visual Basic sieht so aus:
PHP
PHP ist eine Sprache die in Verbindung mit Webseitenprogrammierung benutzt wird. Der Hauptzweck von PHP ist das Ausgeben einer Webseite und alles was im Hintergrund auf dem Webserver geschieht (sogenanntes Backend).
Hier kann man durch das PHP Programm beinflussen welcher Teil und Inhalt der Webseite angezeigt werden soll. Dabei wird das PHP-Programm immer auf dem Webserver gestartet, auf dem die Webseite gehostet wird.
Besonders beliebt: Abfragen auf Datenbanken um bestimmte Daten auf einer Webseite anzuzeigen. In Verbindung mit Javascript/HTML/CSS ist PHP eine sehr mächtige Sprache.
Der Code sieht bei PHP so aus:
Python
Python ist sehr beliebt bei Anfängern und ist aus einem Hobbyprojekt entstanden. Der Name lehnt sich nicht an die Schlangenart an, sondern an die Komiker Monthy Python.
Mit Python kann man eine Menge Skripte bis hin zu vollständigen Webservern schreiben. Inwiefern die Programme auf verschiednenen Plattformen ausführbar sind hängt davon ab, ob es auf dem jeweiligen Gerät und Betriebssystem eine lauffähige Pythonversion gibt.
Anbei das Codesnippet zu Python:
Delphi/Object Pascal
Pascal ist eine der ältesten Programmiersprachen und wurde in der Schweiz entwickelt. Mit den Weiterentwicklungen ObjectPascal in Verbindung mit Delphi konnte man Desktopprogramme für PC und Notebooks schreiben. Viele Ideen aus ObjectPascal und Delphi wurden in C# übernommen.
Leider gibt es nicht mehr soviele bekannte Bibliotheken für ObjectPascal, weshalb die Sprache langsam an Bedeutung verliert.
Die Syntax sieht etwa so aus:
Swift
Diese Sprache ist extra von Apple für Apple-Geräte entwickelt worden.
Und das will wörtlich genommen werden, denn um Swift programmieren zu können, benötigt man XCode welches nur für das Betriebssystem macOSX verfügbar ist.
Wer sich also auschließlich mit der Apple-Plattform beschäftigen möchte und bereits passende Geräte zuhause stehen hat, sollte sich diese Sprache einmal anschauen.
Scratch
Du hast grade bei den anderen Sprachen einen Schrecken bekommen, weil diese so text-lastig sind?
Okay, auch dafür gibt es zumindest eine kleine Abhilfe. Scratch ist eine Sprache, die rein dazu dient Programmieren zu lernen und wurde extra für Kinder und Jugendliche entwickelt.
Logischerweise lassen sich damit nur relativ kleine Projekte erstellen, die dafür aber begeistern. Kleine Spiele, Minifilmchen und sogar die Steuerung z.B. von LEGO-Robotern ist möglich. Ein Beispiel, wie man in Scratch ein Spiel erstellt, findest du in unserem kostenlosen Scratch-Tutorial. Die Sprache sieht in etwa so aus (und hier macht das Beispielprogramm gar keinen Sinn mehr):
HTML & CSS
Diese Sprachen sind eigentlich keine Programmiersprachen, werden aber gerne zusammen mit anderen Programmiersprachen genannt.
Diese sind wichtig, wenn du Webseiten und Webanwendungen erstellen willst. Mit HTML beschreibt du die Struktur und Inhalte deiner Webseite und mit CSS (Cascading Style Sheets) legst du fest wie diese HTML-Struktur dargestellt werden soll.
Möchtest du mit der Programmierung von Webseiten starten ist der Punkt den du anpacken musst HTML und CSS. Logischerweise kann man das Beispielprogramm nicht in HTML/CSS zeigen.
SQL
SQL ist eine Sprache mit der man Datenbankabfragen machen kann. Damit lässt sich eine Datenbank erstellen, befüllen und wieder auslesen.
Auch diese Sprache wird oft in Verbindung mit Webseiten benutzt. Zum Beispiel um einen Artikel in einem Webshop darzustellen.
Bei SQL ist es erstmal wichtig zu erlernen wie eine Datenbank an sich funktioniert und wie man diese überhaupt benutzt. Datenbanken sind die "performante" Alternative zu Dateien, haben aber ein paar Spezialitäten, die man erstmal verstehen muss.
Fazit zu den Programmiersprachen
Dies ist nur ein kleiner Überblick über Programmiersprachen die heute noch Verwendung finden.
Natürlich gibt es noch viel mehr Sprachen. Ganz klarer Vorteil geht an Javascript, da man hier mit einer Sprache quasi alle Arten von Computerprogrammen erstellen kann und man dazu prinzipiell nicht mehr als einen Browser benötigt.
Scratch ist dann die Variante für Kinder und Jugendliche, die noch nicht so viel Erfahrung mit dem Computer haben.
Was würdest du mit welcher Programmiersprache erstellen? Kommentiere unten!
Quelle: Übersicht über die Programmiersprachen (2022) (lerneprogrammieren.de)
Kriterien zur Beurteilung von Programmiersprachen
Kapselung: Die Programmiersprache muss die Moeglichkeit bieten, Daten, Methoden und Regeln zu einer syntaktischen Einheit zusammenzufassen. Diese Komponenten eines ADTs werden in der Programmiersprache zu einer Klasse zusammengefasst.
Kapselung: Die Programmiersprache muss die Moeglichkeit bieten, Daten, Methoden und Regeln zu einer syntaktischen Einheit zusammenzufassen. Diese Komponenten eines ADTs werden in der Programmiersprache zu einer Klasse zusammengefasst.
Instanzierung: Es muss moeglich sein, Objekte als konkrete Realisierung einer Klasse zu definieren. Ein Objekt ist ein Element aus der Menge der Gegenstaende, die durch den ADT beschrieben wird, und muss alle Eigenschaften haben, die dabei festgelegt wurden.
Schutz: Einzelne Komponenten einer Klasse muessen gegen den unkontrollierten Zugriff geschuetzt werden koennen. Der Zustand eines Objekts darf nur veraenderbar sein durch die Anwendung einer Methode der entsprechenden Klasse.
Trennung von Spezifikation und Implementierung: Es muss moeglich sein, die Eigenschaften einer Klasse getrennt von deren Implementierung zu definieren. Hierzu ein Beispiel: Ein Stack laesst sich durch einen ADT beschreiben. Eine Push-Operation bedeutet zum Beispiel, dass aus einem Stack und einem Element ein neuer Stack gebildet wird. Die naechste Pop-Operation liefert bei einem nichtleeren Stack das letzte Element, das mit "push" auf den Stack gelegt wurde. Ob die Elemente des Stacks in der Implementierung als Vektor mit fester Anzahl von Elementen oder als verkettete Liste gespeichert werden, hat keine Auswirkung auf die Eigenschaften. Diese Forderung ist deshalb so wichtig, weil damit die Trennung zwischen der Entwurfsphase und der Realisierung sauber vollzogen werden kann. Der Entwurf definiert Eigenschaften, die bei der Realisierung in ein Programm umgesetzt werden. Durch die Trennung ist es moeglich, zu einem spaeteren Zeitpunkt die Realisierung ohne Auswirkung auf die Eigenschaften zu veraendern.
Vererbung: Eine Klasse muss ihre Eigenschaften an andere Klassen weitergeben koennen. Dies bedeutet, dass die Eigenschaften einer Basisklasse in einer davon abgeleiteten Klasse verfuegbar sind. Auch dazu ein Beispiel: In einer Verwaltung gibt es verschiedene Kategorien von Personen, naemlich Kunden, Lieferanten und Mitarbeiter. Die gemeinsamen Eigenschaften werden in einer Basisklasse zusammengefasst, in den davon abgeleiteten Klassen werden jeweils nur die zusaetzlichen Eigenschaften definiert. Es muss moeglich sein, dass eine Klasse durch Mehrfachvererbung von mehreren Basisklassen Eigenschaften uebernimmt.
Verzicht auf ein Hauptprogramm: Ein objektorientiertes System besitzt kein Hauptprogramm im herkoemmlichen Sinne. Es besteht vielmehr aus einer Menge von Objekten, die untereinander Nachrichten austauschen, neue Objekte erzeugen und Objekte vernichten koennen. Der Ablauf der Bearbeitung ergibt sich aus dem Datenaustausch zwischen den Objekten. Die Zielsetzung der Nebenlaeufigkeit fordert sogar, dass gleichzeitig mehrere Objekte Aktionen ausfuehren koennen, was im Idealfall in einem Mehrprozessor-System zu einer echten Parallelverarbeitung fuehren koennte.
Quelle: An sechs Kriterien zur Beurteilung von Programmiersprachen gemessen - computerwoche.de