4

Der Einstiegsratgeber zum Programmieren lernen

Programmierung ist nicht nur ein modernes Trendthema sondern ein wichtiger Bestandteil unserer technologischen Zukunft. Wer Technologie beherrschen und gestalten möchte, sollte programmieren lernen.

Dieser Artikel soll dir einen Rundumblick geben, wie du möglichst schnell einsteigen kannst. Egal ob du Onlinekurse, Bücher oder interaktive Tutorials bevorzugst und vielleicht noch gar nicht weißt was du eigentlich später programmieren willst.

Hast du allerdings schon eine Idee oder bist einfach nur neugierig, wirst du einen Ansatzpunkt finden wie du von hier aus weitermachen kannst. Die Tatsache, dass du hier gelandet bist, bedeutet, dass du bereits Programmieren lernen möchtest und du damit auf dem richtigen Weg bist.

Für dich soll dies der letzte Artikel zum Programmieren lernen sein, den du googeln musst. Außerdem bin ich neugierig zu erfahren, warum du programmieren lernen möchtest, also darfst du gerne einen Kommentar hinterlassen. Auch wenn du meinst, dass ich noch etwas ergänzen sollte, schreib einfach ein Kommentar.

Was du in diesem Artikel erfahren wirst:

  • Einen Computer programmieren
  • Die Sprachen der Computer verstehen
  • Wie man programmieren lernen kann
  • Programmieren lernen ist einfach?
  • Die besten Quellen und Ressourcen für den Anfang

Einen Computer programmieren

Wenn du diesen Ratgeber grade liest, benutzt du grad höchstwahrscheinlich einen Computer, richtig?  Ja, auch das Smartphone und dein Tablet sind Computer. Alle Computerteile, die man anfassen kann (und manchmal treten und werfen könnte), nennt man Hardware.

Auf deinem Computer laufen Programme, die du benutzt. Du benutzt zum Beispiel grade einen Browser oder PDF-Reader. Diese Programme sind im Computer gespeichert und nennen sich deshalb Software. Software, weil man diese nicht anfassen kann.

Auch wenn uns manchmal die Software dazu verleitet, die Hardware zu verfluchen. Du möchtest programmieren lernen, dass bedeutet du möchtest lernen, wie man irgendwann Software entwickelt. Wie das geht lernst du gleich noch, aber zuerst schauen wir uns an was eigentlich Programmieren ist und was ein Programmierer so den ganzen Tag lang macht.

Was ist Programmieren?

Jemand der programmieren kann und programmiert, gibt ganz allgemein gesprochen erstmal „nur“ Anweisungen an einen Computer. Diese Anweisungen sind allerdings so aufgebaut, dass der Computer diese eigenständig, also automatisiert und ohne Hilfe eines Menschen abarbeiten kann. Damit dies auch erfolgreich passieren kann, muss so ein Computerprogramm gründlich durchgeplant sein. Im Prinzip kannst du es dir vorstellen, wie die Planung einer großen Veranstaltung (zum Beispiel eine Party, Konferenz oder ein Fußballspiel). Du bist der Veranstalter der alles in der Hand hat und planen muss. Wenn deine Veranstaltung geplant ist, muss jeder Handgriff sitzen, ohne dass du da bist. Alles muss passen: Örtlichkeit, Verpflegung, Unterhaltung, usw. Deine Gäste sollten wissen, wann etwas passiert und deine Lieferanten müssen wissen, wann sie was wohin liefern sollen. Schlägt hier in der Planung etwas fehl, wirkt es sich auf deiner Veranstaltung aus und es kommt zum durcheinander. Wenn auf einer kleinen Party die Musik ausfällt wird sich niemand beschweren. Aber wie würden die Leute reagieren, wenn nach einem Fussballspiel im Stadion plötzlich alle Toiletten ausfallen? Das sind natürlich echte Probleme, aber diese sollen demonstrieren woran man beim Programmieren eigentlich alles beachten muss. Man muss dieser dummen Rechenmaschine beibringen, Dinge selbstständig und ohne Hilfe zu tun. Das dies nicht immer funktioniert, hast du vielleicht schon mal bemerkt, wenn eine App abstürzt oder du Grafikfehler in einem Videospiel siehst. Du fragst dich bestimmt, wie man aber nun dem Computer diese Befehle gibt. Dies passiert mit einer Programmiersprache. Diese Sprache kann von einem Programm in Maschinenbefehle übersetzt werden und damit kann der Computer die Anweisungen ausführen. Wenn du diese Sprache sprechen kannst, kannst du deinem Computer Befehle geben. Wie du aber im Beispiel der Party gesehen hast, ist die Programmiersprache allein nicht das wichtigste. Zuallererst muss man wissen, was der Computer überhaupt tun sollte, damit er deine Aufgabe automatisch und alleine lösen kann. Wie sieht das denn eigentlich aus? Hier ein Beispiel von einem Programmierer:

Der Alltag von Daniel, einem Programmierer

