Ein neues Buch vereint sieben Sprachen und Programmiermodelle
Ein Programmierer kommt im Laufe seines Lebens mit vielen Programmiersprachen in Berührung. Er sammelt Vorlieben und entwickelt Erfahrungen, die ihm bei jedem neuen Projekt helfen, sich für die richtige Programmiersprache zu entscheiden. Grundlage dieser Wahl ist jedoch nicht nur die Programmiersprache an sich, sondern auch das ihr zugrunde liegende Programmierparadigma – das Prinzip, nach dem codiert wird.
Programmierparadigmen
Möchte man beispielsweise die Daten einer Anwendung mit den ihr zugehörigen Funktionen eng verknüpfen, um sie gegen Fehler aus anderen Programmbereichen abzuschotten, wählt man eine objektorientierte Programmiersprache wie Java oder C#. Dem gegenüber stehen funktionale Programmiersprachen wie Haskell, bei denen der Entwickler ausschließlich die jeweiligen Funktionsabläufe implementiert – eine Methode, die aus der Mathematik kommt und daher vor allem durch klare, logische Strukturen überzeugt und viel weniger Code erfordert. Weitere Mischformen und Varianten ergeben einige Dutzend Möglichkeiten für Programmierer, eine Aufgabe in Algorithmen zu zerlegen und letztlich als funktionierende Anwendung umzusetzen. Einige Paradigmen gelten für alle Programmiersprachen: So sollte etwa darauf geachtet werden, für häufig auftretende Probleme das Rad nicht neu zu erfinden, sondern auf bestehende Lösungen zurückzugreifen. Dazu stehen für jede Sprache so genannte Klassen und Bibliotheken zur Verfügung.
Ausgetretene Pfade
Kommen wir noch einmal zurück zum Programmierer in seinem Arbeitsalltag: Im Laufe der Jahre wird er zum Spezialisten für die Tools und Sprachen, die er am häufigsten einsetzt – oder aufgrund der Wünsche seiner Vorgesetzten und Auftraggeber einsetzen soll. Dabei muss dies aber nicht zwangsläufig immer die beste Möglichkeit sein, ein Problem zu lösen. Für die Suche nach Alternativen, die möglicherweise schneller zum Ziel führen oder gar bessere Anwendungen entstehen lassen, bleibt wenig Gelegenheit.
Paradigmen durchspielen
Diesem Problem hat sich nun der Bestsellerautor Bruce A. Tate, den Sie sicher von Java-Büchern wie Better, Faster, Lighter Java kennen, angenommen. Mit dem enthusiastischen Plan, die sieben wichtigsten Prinzipien für moderne Programmierung in einem Buch zu erklären, schrieb er „Sieben Wochen, sieben Sprachen„. Darin nimmt er sich sieben Anwendungsfälle vor, anhand derer er das jeweils passende Paradigma erläutert und die Aufgabe mithilfe einer Programmiersprache umsetzt. Tate erhebt dabei weder den Anspruch, ein Lehrbuch oder Nachschlagewerk geschrieben noch die besten Sprachen ausgewählt zu haben. Im Vordergrund steht, den Leser (und damit den Programmierer) bei seiner täglichen Arbeit zu bereichern: Er macht mit den grundlegenden Prinzipien vertraut und bietet verständlichen Code, um diese praktisch durchzuspielen.
Frische Ideen
Damit ist es zu einem Kultbuch für Programmierer geworden, das in den USA monatelang unter den Amazon-Topsellern war. Es zeigt frische und kreative Ansätze abseits von den ausgetretenen Pfaden und ermutigt alle Softwareentwickler, sich vor dem Start eines neuen Projekts kurzfristig von den eigenen Vorlieben zu befreien – immer mit dem Ziel, die effizienteste und für den Anwender nützlichste sowie am wenigsten fehleranfällige Software zu erstellen.
Die Sprachen
Die in diesem Buch behandelten Paradigmen und Sprachen wählte Tate durch die Befragung potenzieller Leser aus. Aus der Top TenListe strich er JavaScript, da es schlichtweg zu populär ist, sowie Python, da mit dem ebenfalls ausgewählte Ruby das Prinzip der Objektorientierung noch einfacher zu verstehen ist. Schließlich blieben:
- Ruby als objektorientierte Sprache, die einfach zu erlernen ist
- Io, da sie durch minimale und gleichzeitig extrem leistungsfähige Syntax überzeugt, auch wenn sie nicht kommerziell erfolgreich ist
- Prolog, weil sie Sprachen wie Erlang stark beeinflusst und Tate mit seiner Leistungsfähigkeit nachhaltig beeindruckte
- Scala, weil sie das funktionale Programmierparadigma in das objektorientierte Java bringt
- Erlang, weil dessen „Let it crash“-Philosophie dabei hilft, fehlertolerante Software zu erstellen
- Clojure als Sprache der Java Virtual Machine, die vorbildhaft Versionierungsprobleme löst
- Haskell als rein funktionale Sprache, die zwar schwieriger zu erlernen, jedoch extrem logisch ist und hoch zuverlässige Funktionalität liefert.
Dabei versäumt es Tate nie, die Paradigmen und Sprachen in klassische Anwendungsfälle unserer Zeit einzuordnen. Das Buch ist damit mehr als ein Lesebuch – es bietet Inspiration für moderne Entwicklung, immer mit der Prämisse der tatsächlichen Anwendbarkeit. Die gewählten Beispiele bringen den Leser sofort dazu, das Paradigma in Code umzusetzen. Und damit hat es viele Fans gewonnen: „Schnallen Sie sich an, Sie befinden sich auf einer rasanten Reise“, wendet sich der Entwickler Frederic Daoud an die Leser des Buchs. „Wenn Sie es lieben, neue Sprachen zu erlernen, wenn Sie Ihren Verstand herausfordern möchten, wenn Sie Ihre Programmierkenntnisse auf die nächste Stufe stellen wollen – dann ist dieses Buch für Sie das Richtige. Sie werden nicht enttäuscht sein.“