- Gottfried Leibniz strebte nach einer universellen Sprache, der characteristica universalis, um wissenschaftliche Wahrheiten klar darzustellen. Heute leben Elemente seines Traums in modernen Programmiersprachen fort, die versuchen, Klarheit und Ausdrucksstärke zu bieten. Objective-C als Programmiersprache ist polarisierend und bekannt für seine komplexe Syntax. Trotz ihrer Schwierigkeiten hatte Objective-C einen erheblichen Einfluss auf die Mobile Development-Welt. Viele Entwickler bewegen sich aufgrund persönlicher Vorlieben und historischer Zufälle in Bezug auf Programmiersprachen.
Nach der Erfindung der Infinitesimalrechnung, der Aktuarialtabellen, des mechanischen Rechners und der Prägung des Ausdrucks „beste aller möglichen Welten“ hatte der brillante Gottfried Leibniz das Gefühl, dass sein Lebenswerk unvollständig war. Schon in jungen Jahren träumte dieser Universalgelehrte des 17. Jahrhunderts davon, eine Sprache zu schaffen, die er als characteristica universalis bezeichnete. Diese Sprache sollte alle wissenschaftlichen Wahrheiten perfekt repräsentieren und das Entdecken neuer Erkenntnisse so einfach machen, wie grammatikalisch korrekte Sätze zu formulieren sind. Dieses „Alphabet des menschlichen Denkens“ sollte keine Falschaussagen oder Unklarheiten zulassen, und Leibniz arbeitete daran bis zu seinem Lebensende.
Die Moderne Parallele
Heute lebt eine Version von Leibniz’ Traum in Form von Programmiersprachen fort. Diese sollen zwar nicht die Gesamtheit des physikalischen und philosophischen Universums abbilden, repräsentieren jedoch das nächstbeste: Die schier endlosen Einsen und Nullen im Inneren eines Computers. Wagemutige oder schlicht verrückte Computerwissenschaftler gehen daran, neue Sprachen zu entwickeln, die ihre eigene characteristica universalis darstellen könnten—Systeme, die so ausdrucksstark sind, dass sie keine Unklarheiten lassen und Kommentare, Dokumentationen und Unit-Tests überflüssig werden.
Natürlich ist Ausdruckskraft ebenso eine Frage des persönlichen Geschmacks wie der Informationstheorie. Für den einen mag der Genuss von Steely Dan im Jugendalter einen prägenden Einfluss gehabt haben, während die eigene Präferenz für Programmiersprachen durch jene geformt wurde, die man zuerst selbst erlernte. In meinem Fall war dies Objective-C.
Objective-C: Ein polarisierendes Erbe
Objective-C gilt als polarisierend—oft verspottet für seine unermüdliche Wortfülle und eigenartigen eckigen Klammern. Einst nahezu obskur, hätte diese Sprache ohne einen unerwarteten historischen Zufall in den frühen 1990ern in Vergessenheit geraten können. Doch während meiner Zeit in der Softwareentwicklung fand ich mich oft dabei, in Bars und auf Plattformen wie HackerNews ihre schwerfälligen Designentscheidungen zu verteidigen.
In meinen Anfangsjahren als Software-Ingenieur erlebte ich, wie schwer es sein konnte, in einem überfüllten Feld Fuß zu fassen. Während meiner Collegezeit, als Mobile Development-Kurse rar waren, entdeckte ich Objective-C als Sprache für iPhone-Apps. Ich hatte ein Nischengebiet entdeckt. Das Programmieren mit Objective-C vermittelte mir das berauschende Gefühl unendlicher Selbstausdruckskraft und ließ mich glauben, dass ich alles erschaffen könnte, was ich mir nur vorstellen würde—bis ich es nicht mehr tat.