Daniel steht morgens auf und macht seine Sportübungen nach dem Frühstück. Während des Frühstücks schaut er kurz in seine E-Mails um sicherzugehen, dass seine Webseiten, durch einen eventuellen Ausfall, weiterhin online sind (das Smartphone ist von der Firma bezahlt). Außerdem gibt es eigentlich täglich neue Anfragen für Features oder auch Fehler, die er noch beheben muss. Nach seinem Sportprogramm setzt er sich mit einem Kaffee ins Home Office, denn er arbeitet heute Vormittag von zuhause aus. Die Hardware bekommt er von seinem Arbeitgeber, damit er quasi von überall aus arbeiten kann (er hat sich sogar schon mal einen kleine Reise gegönnt und von dort aus weitergearbeitet). Er beantwortet ein paar Mails an den Kunden und macht sich an die Programmierarbeit. Er schaut auf seine aktuelle Liste, die abarbeiten muss und prüft, was seine Kollegen gestern Abend schon fertig programmiert haben. „Das wird ein lockerer Tag“ sagt er und holt sich noch einen Kaffee. Dann macht er sich an die Programmierarbeit und legt los. Er überlegt sich wie er ein bestimmtes Feature umsetzen kann, indem er die Lösung auf Papier vorher durchgeht. Nun weiß er welche Programmbestandteile er bauen muss und welche er eventuell aus fertigen Programmen wiederverwenden kann. Damit sein Programm auch zuverlässig arbeitet, schreibt zunächst einen Test, der die Funktionalität bei späteren Änderungen immer wieder testen soll und damit sicherstellt, dass diese Funktion nicht kaputt gehen kann. Erst jetzt entwickelt er das Feature. Plötzlich ein Anruf vom Projektleiter. Der Kunde möchte, dass zuerst dieser neue Fehler behoben wird. Dafür braucht Daniel Hilfe von einem Kollegen. Er stimmt mit seinem Kollegen ab, sich am Mittag dazu in der Zentrale zu treffen und in der Zwischenzeit zu prüfen was bei dem Fehler eigentlich im Programm passiert ist. Beim Mittagessen erklärt er seinem Kollegen, was los ist und beide überlegen sich eine Lösungsstrategie um diesen Fehler ein für alle Mal aus der Welt zu schaffen. Ob die beiden es schaffen werden?

Der Beruf Programmierer / Softwareentwickler

So ungefähr kann man sich den Tag eines Software Entwicklers vorstellen. Man sitzt also nicht wirklich 8 Stunden nonstop am Bildschirm. Eigentlich sind es mindestens 10 Stunden 😉 Nein, Spaß beiseite.  Als Programmierer ist man verantwortlich für eine oder mehrere Applikationen. Das bedeutet man fühlt sich verantwortlich dafür, dass das Programm, welches man entwickelt und auch pflegt, immer und fehlerfrei funktioniert.  Allerdings gibt es kein Computerprogramm was immer fehlerfrei funktioniert. Es kann immer Fälle geben, bei denen ein Computerprogramm plötzlich nicht mehr das tut, wofür es geschrieben war.  Das bedeutet, dass ein Entwickler nicht nur programmieren können muss, sondern auch lernen muss, wie man Fehler in Programm analysiert und behebt. Das gehört zum Beruf dazu. Aber nicht jeder Software Entwickler und jedes Software Projekt ist gleich. Bei manchen Projekten hat man viel Kundenkontakt, bei anderen kümmert man sich eher um die Programmierung von neuen Features. Bei guten Arbeitgebern wird darauf geachtet, worauf man eigentlich Lust hat und was man gut kann und kann dementsprechend mitentscheiden an welchen Projekten man mitarbeiten kann. Programmierer sind also sehr kreative Menschen die ihre Kreativität in Form von Logik ausdrücken. Und da wir uns momentan im Zeitalter der Digitalisierung befinden suchen alle Unternehmen händeringend nach Programmierern. Da gute Softwareentwickler schwierig zu bekommen sind, machen sich die Unternehmen attraktiv für die Entwickler in dem sie Add-Ons zusätzlich zum guten Gehalt anbieten. Um mal ein paar davon aufzuzählen: Freigetränke, Kickertisch, Bezahlte Massage und Sportangebote, freie Auswahl bei Hardware, Essens- und Tankgutscheine, Arbeitszeit für eigene Projekte nutzen dürfen, Grill, Vertrauensarbeitszeit und Home Office. Und wir sprechen hier von nur einem Unternehmen! Sich also zum Programmierer weiter zu entwickeln kann sich also ziemlich lohnen. Aber was kann man denn eigentlich so Programmieren?

Was kann man alles Programmieren?

Früher hat man Videorekorder bedient oder konnte diese „programmieren“. Eigentlich hat man nur eine bestimmte Uhrzeit eingestellt, wann der Rekorder nun eine Fernsehsendung aufnehmen soll. Das Programmieren eines Computers ist dann schon etwas komplexer. Denn letztendlich bestimmt nur deine Phantasie und dein Technische Wissen die Grenze von dem was du Programmieren kannst. Die Phantasie kann von Anfang an sehr ausgeprägt sein, vielleicht wirst du schon mal an eine Idee für ein eigenes Computerprogramm gedacht haben. Welche Arten von Programmen es gibt, die auch von einem Programmieranfänger erstellt werden können, erfährst du jetzt:

Apps

Apps sind Computerprogramme, welche auf einem mobilen Computer also einem Smartphone oder einem Tablet ausgeführt werden können. Diese Programme kann man über einen AppStore installieren und dann immer wieder benutzen. Beim Programmieren gibt es die Besonderheit, dass der Benutzer über einen Touchscreen mit dem Programm interagieren muss. Wie man lernt Apps zu programmieren lernst du in diesem Artikel.

Webseiten/Webanwendungen

