Programmierer 101: Bringen Sie sich selbst das Programmieren bei

Sie wollten schon immer lernen, wie man Software selbst entwickelt – oder einfach nur gelegentlich ein Skript schreiben -, wussten aber nie, wo Sie anfangen sollten. Zum Glück ist das Internet voll von kostenlosen Ressourcen, die Sie im Handumdrehen in einen Programmierer verwandeln können.

Aktuelles Video

Dieser Browser unterstützt das Videoelement nicht.

Seit der Erfindung des Internets nutzen Programmierer es, um Software-Entwicklungstechniken zu diskutieren, Tutorials zu veröffentlichen und Code-Beispiele auszutauschen, von denen andere lernen und die sie online verwenden können. Wenn Sie neugierig sind, wie man Programmierer wird, können Sie mit Hilfe von vielen großartigen kostenlosen webbasierten Tutorien und Ressourcen einen guten Start hinlegen.

Das Wichtigste zuerst: Lassen Sie sich nicht von der Wahl einer Sprache aufhalten

G/O Media kann eine Provision erhalten

Werbung

Ein häufiger Fallstrick für Anfänger ist die Frage, welche Programmiersprache man am besten zuerst lernen sollte. Es gibt viele Meinungen dazu, aber es gibt nicht die eine „beste“ Sprache. Die Sache ist die: Letztendlich ist die Sprache gar nicht so wichtig. Das Verständnis von Daten- und Kontrollstrukturen und Entwurfsmustern ist jedoch sehr wichtig. Jede Sprache – selbst eine einfache Skriptsprache – enthält Elemente, die Sie auch in anderen Sprachen verwenden können und die Ihnen beim Lernen helfen werden. In den Kursen, die ich belegt habe, um meinen Abschluss in Informatik zu machen, habe ich in Pascal, Assembler und C programmiert – Sprachen, für die ich nie bezahlt wurde, um professionell zu programmieren. Ich habe mir jede Sprache, die ich in meiner beruflichen Laufbahn verwendet habe, selbst beigebracht, indem ich Konzepte, die ich bereits kannte, wiederverwendet und die Syntax anhand von Dokumentationen und Büchern gelernt habe. Machen Sie sich also keine Gedanken darüber, welche Sprache Sie zuerst lernen sollten. Suchen Sie sich die Art der Entwicklung aus, die Sie machen wollen, und fangen Sie einfach mit einer Sprache an, die funktioniert.

Es gibt verschiedene Arten der Softwareentwicklung, die Sie für verschiedene Plattformen machen können, vom Web über Ihren Desktop bis hin zu Ihrem Smartphone und einer Kommandozeile. In diesem Artikel stellen wir Ihnen einige unserer bevorzugten Einsteiger-Tutorials und Ressourcen vor, mit denen Sie sich das Programmieren für jede wichtige Plattform selbst beibringen können. Wir gehen davon aus, dass Sie ein versierter Benutzer sind, aber ein Neuling, wenn es darum geht, sich mit Code-Schnipseln herumzuschlagen, also werden wir die Dinge auf Anfänger-Niveau halten. Selbst wenn Sie nur ein Anfängerprogrammiertutorial durcharbeiten, werden Sie sich freuen zu sehen, wie weit Sie kommen können.

Werbung

Desktop Scripting

Der einfachste Weg, sich an der Programmierung Ihres Windows- oder Mac-Desktops zu versuchen, ist, mit einem Skript- oder Makroprogramm wie AutoHotkey (für Windows) oder Automator (für Mac) zu beginnen. Im Moment schreien die Hardcore-Programmierer unter den Lifehacker-Lesern ihre Bildschirme an und sagen, dass AHK oder AppleScript keine „echte“ Programmierung sind. Das mag stimmen – technisch gesehen machen diese Tools nur High-Level-Scripting. Aber für diejenigen, die neu im Programmieren sind und einfach nur ihre Füße nass machen wollen, indem sie Aktionen auf ihrem Desktop automatisieren, sind diese kostenlosen Tools eine fantastische Möglichkeit, damit zu beginnen – und Sie werden überrascht sein, wie viel Sie damit machen können.

Werbung

