Hast du dich einmal entschlossen, die ersten Schritte als Programmierer zu gehen, fragst du dich ganz schnell, mit welcher Programmiersprache du starten solltest. Die Auswahl ist sehr breit angelegt.
Schaue Dir zur Beantwortung dieser Programmieranfänger frage, folgendes Video an:
Welche Programmiersprache zum Anfang wählen?
Eine der häufigsten Fragen, die wir auf LerneProgrammieren erhalten ist:
"Mit welcher Programmiersprache soll ich anfangen?"
Was die Antwort mit dem Autofahren zutun hat und warum die Sprache letztendlich völlig egal ist erfährst du jetzt.
1. Viel Verwirrung bei der ersten Sprache
Eines der ersten Dinge, die du als Programmieranfänger hörst, ist dass man eine Programmiersprache beherrschen muss, wenn man Programmieren will.
Und schon bist du auf der Recherche nach Programmiersprachen.
- Welche Sprachen gibt es?
- Welche ist die Beste?
- Was kann ich damit erstellen?
- Wie kann ich die Programmiersprache lernen?
Der erste Schritt ist, auf die 1000 Meinungen von Programmierern zu hören. Denn jeder Entwickler bevorzugt eine andere Programmiersprache zum Lernen.
Schluss damit.
Zeit, dass du lernst, das Ganze zu verstehen, um es objektiver bewerten zu können.
2. Was ist eine Programmiersprache?
Lass uns erstmal anschauen, was eine Programmiersprache eigentlich ist und wie sie entstanden sind.
Eine Programmiersprache ist ein Werkzeug, um einem Computer, Befehle geben zu können. Wenn man mehrere Befehle hintereinander ablaufen lässt, ist das ein Programm. Das Programm wird dabei in Maschinensprache übersetzt.
Diese Maschinensprache besteht im Prinzip aus vielen Rechenoperationen die nacheinenander ausgeführt werden. Als die Computer noch so groß wie Häuser waren, also als es noch keine Personal Computer gab, wurden Computer über einfache Schalter und Lochkarten bedient. Also im Prinzip kann ein Computer nichts anderes als nur binär addieren. (Binär: 010111110101)
Dies macht er aber so schnell und effizient, dass auf dieser Grundlage unsere gesamte heutige Computertechnologie basiert.
Für eine einfache Addition musste man zuerst die Zahlen in binäre Zahlen umwandeln dann mehrere Schalter bedienen.
Dann hat man eine binäre Zahl erhalten, welche man dann in eine für uns lesbare Zahl umrechnen konnte. Wenn dich das Thema interessiert kommentiere unten mal mit „Computer“, denn tiefer ins Detail soll es heute hier nicht gehen.
Da die Bedienung dieser Schalter so kompliziert war und immer komplexer wurde, wurden die Rechenmaschinen immer weiter entwickelt bis diese tatsächlich nützlich wurden. Dabei ist eine Maschinensprache entstanden, welche verschiedene Rechenoperationen nacheinander ausführen konnte.
Da aber das immer noch vielen zu kompliziert war und die Erstellung der Maschinensprache sehr aufwendig war, wurden Programmiersprachen entwickelt, die besser vom Menschen verstanden werden können. So spricht man heute von verschiedenen Generationen von Programmiersprachen.
Die Entwicklungen gehen von Assembler über Basic und C++ bis hin zu JavaScript, auf Wikipedia werden über 350 Programmiersprachen gelistet.
Bis heute werden Programmiersprachen weiterentwickelt.
Stark vereinfacht, ist eine Programmiersprache ein Werkzeug um viele Rechenoperationen mit Schaltern durchzuführen. Merk Dir das.
Wie sehen die einzelnen Programmiersprachen aus?
Mit welcher Sprache man anfängt, hängt davon ab, was man als erstes Projekt machen möchte.
Die folgenden Screenshots sollen dir zeigen, wie die verschiedenen Programmiersprachen in einem Texteditor aussehen. Der Code ist nicht vollständig, aber soll dir zeigen inwiefern sich die Programmiersprachen ähneln. Was der Code dort macht und tatsächlich bedeutet, lernst Du z.B. in unseren LerneProgrammieren-Kursen.
C, C++, C#
C, C++, C# kommt hauptsächlich im Server/Desktop-Umfeld vor, wird also benutzt für Programme die lokal auf einem Computer laufen. C# wurde von Microsoft entwickelt, die Programmierung wird dementsprechend unter Windows gemacht. Mit C und C++ kann man für viele Plattformen wie Linux, Mac und Windows programmieren, aber auch Hardwarenahe-Programmierung wird mit C und C++ durchgeführt.
Hier der gleiche Code in der Programmiersprache C#
Java
Java ist eine Sprache die auf verschiedenen Plattformen läuft, für die es eine Java Virtual Machine gibt. Es gibt Leute die sagen Java nach, langsam zu sein. Ich möchte hierüber kein Urteil machen, die Geschwindigkeit ist von zu vielen Faktoren abhängig.
Außerdem ist Java die Programmiersprache für Apps auf der Android Plattform. Wenn du Apps für Android Smartphones schreiben möchtest, bist du bei Java genau richtig. Genauso gut kann man damit Webanwendungen und Desktop-Applikationen sowie 3D-Spiele schreiben. Diese Sprache ist wirklich sehr vielseitig.
Javascript und PHP
Javascript und PHP, das sind die Sprachen im Internet. Im Zusammenspiel mit HTML und CSS sind dies mächtige Werkzeuge. Wenn man Programme für das Web erstellen möchte, also zum Beispiel Spiele, Webapps oder Responsive Websites kommt man um Javascript nicht drumherum.
Bei Javascript hat man einen riesigen Vorteil als Einsteiger. Wenn du einen modernen Browser wie Firefox oder Chrome nutzt, brauchst du dir am Anfang keine Gedanken über eine Entwicklungsumgebung machen. Du brauchst lediglich einen Text-Editor und kannst direkt loslegen, alle notwendigen Werkzeuge zur Programmierung sind im Browser integriert.
Dies ist auch der Hauptgrund warum der lerneProgrammieren-Anfängerkurs mit dieser Sprache arbeitet, dort lernst du neben den Grundlagen von Programmiersprachen, wie man Spiele und kleine Webanwendungen mit Javascript erstellt.
Visual Basic bzw. Basic Sprachen
Diese Sprachen zeichnen sich hauptsächlich durch eine angeblich leichtere Lesbarkeit aus. Viele Anfänger halten die Sprache für sehr leicht verständlich. "Experten" tun Basic schnell als Spielerei ab. In den Anfängen der Computerentwicklung wurde die BASIC-Sprache entwickelt um Anfänger die Prinzipien der Programmierung beizubringen.
BASIC ist übrigens eine Abkürzung für: „Beginner’s All-purpose Symbolic Instruction Code“, was so viel bedeutet wie „symbolische Allzweck-Programmiersprache für Anfänger“. Aber BASIC wurde weiterentwickelt. In Office-Programmen wie Microsoft Word, Excel, usw. kann man mit Visual Basic die Standardfunktionen um eigene Funktionen erweitern. Dies ist hilfreich, wenn man bestimmte Arbeiten in Excel oder Word automatisieren möchte.
Andere Programmiersprachen
Dies sind natürlich noch lange nicht alle Sprachen. Schau dir mal den TIOBE Index an. Das ist eine Liste mit den beliebtesten Sprachen, welche immer aktuell gehalten wird. Im Trend für Anfänger ist momentan Python. Ein paar weitere Programmieresprachen habe ich hier aufgelistet.
3. Sind alle Sprachen gleich?
Beschränkt man sich auf die modernen heutigen Programmiersprachen, können letztendlich alle Sprachen dasselbe. Und da kommen wir auch schon zu unserem Beispiel.
"Mit welchem Auto lernst Du am besten Auto fahren?"
Stell dir vor du möchtest mit einem Auto von A nach B fahren. Wenn du noch keinen Führerschein hast und gerade anfängst Autofahren zu lernen, ist es völlig egal, mit welcher Automarke du das machst. Das Modell, die Motorisierung und die Sonderausstattung spielen keine Rolle.
Aber es gibt Ausnahmen:
Manche Autos haben kleine Fahrhilfen, die zum Beispiel beim Lernen helfen. Oder es gibt Autos für einen bestimmten Zweck, wie zum Beispiel LKWs oder Busse.
Dafür muss man spezieller lernen und einen eigenen Führerschein machen. Du hast im Prinzip gelernt, wie man das Werkzeug Auto verwendet um damit von A nach B zu kommen. Und wenn du es einmal gelernt hast, dann kannst du auch relativ einfach in einem anderen Auto fahren.
Und das ist auch der Grund warum es völlig egal mit welcher Programmiersprache du startest.
Du solltest bei der Auswahl nur eins beachten: Wie einfach und wieviel Erfahrungen kannst du mit dieser Sprache sammeln?
Um zum Beispiel zurückzukehren: Was ist besser für einen Fahranfänger?
Das schnelle Cabrio, bei dem jede Beule ein Vermögen kostet oder der gebrauchte Kleinwagen, mit dem man überall hinkommt und der günstig beim Tanken ist?
Wenn man nicht auf den Geldbeutel achten muss kann man auch mit dem Sportwagen fahren lernen. Aber vielleicht ist ein wenig Vorerfahrung hilfreich, oder?
Nun, welche Programmierssprache ist nun die Beste am Softwarehimmel?
Ich möchte das Autobeispiel nicht überstrapazieren, deswegen noch ein letztes Mal: Frag mal in einem Autoforum nach dem besten Auto zum Fahren lernen.
Klar, jeder bevorzugt das, womit er gelernt hat. Aus dem Grund, weil er damit die meisten Lernerfahrungen gemacht hat. Deswegen sind die Antworten, die du bei solchen Fragen im Internet erhältst, so unterschiedlich.
Muss man alle Programmiersprachen lernen?
Um den Einsteigern einen kleinen Einblick zu geben, welche Sprachen ein angehender Programmierer so lernt, zeige ich kurz meine gelernten Sprachen auf. Die ersten Schritte und Anweisungen habe ich in Quick Basic gemacht.
Nachdem die ersten Versuche mit C und C++ gescheitert sind, habe ich in der Schule als nächstes Pascal gelernt, mit den so gewonnenen Kenntnissen hab ich dann auch C++ verstanden. In der Ausbildung habe ich dann die ersten Programme mit grafischer Oberfläche (GUI) mit Delphi/Object Pascal geschrieben.
Dort hatte ich als Webmaster zutun und habe PHP, HTML/CSS gelernt. Als nächstes war dann C# und Java dran. Als Angestellter arbeite ich zurzeit mit Java. Für lerneProgrammieren(); habe ich mich in Javascript eingearbeitet. Das hört sich jetzt vielleicht nach einer Menge Arbeit an, aber bei den genannten Sprachen gibt es gewisse Grundelemente, welche für diese Programmiersprachen gleich sind.
Hat man sich eine Programmiersprache angeeignet, kann man sehr schnell umsteigen. Der Umstieg von z.B. C# auf Java ist reine Fleißarbeit, weil man einfach ein paar Codebeispiele die man aus C# kennt in Java nachprogrammiert. Der Teufel steckt hier im Detail, wenn solche Programmiersprachen Spezialfunktionen haben, welche es bei anderen Sprachen nicht gibt.
Hier gilt dann: Dokumentation durchlesen und Tutorials durcharbeiten.
4. 3 Dinge, die Du bei der Wahl beachten solltest
Fang mit einer Sprache an, mit der du einfach und ohne viel Installation starten kannst. Die Sprache sollte dir die Möglichkeit bieten viele kleine Projekte in den Bereichen machen zu können die dich interessieren.
- Wie wärs mit einer Webseite?
- Und dazu eine App?
- Vielleicht noch ein kurzes Videospiel zum Spass?
Hilfreich, wenn das mit einer Programmiersprache möglich ist.
Egal welche Sprache du zu Anfang lernst, irgendwann wirst du an eine Grenze kommen, bei der du nicht mehr mit der selben Programmiersprache weiterarbeiten kannst.
Die Ursachen können unterschiedlich sein: Entweder ist etwas nicht performant, der Sprache fehlt ein bestimmtes Feature oder es wird zu umständliche mit der Sprache weiterzuarbeiten.
Du solltest also immer im Hinterkopf behalten, dass du die Programmiersprache wechseln kannst sobald es notwendig ist und der Wechsel dann auch kein Problem mehr ist, da du die Grundlagen bereits verstanden hast.
5. Meine Empfehlung für Dich als Anfänger
Welche Sprache man wählt ist abhängig vom Einsatzzweck. Die Sprache ist nicht mehr als ein Werkzeug.
Man kann mit einer Bohrmaschine ein Loch bohren. Welchen Bohrkopf man dafür nehmen muss, hängt nun mal von vielen Faktoren ab. Aber den Umgang mit einer Bohrmaschine lernt man mit egal welchem Bohrkopf. Um an dein Ziel zu kommen, musst Du manchmal verschiedene Bohrköpfe ausprobieren.
Du möchtest trotzdem wissen, mit welcher Programmiersprache du anfangen solltest?
Meine persönliche und subjektive Meinung dazu ist Javascript.
JavaScript for the Win!
Und das aus den folgenden Gründen:
- Du hast die notwendige Software bereits installiert, denn Javascript läuft im Browser.
- Mit Erweiterungen kannst du mit Javascript alles programmieren, was du dir als Anfänger vorstellen kannst.
Und das war auch schon die kurze Antwort zu der Frage: "Mit welcher Programmiersprache fange ich am besten an?"
Falls du Fragen oder Anmerkungen hast, dann kommentiere jetzt unter diesem Artikel.
- Programmiere echte Apps als Anfänger
- Keine Installation, sofort loslegen
- Komplett praxisbezogen
- Zugriff auf Online-Editor