Das Internet. Unendliche WeitenInformationen. Wer heutzutage keine Internetseite hat, existiert praktisch nicht. Selbst mit Baukastensystemen lassen sich kleine Webseiten zaubern. Ich weiß nicht ob du es schon bemerkt hast, viele Programme und Apps benutzen wir eigentlich nur noch über den Browser. Man kann E-Mails im Browser abrufen und schreiben, Facebook ist ursprünglich nur über den Browser erreichbar gewesen. Wer Webseiten und Webanwendungen programmieren kann, kann alle Menschen erreichen, die einen modernen Browser auf ihrem Computern, Smartphones und Tablets haben. Meistens ist dafür sogar nur eine Programmiersprache notwendig, wie du in diesem Artikel lesen kannst.

Videospiele

Ohne Videospiele wären Computer nie so beliebt gewesen, wie heute und würden nun nicht in jedem Haushalt vertreten sein. Mittlerweile kann man sich die Zeit während der Busfahrt auf dem Smartphone mit Spielen vertreiben. Und zwar mit den Spielen, die dich interessieren. Egal ob Action- Knobel oder Kartenspiel. Alles was Spaß macht ist erlaubt und kann auch programmiert werden. Der neueste auf dem Markt sind Virtual Reality Spiele, aber um diese zu programmieren sollte man bereits eine Menge Programmiererfahrung gesammelt haben.

Desktopanwendungen

Hört sich langweilig an, ist aber nicht zu vernachlässigen. Jeder, der etwas am Computer für die Schule oder für die Arbeit machen musste, hat diese Programme schon benutzt. Ich wundere mich, ob du dich schon mal über so ein Programm geärgert hast. Nicht immer sind diese ganz intuitiv zu benutzen. Also verbirgt sich hier viel Potenzial Verbesserungen mit eigenen Computerprogrammen vorzunehmen.

Hardware/Einplatinen Computer

Richtig spannend wird es, wenn man mit dem eigenen Programm Dinge in der echten Welt beeinflussen kann. Lampen ein-/auschalten oder kleine Roboter bewegen. Eine eigene kleine Seifenblasenmaschine, die immer dann angeht, wenn dein Wecker klingelt wäre doch cool, oder? Mit Einplatinencomputern wie dem Raspberry Pi kann man solche Dinge bauen. Allerdings muss man sich hier zusätzlich mit Elektrotechnik auseinandersetzen. Vorsicht beim Experimentieren mit Strom!

Werkzeuge/Skripte

Wenn du bereits jetzt schon öfter am Computer arbeitest, hast vielleicht bemerkt, dass man doch bestimmt ein paar Arbeitsschritte vereinfachen könnte. Man kann sich kleine Werkzeuge bauen, die einem Fleiß- oder nervige Arbeiten abnehmen. Damit kannst du effektiver arbeiten und hast schneller Feierabend!

Sprich die Sprache deines Computers: Quelltexte und Programmiersprachen

Du hast nun gelernt, was man eigentlich beim Programmieren macht und was eigentlich alles programmieren kann und du fragst vielleicht, wie so eine Programmiersprache aussieht. Es ist so wie bei echten Sprachen, es gibt verschiedene davon, da jede aus einem bestimmten Grund entwickelt wurde. Welche Arten von Sprachen es gibt und welche du am Anfang lernen solltest erfährst du jetzt.

Welche Programmiersprachen gibt es?

Vielleicht hast du schon mal im Internet nach Programmiersprachen gesucht und wurdest verwirrt von vielen Meinungen anderer Programmierer. Klar, jeder denkt, die Sprache mit  der er gelernt hat, ist die beste Sprache. Merkwürdigerweise gilt das bei „echten“ Sprachen nicht, oder? Oder hat dir jemand schon mal gesagt, dass Deutsch die beste Sprache zum Sprechen lernen ist. Ziemlich unwahrscheinlich, richtig?

Javascript und höhere Programmiersprachen

Höhere Programmiersprachen wie Javascript, Java, C++, C, Python, usw. nutzen dieselben Grundelemente, haben aber auch ihre eigenen Spezialitäten. Das schöne ist, sobald du diese Grundelemente erlernt hast und im Schlaf verwenden kannst (und auch erst dann!), kannst du quasi mühelos auf eine andere Sprache umsteigen, sobald es notwendig wird. Entscheidest du dich am Anfang für eine Sprache, mit der man möglichst viele verschiedene Programmarte programmieren kann, musst du erst später eine weitere Programmiersprache erlernen. Aber irgendwann wirst du nicht drum herum kommen. Heutzutage lernen Anfänger eine höhere Programmiersprache für den Einstieg um die Grundlagen zu erlernen und erste Ergebnisse zu erzielen.

Beschreibungssprachen: HTML, CSS, JSON, XML

Während die höheren Programmiersprachen Logik und Abläufe enthalten, enthalten diese Sprachen lediglich Daten und Informationen. Sie gelten daher nicht als klassische Programmiersprachen aber ohne diese zu lernen kommt man in der Programmierung nicht weit. Mit HTML beschreibt man zum Beispiel die Inhalte einer Webseite, mit CSS kann man diese Inhalte designen also stylen. Mit JSON und XML kann Daten strukturiert festhalten und zum Beispiel in Dateien speichern und auch wieder laden. Sobald du also loslegst programmieren zu lernen werden dir diese Sprachen ebenfalls über den Weg laufen.

BASIC

