Kotlin – Einstieg und Praxis
Kotlin ist neben einer Insel vor St. Petersburg auch eine neue Programmiersprache. Ich habe mir das Buch Kotlin – Einstieg und Praxis angesehen und teile euch in diesem Artikel meine Rezension des Einsteigerbuches mit.
Kotlin – Einstieg und Praxis
Der mitp Verlag hat mir freundlicherweise das Buch „Kotlin – Einstieg und Praxis“ für diese Rezension zur Verfügung gestellt. Vor der Anfrage dazu hatte ich bisher gar keine Berührungspunkte mit Kotlin. Da in letzter Zeit sehr viele Sprachen aus dem Boden schießen kann man gar nicht jede einzelne ernst nehmen, erlernen beziehungsweise diese in der Praxis verwenden. Trotzdem sollte jeder gute Entwickler am Laufenden sein. Ich habe mich deshalb die letzten Wochen intensiv mit dieser neuen, für die JVM (Java Virtual Machine) erstellte Sprache, auseinandergesetzt.
Autor
Der Autor Karl Szwillus arbeitet seit etwa 4 Jahren mit Kotlin an Projekten im Umfeld der mobilen und browserbasierten Internetanwendungen.
Inhalt
Kotlin – Einstieg und Praxis ist ein gut 350 Seiten dickes Fachbuch und richtet sich an Programmierer, die noch keine Erfahrung mit Kotlin als Programmiersprache haben.
- Eigenschaften von Kotlin
Im ersten Kapitel erfährt man alle nötigen Details zur neuen Sprache Kotlin. Wer diese erfunden hat, warum es sie gibt und welche Vorteile man damit hat. - Arbeiten mit Kotlin
Auf ein paar Seiten wird gezeigt wie man IntelliJ und Android Studio als IDE für die Entwicklung von Kotlin Code aufsetzt. - Kotlin by example
Spannend wird es ab diesem Kapitel. Das obligatorische Hello World wird entwickelt und mit einigen Kotlin spezifischen Details abgewandelt. Schlussendlich wird das Beispiel auch für Android umgesetzt. - Grundlagen und Daten
Nach dem ersten lauffähigen Beispiel wird nun gezeigt welche Datenstrukturen und Variablen es gibt (z.B. in Java) und wie diese in Kotlin aussehen. Es wird spezifisch auf die Besonderheiten von Kotlin eingegangen. - Grundstrukturen
Im fünften Kapitel werden die Strukturen der Sprache anhand von Beispielen erläutert. Der Leser lernt was man mit einem if-else, for- und while-Schleifen und besonderen Strukturen wie try-catch Blöcke arbeitet. - Funktionen und Lambdas
Das Kapitel dreht sich um den Kern einer funktionalen Programmiersprache. Die Organisation von Source Code in Funktionen (lokale, inline-, infix- und actual Funktionen) und die auch von anderen Programmiersprachen bekannten Lambdas. Die Mächtigkeit der funktionalen Sprache wird anhand von Chaining, rekursiven und speziellen Funktionen erläutert. - Packages, Klassen und Objekte
Kotlin wäre keine moderne Sprache ohne Objekt Orientierung. So geht es in diesem Kapitel um die bekannten Konzepte wie Klassen, Packages, Interfaces, Vererbung usw. - Testing
Ein aus Praxis-Sicht besonders wichtige Funktion einer guten Programmiersprache sind Tests. Nur durch einfache Implementierung von Tests lassen sich große Projekte umsetzen. Eine Anbindung an JUnit-Test wird deshalb praxisnah gezeigt. - Kotlin für Fortgeschrittene
Dieses Kapitel vereint die zuvor einzeln gelernten Elemente. Obwohl Kotlin auf jeder Java Plattform läuft und auch alle Java Funktionen nutzen kann, so muss man sich trotzdem darauf einstellen, dass nicht alle Zielplattformen gleich sind. Ob Desktop, Android, oder Webanwendung, jeder Bereich hat ganz spezielle Anforderungen die man als Entwickler kennen muss. - Kotlin für Android
Im vorletzten Kapitel geht es speziell um den Einsatz von Kotlin in Android Apps. - Zielplattformen für Kotlin
Im letzten Kapitel bekommt man noch einige Praxistipps um auf den entsprechend unterschiedlichen Zielplattformen zu entwickeln
Eigene Meinung
Bevor ich das Buch aufgeschlagen habe, hatte ich gar keine Ahnung von Kotlin und auch keinen Bedarf mich mit einer weiteren Programmiersprache zu beschäftigen. Gefühlt werden jedes Jahr zig neue Sprachen erfunden. Bisher war klar: ich tippe mein Programm in Java ab, kompiliere es in die Zwischensprache, welche dann von der virtuellen Java Maschine ausgeführt wird. Kein Grund daran etwas zu ändern…und dann kam Kotlin. Warum sollte Java die einzige Sprache sein um Java bytecode zu erzeugen? In der .NET Landschaft gibt es schon lange mehrere Programmiersprachen die bytecode für die selbe Laufzeitumgebung erstellen, warum also nicht auch in der Java Welt? Kotlin ist da nicht nur einfach eine weitere Sprache, sie ist von der Konstruktion funktionaler Natur und noch mehr. Man kann den Code auch in JavaScript wandeln und Kotlin wird offiziell von Google unterstützt. Der Aufwand lohnt sich, denn mit funktionalem Code löst man so manche Problemstellung effizienter mit weniger Code. Meist ist das Ergebnis sogar noch besser lesbarer als vergleichbarer Java Code. Da man die beiden Sprachen im selben Projekt verwenden kann verheiratet man quasi die Vorteile beider Ansätze.
Fazit
Kotlin ist eine logische Ergänzung zur Java Virtual Machine und erlaubt dort nun auch die funktionale Programmierung. Es verhält sich damit wie F# in der .NET Welt. Die funktionale Programmierung erlebt in den letzten Jahren eine wachsende Beliebtheit, so sind beispielsweise auch aktuelle Erweiterungen der Sprache C++ funktionaler Natur. Mit dem Buch Kotlin – Einstieg und Praxis schafft eine gute Wissensbasis um bereits bestehende Java Applikationen mit Kotlin Code zu erweitern oder das nächste JVM Projekt direkt mit der neuen Sprache Kotlin zu beginnen. Die Vorteile liegen klar auf der Hand: moderner, kürzerer und gut leserlicher Code.
Interessante Programmiersprache. Bin neugierig, sie auszuprobieren. Guter Beitrag.