Ein Pionier zieht weiter
Es war eine Überraschung für viele Leute was Chris Lattner mitteilte und hinterlässt für den einen oder anderen einen interessanten Beigeschmack.
Chris Lattner, Vater und Urheber von Swift verlässt Apple um sich zukünftig als Vice President der Entwicklung des Autopiloten bei Tesla zu kümmern. Lattner selbst hat Swift im Jahre 2011 aus eigener Energie und ohne Wissen anderer erfolgreich im Hinterzimmer für sich selbst entwickelt und es 4 Jahre später der Welt vorgestellt.
Lattner hat mit Swift nicht dass erste mal die Welt der Compiler und Programmiersprachen auf den Kopf gestellt. Mit dem Projekt LLVM (Low Level Virtual Machine) welches er als führender Kopf zusammen mit Vikram Adve an der Universität von Illinois entwickelt hat, revolutionierte Lattner die Welt der Kompilierer zum ersten mal. Apple erkannte früh das Talent von Lattner und bemühte sich intensiv ihn an Board zu holen.
Die Gründe dafür sind sicherlich vielschichtig. Apples größtes Kernproblem war aber damals die fehlende Modernisierung der eigenen Toolchain, da man vielleicht selbst mit dem gcc (GNU Compiler Collection) nicht mehr als besten Partner gerechnet hat. So kam es relativ kurze Zeit nach Lattners Einstieg bei Apple schon zu ersten sehr wichtigen Veränderungen. Lattners erster großer Wurf war die erste Modernisierung von Objective-C welches im Oktober 2007 in Version 2.0 veröffentlicht wurde. Es sollte aber nicht nur bei einer Modernisierung der Sprache bleiben, denn anscheinend konnte Chris Lattner Apple davon überzeugen dass ein gesamter Wechsel auf eine andere Compiler-Toolchain deutlich bessere Möglichkeiten birgt die sich auf Dauer auch finanziell auszahlen könnten.
Es entstand das Projekt clang, ein alternativer Compiler welcher langfristig zusammen mit LLVM den gcc ablösen sollte. Mit dem erscheinen von clang und seinem initialen Support von C und Objective-C hatte Apple einen enorm wichtigen Meilenstein genommen. Eine sehr weit fortgeschrittene Unterstützung von C++ war auch bereits mit an Board.
Nicht nur war Apple jetzt in der deutlich besseren Kontrolle über das Frontend und über die hauseigene Sprache Objective-C mit clang, so haben sie auch mit Chris Lattner gezielt (und Lattner vermutlich auch für sich selbst) im Eigennutzen LLVM auf eine neue und größere Ebene gehoben. Dies merkte man sehr rasch als wichtige Linux Distributionen binnen Monaten den gcc gegen clang ausgetauscht haben. Dies wurde zudem drastisch beschleunigt als bekannt wurde das clang in der Lage war sich komplett selbst zu bauen, was zuvor noch mit gcc bewerkstelligt werden musste.
Ein neues Zeitalter
Nachdem clang gereift war und defakto Standard wurde für die Entwicklung von iOS Apps und OS X Anwendungen, folgte der nächste große Schritt mit der Einführung von ARC. Dem Automatic Reference Counting. Die Speicherverwaltung war zu dieser Zeit gerade für viele junge Entwickler aber auch für Umsteiger eine große Herausforderung. Da Objective-C eine sehr stark an C angelehnte Sprache mit Objekt-Orientierten aufbauten ist, hat man auch meistens auf einem sehr niedrigen Level mit Speicher zu tun. So war es nicht ungewöhnlich sich selbst Speicher für seine Instanzen zu allokieren und nach dem verwenden auch wieder freizugeben.
Da dieses Konzept aber von anderen Sprachen schon Jahre zuvor deutlich vereinfacht wurde kannten viele Entwickler das Wort Speicherverwaltung und vor allem die tiefere Bedeutung dieser schon gar nicht mehr. So war es nicht selten das viele Apps im App Store schlicht weg instabil waren und sich häufig nach längerer Nutzung leise verabschiedeten, einfroren oder einfach abstürzten.
Um der allgemeinen Frustration der Entwickler entgegen zu treten hat Lattner das Konzept ARC in das Frontend clang für Objective-C im Jahre 2012 eingeführt und die App Entwicklung „revolutioniert“. Viele Probleme der alten Zeit und auch Probleme des gescheiterten Garbage Collectors waren Geschichte.
Danach wurde es recht ruhig um den Compilerbau bei Apple und Veränderungen für Entwickler fanden wieder vermehrt im sichtbaren Bereich statt. Umso überraschender war das Jahr 2014.
Der steile Aufstieg
In diesem Jahr stellte Lattner auf der World Wide Developer Conference die Programmiersprache Swift vor. Ein aus der Sicht der App-Entwicklung revolutionäres Ding passierte und nicht Wenige, sowie auch ich waren sprachlos. Eine moderne Programmiersprache die u.a. verschiedenste Konzepte der Objekt-Orientierung oder auch funktionalen Entwicklung enthielt. Generics, Closures, Curry Funktionen und vieles mehr. Zudem hat man den Spagat geschafft auch Objective-C in Swift und andersherum nutzbar zu machen.
Es folgten 2 turbulente Jahre mit einigen Downs und vielen Ups in der Community. Lattner hatte es geschafft mit einem großartigen Team Swift innerhalb kürzester Zeit auf ein professionelles Level zu heben. Das Apple Swift als Open Source Projekt veröffentlicht hat brachte alles zum fliegen. So ist heute Swift nicht nur für reine App Entwicklung interessant als auch vielmehr für u.a. die Backendentwicklung oder auch die Entwicklung von Applikationen unter Linux. Mit einem Community-Prozess hat Apple zudem die Möglichkeit erschaffen das Jeder sich an der Entwicklung der Sprache beteiligen kann. Und so folgte eine Version von Swift nach der anderen und inzwischen leben wir in der 3ten großen Sprachrevolution und auch dem Ende radikaler Veränderugen.
Ein Umdenken bei Chris Lattner?
So sah es auch womöglich Lattner der nach 11 Jahren auf eine große Erfolgsgeschichte bei Apple zurückblicken kann, viele Dinge verbessert und deutlich optimiert hat. Objective-C 2.0, clang, Automatic Reference Counting und Swift sind 4 Dinge die man immer mit Lattner und Apple in Erinnerung haben wird.
Vermutlich waren die Möglichkeiten zur persönlichen Entfaltung bei Apple langsam am Ende und so entschied sich Lattner das Unternehmen zu verlassen. Ob ein direktes Angebot für eine neue Position vorlag oder nicht ist unbekannt. Jedoch war nach wenigen Stunden klar wo Lattner nach seinem öffentlichen Abschied von Apple hinsegelt.
Es war eine Überraschung für viele Menschen. Der Automobilhersteller Tesla gab wenige Stunden später bekannt das Lattner in Zukunft die Rolle eines Vice President einnehmen wird und die Entwicklung von Teslas Autopiloten weiterführt. Mit diesem Karrierschritt übernimmt Lattner einen ganzen Bereich den er federführend beeinflussen kann und vermutlich ist sein Wirkungskreis im Gegensatz zudem welchen er bei Apple inne hatte enorm gewachsen.
Ob wir ein direktes Produkt in der Open Source Community erneut sehen werden bleibt zu hoffen da Chris Lattner mehrfach ein gutes Händchen für die Bedürfnisse von Entwicklern erkannt und erstellt hat. Aber auch wenn Lattner seine Projekte nicht mehr aktiv in führender Rolle weiterführt, so kann man sich gewiss sein dass Projekte wie Swift weiterhin in guter Hand sind. Die Leitung des Swift Projektes wird in Zukunft von Ted Kremenek übernommen.
Lattner selbst bleibt uns Swift-Entwicklern jedenfalls als Mitglied des Core Swift Teams erhalten 🙂
No Comment