Es gibt verschieden BASIC-Sprachen und diese sind quasi die „Vorfahren“, der höheren Programmiersprachen. BASIC steht für „Beginners All-purpose Symbolic Instruction Code“. Damals hat man mit diesen Sprachen Programmieranfängern das Programmieren beigebracht und dann tatsächlich damit programmiert. Heutzutage gibt es modernere Methoden und Programmiersprachen, aber auch Sprachen, die auf BASIC basieren, wie Visual Basic.

Assembler/Maschinencode

Diese Sprachen sind die Grundlage jeder Software und laufen immer im Hintergrund. Sie sind sehr komplex und schwierig zu verstehen, wenn man nicht weiß wie ein Computer und Prozessor intern arbeitet. Aber es sind Programmiersprachen die lange Zeit verwendet wurden und die Sprachen die erst die Weiterentwicklung der Computertechnologie ermöglicht haben.

Scratch und Lernsprachen

Es gibt eine Art von Sprachen, die wie BASIC, extra nur dafür entwickelt wurden Programmieranfängern das Programmieren beizubringen. Mit diesen Sprachen kann man oft gar nicht umfangreiche Anwendungen programmieren, da diese ausschließlich zum Lernen da sind. Der Vorteil ist ganz klar, man lernt mit eine Programmier-„lern“-sprache die Grundlagen und wechselt dann zu einer richtigen Sprache um das Wissen dann schneller anwenden zu können. Dies ist besonders empfehlenswert für die Menschen, die mit einer anderen Programmiersprache zunächst gescheitert sind. Scratch ist zum Beispiel eine Sprache mit der man spielerisch Programmieren lernt.

Für jeden Einsatzzweck eine andere Sprache

Vielleicht hast du schon bemerkt, dass die Arten von Programmiersprachen alle für einen anderen Zweck verwendet werden. Während Maschinencode auf der untersten technischen Ebene arbeitet können wir die höheren Programmiersprachen verwenden. Damit müssen wir uns nicht mehr darum kümmern welche Schaltung im Prozessor nun durchgeführt werden muss und die nächste Berechnung erfolgt. Diese höheren Sprachen haben also den Zweck zusätzliche Arbeit zu ersparen. Damit spart man nicht nur Programmierarbeit sondern auch Tätigkeiten wie Fehlersuche werden extrem vereinfacht.

Woher du weißt, was du programmieren musst.

Wenn du bereits eine Programmiersprache beherrscht wirst du dich vielleicht fragen, was du nun programmieren musst um deine Idee zu verwirklichen. Egal welche Programmiersprache du benutzt, hier ist das was für alle Programmiersprachen gilt: Du musst deine Idee zunächst selbst lösen können, bevor du die Lösung des Problems an deinen Computer weiterleitest. Der Weg ist folgender: Du erhälst eine Aufgabe, ein Problem oder eine Idee die später per Computerprogramm gelöst werden soll. Bevor du nun anfängst zu programmieren, überlegst du dir auf Papier, im Kopf oder Whiteboard, wie du das Problem SELBST und OHNE Programmierung lösen würdest. Diese Lösungsschritte musst du nun in mögliche Computerbefehle „übertragen“. Da dein Computer mit der Programmiersprache nur ein begrenztes Verständnis deiner Lösung hat, musst du deine Lösungsschritte herunterbrechen, bis diese mit der Programmiersprache programmierbar werden. Idealerweise überlegst du dir dann 2-3 Lösungswege, denn meistens funktioniert die erste Strategie im Programm dann doch nicht. Aber wirst du beim Programmieren ganz schnell merken. Immer dann, wenn du nicht weißt, wie du nun mit der Programmiersprache dein Problem lösen sollst, denk an diesen Artikel von lerneProgrammieren.de. Du hast dir dann nicht genug Gedanken über den möglichen Lösungsweg gemacht.

Was ist die beste und einfachste Programmiersprache für den Einstieg?

Ich werde dir nicht sagen, welches die beste und einfachste Programmiersprache ist, denn es gibt sie einfach nicht. Jeder Programmierer hat seine eigene Lieblingssprache und findet die am einfachsten mit der er selbst gelernt hat. Ich werde dir aber aus dem Grund nicht Javascript empfehlen. Sehen wir es mal andersrum: Im Vergleich der Sprachen werden die schwersten wohl Maschinencode und Assembler sein. Einfach aus dem Grund, dass man die internen Prozessorstrukturen kennen muss und sich auf der tiefsten technischen Ebene des Computers bewegt. Sehr schwer zu erlernen, aber wenn man es kann, versteht man zu 100 % wie ein Computer arbeitet. Programme damit zu schreiben eher unwahrscheinlich, denn es gibt Werkzeuge, dir diesen Code aus einer höheren Programmiersprache generieren. Zum LERNEN sind die einfachsten Programmiersprachen, genau die, die dafür gemacht wurden. Allerdings kann man damit kaum etwas Brauchbares umsetzen, also: Leicht zu erlernen, aber nur Mittel zum Zweck, da man danach umsteigen muss. Bleiben also die höheren Programmiersprachen als echte Kandidaten für diese Kategorie übrig. Aber welche von den vielen wählt man davon aus? Wenn es eines der Dinge gibt, die beim Programmieren wichtig sind, ist es einfach und schnell Lösungen umzusetzen. Also bietet sich eine Programmiersprache zu Anfang an, mit der man möglichst viele verschiedene Anwendungen programmieren kann, wie z.B. Javascript. Aber es ist nicht notwendig mit Javascript zu starten, denn jede andere höhere Programmiersprache ist ebenfalls geeignet.