Zum Beispiel hat Adam die eigenständige Windows-Anwendung Texter, die wir alle kennen und lieben, mit AutoHotkey entwickelt, so dass diese Skriptsprache für weit mehr als nur kleine Automatisierungsprojekte geeignet ist. Um den Einstieg in AutoHotkey zu finden, schauen Sie sich Adams Anleitung an, wie Sie mit AutoHotkey jede beliebige Aktion in eine Tastenkombination verwandeln können. (Schauen Sie sich dann den Quellcode von Texter an, um das Innenleben einer vollwertigen AHK-basierten Windows-Anwendung zu sehen.)

Werbung

Webentwicklung

Anstatt an bestimmte Programmiersprachen und das Erscheinungsbild eines bestimmten Betriebssystems gebunden zu sein, können Sie Ihre Killeranwendung in den Browser packen und als Webapp in der Cloud ausführen. Willkommen in der wunderbaren Welt der Webentwicklung.

Werbung

HTML und CSS: Das erste, was Sie wissen müssen, um eine Website zu erstellen, ist HTML (die Seitenauszeichnung, aus der Webseiten bestehen) und CSS (die Stilinformationen, die diese Auszeichnung hübsch aussehen lassen). HTML und CSS sind keine echten Programmiersprachen, sondern lediglich Seitenstruktur- und Stilinformationen. Dennoch sollten Sie in der Lage sein, einfaches HTML und CSS von Hand zu schreiben, bevor Sie mit der Erstellung von Webanwendungen beginnen, denn eine Webseite ist das Frontend jeder Webanwendung. Dieses HTML-Tutorial ist ein guter Startpunkt.

JavaScript: Jetzt, wo Sie eine statische Webseite mit HTML und CSS erstellen können, wird es lustig – denn jetzt ist es an der Zeit, JavaScript zu lernen. JavaScript ist die Programmiersprache des Webbrowsers, die Magie, die dynamische In-Page-Effekte möglich macht. JavaScript ist auch der Stoff, aus dem Bookmarklets, Greasemonkey-Benutzerskripte und Ajax sind, also der Schlüssel zu allen möglichen Web-Goodies. Beginnen Sie hier mit dem Erlernen von JavaScript.

Werbung

Server-seitiges Scripting: Wenn Sie einmal gut darin sind, Dinge innerhalb einer Webseite geschehen zu lassen, müssen Sie einige dynamische Server-Aktionen dahinter setzen – und dafür müssen Sie in eine serverseitige Skriptsprache wie PHP, Python, Perl oder Ruby wechseln. Um beispielsweise ein webbasiertes Kontaktformular zu erstellen, das auf der Grundlage der Eingaben eines Benutzers eine E-Mail an eine bestimmte Stelle sendet, ist ein serverseitiges Skript erforderlich. Skriptsprachen wie PHP können auch mit einer Datenbank auf Ihrem Webserver kommunizieren. Wenn Sie also eine Website erstellen möchten, auf der sich Benutzer anmelden und Informationen speichern können, ist dies der richtige Weg. Die ausgezeichnete Webentwicklungsseite Webmonkey ist voll mit Anleitungen für verschiedene Webprogrammiersprachen. Sehen Sie sich das PHP-Tutorial für Einsteiger an. Wenn Sie soweit sind, können Sie sich in WebMonkey’s PHP and MySQL Tutorial ansehen, wie man mit PHP eine Datenbank anspricht. Die Online-Dokumentation und Funktionsreferenz von PHP ist die beste im Web. Jeder Eintrag (wie dieser über die Funktion strlen) enthält am Ende Kommentare von Benutzern, die oft genauso hilfreich sind wie die Dokumentation selbst. (Ich habe eine Vorliebe für PHP, aber es gibt viele andere serverseitige Skriptsprachen, die Sie stattdessen verwenden können.)

Werbung

Web-Frameworks: Im Laufe der Jahre mussten Webentwickler immer wieder die gleichen Probleme lösen und ähnlichen Code neu schreiben, um dynamische Websites zu erstellen. Um zu vermeiden, dass jeder das Rad für jedes neue Webentwicklungsprojekt neu erfinden muss, haben einige Programmierer Entwicklungs-Frameworks entwickelt, die Ihnen einige sich wiederholende Arbeiten abnehmen. Das beliebte Ruby on Rails-Framework beispielsweise nutzt die Programmiersprache Ruby und bietet eine webspezifische Struktur für die Erledigung gängiger Aufgaben bei Webanwendungen. Tatsächlich hat Adam Rails verwendet, um seine erste ernsthafte (und beeindruckende!) Webanwendung, MixTape.me, zu erstellen. Hier ist seine Anleitung, wie man eine Website von Grund auf und ohne Erfahrung erstellt. Andere beliebte Webentwicklungs-Frameworks sind CakePHP (für PHP-Programmierer), Django (für Python-Programmierer) und jQuery (für JavaScript).

