Programmieren ist die Top-Fähigkeit der Zukunft. Als Programmierer steht dir die Welt offen und es gibt unendlich Vorteile, die du mit Programmierkenntnissen haben wirst:
- Du wirst Prozesse automatisieren können
- Du wirst in vielen Unternehmen einen sehr hohen Verdienst haben
- Du kannst häufig von zu Hause bzw. auch im Urlaub arbeiten
- Du wirst deine eigenen Start-Up Ideen umsetzen können uvm.
Dabei ist Programmieren lernen gar nicht so schwierig wie es scheint! Ich habe hier meine liebsten Bücher aufgelistet, die dich zu einem überdurchschnittlich guten Programmierer ausbilden können.
Natürlich findest du auch hier auf DataMines alle grundlegenden Funktionen von Programmiersprachen wie z.B. Python. Das alleine zu können, macht dich aber noch nicht zum Programmierer. Viele Fähigkeiten lernt man nicht im Internet, sondern aus Erfahrung. Du kannst dir aber einen kleinen Cheat-Code zu Nutze machen und die Erfahrung der besten Programmierer der Welt nehmen, damit du lernst:
- Probleme via Code zu lösen
- sauberen und effizienten Code zu schreiben
- Coding-Projekte zu organisieren
- deine Zusammenarbeit in Programmierprojekten zu verbessern
- effektiv Code zu debuggen und zu testen uvm.
Dabei gibt es kein richtig oder falsch. Es gibt aber einen gewissen Industriestandard. Hier mal ein Beispiel von einem Python-Code, bei dem dich wahrscheinlich kein Arbeitgeber einstellen würde:
def mal(x, y):
erg = 0
while y > 0:
erg += x
y -= 1
return erg
Nachdem du die Bücher gelesen hast, sollte dein Code so aussehen:
def multiply_numbers(num1, num2):
"""
Multiplies two numbers and returns the result.
Args:
num1 (float or int): The first number
num2 (float or int): The second number
Returns:
float or int: The product of the two numbers.
"""
return num1 * num2
Hinweis: Die folgenden Empfehlungen enthalten Affiliate-Links. Bei einem Kauf unterstützt Du also ohne zusätzliche Kosten, dass sämtliche Kosten rund um DataMines gestämmt werden können. Vielen Dank für die Unterstützung!
Meine Top-Picks für Programmieranfänger
Solltest du noch keine oder sehr wenig Programmiererfahrung haben, musst du erstmal grundlegende Prinzipien der Programmierung verstehen. Da wir hier auf DataMines alles rund um KI, Data Science und Datenbanken (quasi dem Gold der Zukunft) erklären, versuche ich mit meinen Buchvorschlägen auch in diesem Bereich zu bleiben.
Python 3 Crashkurs: Eine praktische, projektbasierte Programmiereinführung
Python Crashkurs von Eric Matthes ist eines meiner Lieblingsbücher für Anfänger, die Python-Programmierung lernen möchten.
Im ersten Teil des Buchs lernst du alle Grundlagen die du zum Programmieren brauchst. Alle Konzepte sind simpel beschrieben und immer mit Beispielen unterlegt. Meiner Meinung nach ist es wichtig, gerade am Anfang komplexes Fachjargon zu vermeiden, damit die Lernkurve steil hochgeht.
Am Ende von jedem Kapitel bekommt man das Wissen auch gefestigt, indem man Übungsaufgaben bekommt. Ich sage es immer wieder, nur mit Lesen wird man nicht vorankommen. Man muss das Gelernte auch anwenden.
Im zweiten Abschnitt bekommt man einen kleinen Ausflug in die Möglichkeiten, die man mit Python hat. Es werden Konzepte wie Webentwicklung, Datenanalyse und Spieleentwicklung beschrieben. Im Buch findest du viele Projekte, in denen du diese Wissen auch zur Anwendung bringen kannst.
Alles in allem kann ich dir das Buch ans Herz legen, wenn du herausfinden möchtest, ob Programmieren etwas für dich ist!
Du lernst:
- Grundlegende Fähigkeiten in Python
- an Übungsaufgaben
- verschiedene Programmierkonzepte
- Projekte umzusetzen
Weniger schlecht programmieren
Wenn du bereits grundlegend programmieren kannst, lohnt es sich das ganze drumherum anzuschauen. In „Weniger schlecht programmieren“ von Kathrin Passig und Johannes Jander lernst du grundlegende Verhaltensregeln beim Programmieren. Vom Benennen von Variablen über den Umgang mit Fehlern bis hin zum Lesen von Code ist alles dabei.
Manche Programmierer kritisieren einige Stellen an diesem Buch, weil es sehr stirkt in richtig/falsch unterscheidet. Ich bin da allerdings anderer Meinung.
Im Grundsatz gibt es kein „falsches“ Programmieren. Für viele gilt, je einfacher der Code verständlich ist ohne Funktionalität zu verlieren, desto besser. Dieses Gefühl zu entwickeln ist sehr schwierig als Anfänger, daher empfehle ich dir, dich erstmal an die Tipps in diesem Buch halten. Sie werden deinen Code auf jeden Fall besser machen und dir ein besseres Gefühl für guten Code geben.
Mit wachsender Erfahrung (und den folgenden Büchern) lernst du, wann du Regeln brechen darfst!
Du lernst:
- ein Gefühl für sauberen Code zu entwickeln
- grundlegende Coding-Ansätze
- Konventionen beim Coden
- mit Fehlern im Programm umzugehen
Die besten Bücher vom fortgeschrittenen Anfänger zum Programmierer
Grundlagen? Check!
Erste Programmiererfahrungen? Check!
Die Sicherheit, alles mögliche programmieren zu können? Ehh…
Es fühlt sich sehr, sehr lange an als würde man nie dazu in der Lage sein, eigene komplizierte Projekte entwickeln zu können. Aus eigener Erfahrung kann ich sagen, mit mehr und mehr Coding-Tutorials wird das nicht besser.
Man sollte sich mehr mit Designprinzipien und der Gestaltung des Codes auseinandersetzen. Hier sind die Bücher, die mich besonders in diesem Schritt gestärkt haben:
Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code
Clean Code, von der Coding-Legende Robert C. Martin, auch bekannt als Uncle Bob. Auf YouTube findet man einige seiner charismatischen Vorlesungen.
Clean Code ist eine etwas fortgeschrittene Version zum oben genannten Buch „Weniger schlecht programmieren“. Hier lernt man sehr verständlichen Code zu schreiben und zu differenzieren, wann welche Anwendung Sinn ergibt. Auch das ist ein Buch, bei dem man erst die Regeln lernt, um zu verstehen, wann man sie brechen kann. Man braucht aber ein wenig Vorkenntnisse den Inhalt wirklich einordnen zu können.
Die meisten Programmierer in meinem Arbeitsumfeld (auch international) haben das Buch auch gelesen und finden es ausgezeichnet. Kurz und knapp eine klare Empfehlung für jeden, der programmieren kann, aber die Professionalität auf ein neues Level bringen möchte.
Du lernst:
- wann welche Coding-Konvention sinnvoll ist
- guten von schlechtem Code zu unterscheiden
- schlechten Code in sauberen Code umzuschreiben
- die Lesbarkeit deines Codes zu optimieren
Der pragmatische Programmierer: Ihr Weg zur Meisterschaft
Auch wenn der Titel unglücklich übersetzt wurde: „The Pragmatic Programmer: journey to mastery“ von David Thomas und Andrew Hunt ist ein Klassiker in der praktischen Literatur. Das Buch ist international der Wegweiser, um Programmierer effizienter zu machen.
Ich liebe an diesem Buch, dass es kein dogmatischer „So-und-so wird es immer gemacht“-Mist ist. Es werden verschiedene Techniken und Programmieransätze inklusive ihrer Vor- und Nachteile erklärt. Als angehender Programmierer lernt man so, selbst einzuschätzen, wie man sein Projekt am effizientesten angeht.
Wüsstest du auf Anhieb, wie du einen Prototypen für deine Software aufbauen solltest? Daneben lernst du auch wichtige Fähigkeiten wie Debuggen, Testen, Refactoring, Automatisierung von Prozessen uvm.
Das ist eines der Bücher, die meine Softwarequalität stark verbessert hat und war das Buch, mit dem ich mich deutlich selbstsicherer im Programmieren gefühlt habe.
Du lernst:
- Projekte zu planen
- Resourcen optimal zu nutzen
- Prototypen zu entwickeln
- Tests zu schreiben
The Big Book of Small Python Projects: 81 Easy Practice Programs
Theorie ist schön und gut, aber man wird nicht zum besten Kampfsportler der Welt, wenn man nur Bücher liest. „The Big Book of Small Python Projects: 81 Easy Practice Programs“ von Al Sweigart bietet dir eine große Auswahl an Projekten, an denen du deine Fähigkeiten praktisch zum Einsatz bringen kannst.
An der Praxis wirst du direkt mit deinen Schwächen konfrontiert. Mit diesem Buch als Ratgeber, wie du deine Lösung gestalten kannst, wirst du deine Schwächen im Programmieren schnell finden. Damit kannst du dir also deinen eigenen Feedback-Loop geben und immer besser werden, ohne einen Job mit vorgesetzten Reviewern haben zu müssen.
Du lernst:
- Projekte praktisch umzusetzen
- Schwächen in deinem Fähigkeiten zu finden
- Best-Practices in der Praxis zu sehen