Wie du programmieren lernen kannst

Du hast nun gelernt was Programmieren ist und was man grob beim Programmieren machen muss. Welche die richtige Art und Weise ist möchte ihr dir nicht vorschreiben, denn jeder Mensch lernt gerne anders. Vielleicht weißt du auch gar nicht wie du selbst effektiv lernst. Nimm die folgenden Punkte also als Vorschläge wahr und nicht als Empfehlung.

Onlinekurs

Die modernste Art Programmieren zu lernen ist ein Onlinekurs. Es gibt viele verschiedene Anbieter und auch große Plattformen, welche dir das Programmieren vermitteln können. So ein Kurs ist meistens so aufgebaut, dass man kostenlos starten kann und dann gegen eine Gebühr (je nach Umfang ca. 150-200 €) den kompletten Kurs absolvieren kann. Vielleicht hast du es schon bemerkt, es gibt so viele Anbieter, dass man schnell den Überblick verliert. Bei so vielen Angeboten ist wie immer Vorsicht angesagt. Prüfe vorher folgendes: Ist der Kurs tatsächlich so hochwertig, wenn der Ursprungspreis extrem reduziert wurde? Ist es realistisch, dass du für einen niedrigen Preis das bekommen kannst, was du dir vorstellst? Welchen Zweck verfolgt der Anbieter mit einem so niedrigen Preis? Wenn das alles für dich passt und du weißt, dass du es  lernen kannst, dann schlag zu.

Mentoring und Beratung

Egal ob du mit Onlinekurs oder ohne Programmieren lernst, es kann passieren, dass du mal einfach etwas auf Teufel komm raus nicht verstehst. Dann solltest du jemanden im Ärmel haben, der dir schnell und vor allem gerne hilft. In so vielen Foren und Gruppen, habe ich gesehen, wie Anfänger angepöbelt werden, weil sie einfache Fragen stellen. Da ist es besser, jemanden zu kennen, der dir weiterhelfen kann, wenn du mit dem Lernstoff nicht vorankommst. Idealerweise sollte das in einem Onlinekurs zusätzlich inbegriffen sein.

Aufgaben/Projekte

Hier geht es um Learning-By-Doing. Ohne Aufgaben und kleine Projekte durchzuführen, wirst du das Programmieren nicht lernen. Nur wenn du tatsächlich das gelernte in eigenen kleinen Beispielen nachbaust und nachvollziehen kannst, lernst du die Grundlagen zu verstehen und später auch anzuwenden. Möchtest du direkt mit deiner Idee starten, ist das Okay solange du dir immer nur kleine Bestandteile zum Üben rauspickst. Das große ganze kommt erst später.

Programmierworkshops

Eine weitere Möglichkeit in die Programmierung einzusteigen sind Programmierworkshops. Hier gibt es für jede Altersklasse und Vorerfahrung zugeschnittene Angebote. Für Kinder und Jugendliche sind diese meist kostenlos, wie zum Beispiel die CoderDojos. Das ist cool, da man auch mit erfahrenen Programmierern zu tun hat und dann direkt von denen lernt. Allerdings muss man dann in eine Stadt fahren in der so etwas angeboten wird und sich dann ein paar Tage Zeit dafür nehmen. Die einzige Schwierigkeit fängt meistens nach einem Workshop an, denn man will ja danach direkt weitermachen. Möchte man nur mit Workshops programmieren lernen ist man also  angebotenen Termine beschränkt. Man muss auf den nächsten Termin warten oder sich zuhause hinsetzen und wieder selbst weitermachen (muss man sowieso).

Selbststudium

Neben Onlinekursen, Projekten und Workshops, kommt man immer wieder in eine Phase, in der man selbst die Programmierung für sich „erforschen“ muss. Hier kommt es natürlich darauf an, welche Lehrmaterialien man sich zugelegt hat und welche Qualität diese haben. Denn egal womit man lernt, diese Phase gehört dazu. Man lernt ein neues Konzept kennen, macht dazu eine Übung und versucht dabei dies für später zu verstehen. Je nach Qualität des Lehrmaterials kann das dauern. Was leider vielen Einsteigern dabei passiert ist folgendes Beispiel. Am Anfang denkt man vielleicht: „Cool. Ich lerne jetzt programmieren. Mal schauen was es im Internet dazu gibt“. Schnell landet man auf ein paar Tutorials, die einem verklickern wollen, dass man innerhalb von ein paar Stunden programmieren kann „Geil! Kann ich ja morgen direkt meine Idee programmieren“. Du arbeitest das Tutorial vielleicht bis zur Hälfte durch und dann kommt die Erkenntnis: „Ich kauf mich lieber ein Buch“. Kann auch genau andersrum passieren, also zuerst Buch und dann Tutorials. Man hangelt sich von Tutorial zu Tutorial und von Buch zu Buch, indem man einfach nur die Befehle und Quellcodes abschreibt und eigentlich erstmal gar nichts versteht. Nach viel Durchhaltevermögen, einer bestimmten Zeit und viel Arbeit, macht es Klick. Wenn es noch nicht Klick gemacht hat, machst du entweder weiter oder gibst frustriert auf. Ich weiß nicht, ob das für dich empfehlenswert ist. Daher ein Rat: Suche dein Lehrmaterial sorgfältig aus!