Werbung

Web-APIs: Eine API (Anwendungsprogrammierschnittstelle) ist eine programmatische Möglichkeit für verschiedene Softwarekomponenten, miteinander zu kommunizieren. Wenn Sie z. B. eine dynamische Karte in Ihre Website einfügen möchten, sollten Sie eine Google-Karte verwenden, anstatt eine eigene Karte zu erstellen. Die Google Maps API macht es einfach, eine Karte mit JavaScript programmatisch in eine Seite einzubinden. Fast jeder moderne Webdienst, den Sie kennen und lieben, verfügt über eine API, mit der Sie Daten und Widgets aus diesen Diensten in Ihre Anwendung einbinden können, z. B. Twitter, Facebook, Google Docs, Google Maps und so weiter. Die Integration anderer Webanwendungen in Ihre Webanwendung über APIs ist die letzte Grenze der Rich-Web-Entwicklung. Jede gute, wichtige Webdienst-API bietet eine ausführliche Dokumentation und eine Art Schnellstartanleitung zum Ausprobieren (hier zum Beispiel die von Twitter). Go crazy.

Werbung

Command Line Scripting

Wenn Sie ein Programm schreiben wollen, das Text- oder Dateieingaben entgegennimmt und etwas Nützliches ausgibt, ist die Kommandozeile der richtige Ort dafür. Die Kommandozeile ist zwar nicht so sexy und sieht nicht so gut aus wie eine Webanwendung oder eine Desktop-Anwendung, aber für die schnelle Entwicklung schneller Skripte, die Prozesse automatisieren, ist sie unschlagbar.

Werbung

Einige Skriptsprachen, die auf einem Linux-basierten Webserver funktionieren, funktionieren auch auf der Kommandozeile, wie Perl, Python und PHP – wenn man also eine dieser Sprachen lernt, ist man mit zwei Kontexten vertraut. Mein Weg führte mich nie zu Perl, aber Python habe ich mir mit dem ausgezeichneten und kostenlosen Online-Buch Dive into Python selbst beigebracht.

Werbung

Wenn es eines Ihrer Ziele als Programmierer ist, ein Unix-Ninja zu werden, müssen Sie unbedingt gut in Shell-Skripting mit Bash werden. Bash ist die Kommandozeilen-Skriptsprache einer *nix-Umgebung, und sie kann alles, von der Einrichtung automatischer Backups Ihrer Datenbank und Dateien bis zur Entwicklung einer vollwertigen Anwendung mit Benutzerinteraktion. Ohne jegliche Erfahrung im Schreiben von Bash-Skripten, die über ein Dutzend Zeilen hinausgehen, habe ich schließlich einen vollwertigen persönlichen Aufgabenlisten-Manager in Bash entwickelt, Todo.txt CLI.

Add-ons

Moderne Webanwendungen und Browser sind heutzutage durch Software-Bits erweiterbar, die an sie angehängt werden können und Funktionen hinzufügen. Die Entwicklung von Add-ons wird immer beliebter, denn immer mehr Entwickler sehen sich bestehende Software wie Firefox oder WordPress an und denken: „Wenn es doch nur DAS könnte…“

Werbung

Mit der Beherrschung von HTML, JavaScript und CSS kann man in jedem Webbrowser eine ganze Menge machen. Bookmarklets, Greasemonkey-Benutzerskripte und Stylish-Benutzerstile werden mit denselben Code-Bits erstellt, mit denen auch normale Webseiten erstellt werden. Es lohnt sich also, sie zu erlernen, selbst wenn Sie nur eine bestehende Website mit einem kleinen Codeschnipsel optimieren wollen.

Mehr fortgeschrittene Browser-Add-ons, wie Firefox-Erweiterungen, lassen Sie mehr tun. Die Entwicklung von Firefox-Erweiterungen erfordert zum Beispiel Kenntnisse in JavaScript und XML (Markup, das HTML ähnelt, aber viel strenger im Format ist). Im Jahr 2007 habe ich beschrieben, wie man eine Firefox-Erweiterung erstellt, eine Fähigkeit, die ich mir angeeignet habe, nachdem ich über ein kostenloses Tutorial gestolpert war.