Programmieren lernen ist einfach – Es zu beherrschen ist schwer

Wie du gemerkt hast, die Art und Weise programmieren zu lernen ist an sich erstmal einfach. Du arbeitest einen Onlinekurs durch, machst brav deine Übungen. Im Selbststudium oder mit Beratung legst du dann mit deinen eigenen Kleinprojekten los. Du hangelst dich also von Programm zu Programm, wobei du dabei mit deinen Aufgaben immer weiter wächst. Aber welche Voraussetzungen solltest du eigentlich mitbringen, wenn du jetzt starten willst?

Welche Voraussetzungen gibt es?

Interesse/Motivation

Eine Grundvoraussetzung zum Programmieren lernen ist selbstverständlich das Interesse dazu. Wenn du bis hier hin gelesen hast, kannst du von dir behaupten, dass du genug Interesse an diesem Thema hast. Damit dieses Interesse und deine Motivation nicht beim ersten Problem zerbröselt, solltest du dir ein Ziel festlegen, welches du erreichen willst. Dieses sollte anspruchsvoll aber auch realistisch sein.

Logik

Das logische Denken, ist die Hauptaufgabe eines Programmierers. Alles andere ist zweitrangig. Du musst kein Mathegenie sein oder dich besonders gut mit Computern auskennen. Du musst lediglich Denken können. Bist du in der Lage einer fremden Person eine Wegbeschreibung zu erstellen und zu geben? Probier es einfach mal aus, es ist einfacher als du denkst. Wenn du das geschafft hast, hast du die notwendigen Grundvoraussetzungen.

Computer und Technologie Affinität

Wenn du gar nichts mit Computern und Technologie anfangen kannst, dann könnte es schwierig für dich werden, dich mit diesem Thema zu befassen. Genauso gilt das, wenn du noch nicht lange an einem Computer arbeitest. Du solltest wissen wie man einen Computer bedient und welche Technologien so in ihm stecken. Das heißt nicht, dass du einen Computer reparieren können musst.

Software

Du wirst Software brauchen und du wirst verschiedene Programme erlernen und benutzen, die dir im Entwickleralltag helfen. Also ist es hilfreich, wenn du dich mit deiner Software auskennst und dich gerne auch mal in neue Programme einarbeitest.

Englisch

Der Knackpunkt bei vielen Menschen, die programmieren lernen wollen. Wenn du noch nicht viel Englisch verstehen kannst, dann wird es schwierig für dich, wenn du z.B. eine Dokumentation zu einer Software durcharbeiten musst und diese in englischer Sprache verfasst ist. Auf jeden Fall hilft es dir Basiswissen in Englisch zu haben. Den Kurs kannst du auch immer noch in deutscher Sprache durcharbeiten und dann einfacher programmieren lernen.

Hardware

Eigentlich reicht ein völlig normaler Computer, auf dem ein modernes Betriebssystem und ein moderner Browser zu lauffähig ist. Man braucht also keine Superstarke Rechenmaschine um mit dem Programmieren anfangen zu können. Wichtig ist jedoch, dass man zum Programmieren selbst mit einer Tastatur und Maus arbeiten kann. Ich kenne noch keinen Programmierer, der ernsthaft auf einem Tablet programmiert.

Denkweise

Der Glaube, dass man immer direkt drauf losprogrammiert, kann einen Anfänger ziemlich verwirren. Vielleicht kennst du das: Ich habe schon viele Anfänger gesehen, die eine Programmiersprache gelernt haben, weil es kostenlos war, aber nun da stehen und gar nicht wissen, wie sie nun das erlernte anwenden können. Was die meisten kostenlosen Tutorials leider nicht zeigen, ist wie man vo dem beim Programmieren denken muss. Welche Denkschritte führt man durch um zum Ziel zu kommen? Verglichen mit einer echten Sprache ist das so, dass man dir zwar alle Vokabeln zeigen kann und du diese auch brav auswendig lernen kannst. Aber du weißt nicht, wie du mit den nun vorliegenden Wörtern ganze Sätze zusammenbauen kannst. Ohne ganze Sätze kannst du keine Geschichte schreiben oder dich mit einer Person unterhalten. Du wirst nur die Vokabeln gelernt haben. Kommen wir zu den Vokabeln.

Grundlagen

Die Grundelemente einer hohen Programmiersprache sind leicht aufgezählt: Anweisung, Befehlsfolge, Blöcke, Funktionen, Parameter, Operationen, Variablen, Datentypen, Arrays, Objekte, Kontrollfluss, If-Entscheidungen und Schleifen. Als ausgebildeter Programmierer kannst du diese Elemente im Schlaf anwenden. Wie du bereits gesehen hast, reicht es nicht aus, zu wissen was diese  machen können. Man muss lernen wie man diese einsetzt um Probleme und Aufgaben zu lösen. Eigentlich entwickelt man mit diesen Elementen Algorithmen, die immer wieder ausgeführt werden können. Hört sich kompliziert an und das kann es auch werden. Alles dabei läuft völlig logisch ab und ist nachvollziehbar.

Praxis

Die praktische Anwendung wurde ja schon beim Programmieren lernen angesprochen. Denn man kann sich zwar alle tollen Softwaretechnologien reinziehen und dazu Tutorials absolvieren, aber wenn man diese nicht auch in praktischen Projekten anwendet, kommt man einfach nicht an sein Ziel. Wenn du also etwas Neues gelernt hast, versuche dies direkt anzuwenden. Bau dir ein kleines Beispielprojekt, bei dem du dir und auch anderen zeigen kannst, dass du es gelernt hast. Wenn du gelernte, dann auch noch erklären kannst, hast du es wirklich gelernt. Also Programmieren lernen nach dem Motto: Nicht quatschen – Machen.

Der Weg zum Profi

Wenn du tatsächlich professioneller Software Entwickler werden möchtest, dann hast du einen langen Weg vor dir. Wie lange du diesen gehen musst, hängt allerdings von dir selbst ab. Wenn du selbst viel eigenständig programmierst und dich ständig selbst herausforderst, wirst du schneller ans Ziel kommen, als wenn du nur ab und zu mal ein bisschen in das Thema reinguckst. Um das notwendige tiefe Verständnis zu bekommen musst du richtig ran. Profi ist hier genauso gemeint wie „Profi“ im Profisport. Profis trainieren mehrere Male in der Woche und nutzen ihre freie Zeit zur Weiterentwicklung. Wenn du ein professioneller Entwickler werden möchtest, musst du das professionelle auch ernst nehmen. Wenn du grade noch am Anfang stehst und du zum Profi werden möchtest, nimm dir schon mal vor, nicht nur ein oder zwei Programme zu schreiben. Fang heute mit dem ersten Programm an und wenn du dein 43tes Computerprogramm geschrieben hast, kannst du mal schauen wie gut du in der Programmierung zurechtkommst. Das ganze kann mal schnell 3-5 Jahre dauern. Aber es lohnt sich diese Zeit zu investieren!

Was man als Anfänger beim Einstieg erwarten kann

„Kauf diesen Kurs“, „Mache deine Aufgaben“, „Kauf den richtigen Computer“, usw. Hier bekommst du grad die volle Ladung Informationen, wenn du loslegen willst. Du hast vielleicht schon eine bestimmte Vorstellung davon, was du später mal programmieren möchtest. Ich habe bei vielen Anfängern eine große anfängliche Motivation gesehen, weil diese unbedingt ihre eigene Idee umsetzen wollten. Ich möchte diese Vorstellung auch nicht beeinflussen. Allerdings sind die Vorstellungen manchmal fern von der Realität. Denn es ist einfach sich ein Videospiel mit allen Extras und super Grafik auszudenken. Das Problem ist, dass du an dieser Stelle im übertragenen Sinne davon träumst, einen Hollywoodfilm mit deinem Smartphone zu produzieren. Das Videospielbeispiel ist eigentlich perfekt dafür. Denn alleine das Programmieren reicht dafür eben nicht aus. Damit du dennoch weitermachst und deine Motivation beibehälst, sollst du noch erfahren, was du ungefähr für deinen Anfang erwarten kannst.  Zuerst geht es los mit den ersten Schritten. Du lernst die Entwicklungsumgebung kennen und die Werkzeuge, die dazu gehören. Diese setzt du dann in den Übungen beim Lernen der Grundlagen schon direkt ein. Damit programmierst du die ersten kleinen Funktionen. Sobald du das drauf hast, kann du eigenständig ganz winzige Programme schreiben: Ich spreche hier z.B. von Textadventures, Quizspielen oder Vokabeltrainern (oder wie im Anfängerkurs den kleinen Roboter). Damit sammelst du deine ersten Erfahrungen. Erst dann geht es weiter. Aber da lernst du dann bereits schon wie man mit der erlangten Erfahrung kleine Apps, Webseiten oder Videospiele baut. Dort gehst du eigentlich genauso vor wie vorher und so kannst du innerhalb von Wochen erste Ergebnisse präsentieren. Du merkst also: Großes vornehmen aber beim Erfahrungen sammeln klein anfangen und sich langsam steigern.

Die besten Quellen und Ressourcen für deinen Anfang

Großes vornehmen und klein anfangen. Dieser Artikel hat dir nun umfassend erklärt, was alles dazu gehört, wenn man ernsthaft Programmieren lernen möchte. Das einzige was dir jetzt nur noch fehlt ist der für dich passende Startpunkt. Aber auch darauf sollst du eine passende Antwort erhalten.

Kostenlos oder kostenpflichtig?

Einfach gesagt, es gibt kostenlose und kostenpflichtige Angebote. Generell gilt bei kostenlosen Angeboten, zu prüfen warum denn etwas kostenlos ist. Ist es nur eine Testversion oder sonst wie eingeschränkt. Oder passiert evtl. etwas mit deinen Daten? Auf jeden Fall sollte man das kostenlose Angebot qualitativ prüfen. Wenn es einen Punkt gibt, der für kostenpflichtiges Lehrmaterial gilt, ist es die Tatsache, dass man sich verpflichtet fühlt, den Kurs zu absolvieren. Stell dir mal vor, du gibst 750 € für einen Programmierworkshop aus und beendest diesen gar nicht. Das wäre dann doch reine Geldverschwendung. Allein schon für diese Motivation lohnt es sich ein Budget zum Programmieren lernen einzuplanen. Wenn du dir noch nicht sicher bist ob du es lernen kannst oder lernen willst, dann kannst du die meisten Kurse einfach kostenlos antesten. Früher oder später wirst du ohnehin Fachbücher und weitere Kurse kaufen, denn in der Programmierung ist man mit dem Lernen nie fertig.

Die besten Quellen sind auf Englisch