Anzeige

Viele kostenlose und beliebte Webanwendungen bieten ebenfalls ein Erweiterungs-Framework, wie WordPress und MediaWiki. Beide Anwendungen sind in PHP geschrieben, so dass gute PHP-Kenntnisse eine Voraussetzung für den Einstieg sind. Hier erfahren Sie, wie Sie ein Plug-in für WordPress schreiben. Entwickler, die an der Spitze von Google Wave stehen wollen, können mit dem Schreiben von Gadgets und Bots in HTML, JavaScript, Java und Python beginnen. Ich habe meinen ersten Wave-Bot nach diesem Schnellstart-Tutorial an einem Nachmittag geschrieben.

Werbung

Web-Entwicklung für den Desktop

Das Beste daran, in einem bestimmten Kontext mit dem Programmieren zu beginnen, ist, wenn man diese Fähigkeiten mitnehmen und anderswo anwenden kann. Die Web-Entwicklung zuerst zu lernen, ist ein guter Anfang, weil es jetzt Möglichkeiten gibt, diese Fähigkeiten auch für Desktop-Anwendungen zu nutzen. Adobe AIR ist beispielsweise eine plattformübergreifende Laufzeitumgebung, mit der Sie Ihre Anwendung einmal erstellen und dann für jedes Betriebssystem, auf dem AIR läuft, zur Ausführung auf dem Desktop freigeben können. AIR-Anwendungen werden in HTML, Flash oder Flex geschrieben, sodass Sie Ihre Web-Entwicklungskenntnisse auch auf dem Desktop einsetzen können. AIR ist eine großartige Option für die Bereitstellung von Desktop-Anwendungen wie eine unserer 10 besten Anwendungen, für die es sich lohnt, Adobe AIR zu installieren.

Werbung

Entwicklung mobiler Anwendungen

Mobile Anwendungen wie die, die Sie auf Ihrem iPhone oder Android-Smartphone ausführen, sind derzeit der letzte Schrei, und Sie träumen vielleicht davon, mit der nächsten Killer-App im iTunes App Store reich zu werden. Für Programmieranfänger kann der Einstieg in die Entwicklung mobiler Anwendungen jedoch eine harte Lernkurve bedeuten, da sie sich mit fortgeschrittenen Programmiersprachen wie Java und Objective C auskennen müssen. Es lohnt sich jedoch, einen Blick auf die Entwicklung von iPhone und Android zu werfen. Sehen Sie sich dieses einfache Beispiel für die Entwicklung einer iPhone-Anwendung an, um einen Eindruck von der Arbeit der iPhone-Entwickler zu bekommen. Android-Anwendungen werden in Java geschrieben, und hier ist ein freundliches Video-Tutorial, das zeigt, wie ein „Hello Android“-Anwendungs-Workflow aussieht.

Werbung

Geduld, Ellbogenfett, Versuch und Irrtum

Gute Programmierer sind eine besondere Art von hartnäckigen Problemlösern, die süchtig nach den kleinen Erfolgen sind, die sich auf einem langen Weg von Versuch und Irrtum einstellen. Programmieren zu lernen ist sehr lohnend, aber es kann auch eine frustrierende und einsame Erfahrung sein. Wenn Sie können, suchen Sie sich einen Freund, der Sie auf diesem Weg unterstützt. Um wirklich gut im Programmieren zu werden, muss man, wie bei allem anderen auch, dranbleiben, Dinge ausprobieren und nach und nach Erfahrungen sammeln.

Werbung

Dieser Artikel ist nur eine der wichtigsten Empfehlungen eines autodidaktischen Programmierers für Anfänger. Erfahrene Programmierer: Was habe ich verpasst? Unabhängig von Ihrem Kenntnisstand können Sie Ihre Gedanken und Empfehlungen für Anfänger in die Kommentare schreiben.

Gina Trapani, die Gründungsredakteurin von Lifehacker, glaubt, dass die besten Programmierer Autodidakten sind. Ihr wöchentlicher Beitrag, Smarterware, erscheint jeden Mittwoch auf Lifehacker. Abonnieren Sie den Smarterware-Tag-Feed, um neue Ausgaben in Ihrem Newsreader zu erhalten.

Werbung

Schreibe einen Kommentar