Englisch war ja bereits eine Voraussetzung zum Programmieren lernen, denn die meisten Inhalte und Anleitungen sind auf Englisch. Schaut man sich zum Beispiel die Spezifikation von HTML5 an, auf Englisch. Spezifikation von Javascript, ebenfalls auf Englisch. Wenn du dich in die API von Google Maps einarbeiten willst, auch hier Englisch. Du wirst nicht drum herum kommen, im Internet nach einem Problem zu suchen oder dir das Handbuch einer Programmiersprache durchzulesen (Ja, sowas gibt es). Nur um etwas in einer Programmiersprache herauszufinden, muss man kein Tutorial machen. Mit einem Handbuch vom Hersteller kann es genauso gut funktionieren. Möchte man lernen, wie man mit dieser Sprache nun etwas baut, dann kauft man den Kurs. Außerdem gibt es im Internet eine Menge Foren und Gruppen, welche bereits viele Antworten auf technische Probleme oder Fragen beinhalten. Die Workshops wurden ja bereits angesprochen: Ein super Einstiegspunkt, aber um das selbstständige Lernen kommt man nicht drum herum.

Wo du direkt mit dem Programmieren lernen anfangen kannst

Programmieren lernen für Kinder

Für Kinder können wir zwei Dinge empfehlen. Wenn noch nicht ganz klar ist, wohin die Reise geht, dann besucht ein CoderDojo und macht dort mal ein kleines Projekt. Wenn das Interesse dann immer weiter wachsen sollte, dann wäre ein kleiner Onlinekurs empfehlenswert. Vielleicht ist die Programmiersprache Scratch in diesem kostenlosen Onlinekurs ein Punkt an dem auch zuhause loslegen kann.

Programmieren lernen für Anfänger (Jugendliche und Erwachsene)

Der kostenlose Onlinekurs für Scratch ist allgemein nicht nur für Kinder gedacht. Auch Erwachsene können damit einmal in die Programmierwelt hineinschnuppern. Möchte man vielleicht ein bisschen schneller vorankommen, dann empfiehlt sich ein Anfängerkurs. Wenn du wirklich mit diesem Onlinekurs beginnst, dann lernst du alle notwendigen Grundlagen und startest vom kleinen Programm bis hin zu echten und benutzbaren Anwendungen durch. Auch hier gibt es einen kostenlosen Testzugang mit dem du für dich prüfen kannst ob die Art und Weise, wie man auf lerneprogrammieren.de Programmieren lernt, etwas für dich ist.

3, 2, 1, Los geht’s

Jetzt bist du dran. In den folgenden Tagen und Wochen kannst du bereits kleine Programme schreiben. Zu dem Zeitpunkt, wenn du begonnen hast zu programmieren, dann kannst du bald deine eigenen Ideen verwirklichen.  Wenn du es aber nicht zu schnell lernen willst, weil du dir zum Verstehen Zeit lassen möchtest, ist das auch völlig verständlich. Hauptsache du legst los. JETZT.

  • 29. Juli 2017
Click Here to Leave a Comment Below 4 comments
pfeifer_s@web.de - 4. April 2019

Hi,

ich habe dir gerade eine längere Nachricht geschrieben, aber beim Senden war mein Internetem
pfang weg. Hast du sie erhalten?

Sebastian

Reply
avi - 8. Juli 2019

Hi,
ich finde diesen Artikel sehr interessant. Mein Problem ist wahrscheinlich lächerlich, aber eventuell bekomme ich hier ja Hilfe…
Ich habe vor kurzem meine Ausbildung zur Fachinformatikerin für Anwendungsentwicklung beendet, habe alle Prüfungen bestanden und kann (theoretisch) programmieren… in der Praxis sieht es aber so aus, dass ich zwar durchaus ein Programm zusammen bauen kann, aber leider habe ich das Gefühl, Programmierung an sich überhaupt nicht verstanden zu haben. Ich kann mein Problem nicht mal richtig in Worte fassen. Ich kann ein Problem auf dem Papier lösen, sei es nun für ein Programm oder für die Realität. Trotzdem fühle ich mich überfordert, wenn ich jemandem erklären soll, wie ein Programm arbeitet, oder was welcher Befehl tut….
Kurz: ich habe keine Ahnung, was ich da eigentlich tue und ich fühle dadurch in meinen Möglichkeiten eingeschränkt.
Gibt es irgendeine Möglichkeit (gern auch kostenpflichtig, z.B. als Buch), die einem dabei helfen kann?

Vielen Dank und liebe Grüße

Avi

Reply
    Arek - 15. Juli 2019

    Hi Avi,

    du kannst dich gerne zu deinem Thema mal bei mir per Mail melden an support@lerneprogrammieren.de dann können wir das gerne persönlich besprechen. Du kannst mir dort gerne auch die Fragen stellen, die du dich öffentlich nicht traust zu stellen.
    Wenn ich dich richtig verstehe, hast du die Fähigkeit Software zu entwickeln die die du entwickeln sollst.
    Es gibt das sogenannte Imposter Syndrome, welches unter Programmierern sehr verbreitet ist. Das ganze ist harmlos, denn letztendlich muss man sich nur darauf „einstellen“.
    Das ganze Thema ist allerdings sehr persönlich, deswegen würde ich vorschlagen, wir klären deine Themen per Mail, sofern du dich per Mail bei mir meldest.

    Beste Grüße
    Arek

    Reply

Leave a Reply: