Suche
Wir sind hier nicht in Hogwarts!

Programmiersprachen und Frameworks: Es gibt keine Magie, nur Code!

Michael Thomas

© Shutterstock.com/Fer Gregory

RxJava, Spring, JSF, JPA, Struts … Für den IT-Guru Robert C. Martin, auch bekannt unter seinem Spitznamen „Uncle Bob“, steht fest, dass neue Frameworks aus einem einzigen Grund geboren werden: Sie sind das Echo der Frustration ihrer Autoren über die Limitierungen ihrer jeweiligen Lieblings-Programmiersprache; ihrem Mangel an bestimmten Features. Und sollte das Framework diesen Umstand nicht kompensieren, folgt der nächste Schritt: Die Erschaffung einer neuen Sprache, die nach Möglichkeit perfekt sein soll.

Aber, so Martin, die perfekte Sprache, die eierlegende Wollmilchsau, gibt es nun mal nicht. Schlimmer noch: Martin sieht in praktisch allen Sprachen, die in neuerer Zeit das Licht der Welt erblickten, lediglich Aufgüße alter Idee, er geht sogar soweit, zu konstatieren, dass im Gunde seit den späten 1970er Jahren keine wirklich neuen Ansätze formuliert wurden: Wenn man einmal in Assembler, FORTRAN, C, Pascal, C++, Smalltalk, Lisp, Prolog, Erlang, oder Forth programmiert habe, habe man alles gesehen – und dasselbe gelte für Frameworks.

„Wer die Vergangenheit nicht kennt, ist dazu verurteilt, sie zu wiederholen.“

Verantwortlich für diese Misere ist Martins Einschätzung zufolge der Umstand, den der spanisch-US-amerikanische Philosoph George Santayana mit dem Bonmot „Wer die Vergangenheit nicht kennt, ist dazu verurteilt, sie zu wiederholen“ umschrieb. Übertragen auf die Programmierung bedeutet dies: Jede neue Programmierergeneration ist dazu verdammt, die selben alten Sprachen und Frameworks neu zu verwursten. Für eine Weile genießen diese dann eine gewisse Popularität, bis sich herauskristallisiert, dass sie die Versprechungen, namentlich schnellere und einfacherere Programmierung, nicht einhalten können, da die grundlegenden Designs die alten sind.

Warum, fragt Martin, kommt es immer wieder dazu? Seine Antwort: Magie! Die Leute sind auf der Jagd nach Neuem, weil sie hoffen, den Zauber erneut zu erleben, den ihnen die Nutzung bestimmter Frameworks vermittelt hat. Und in ihrer Naivität, so Martin weiter, glauben sie, dass nur wenig fehlt, um die perfekte Sprache oder das perfekte Framework zu erschaffen.

Die Magie muss weg!

Doch, so Martin, es gibt keine Magie, nur Einsen und Nullen, die von einer im Grunde simplen Maschine, die detaillierte Anweisungen benötigt, in rasender Geschwindigkeit verarbeitet werden. Ergo muss das magische Denken zertrümmert werden. Am sichersten, so Martin weiter, kann dies
durch das Erlernen und die zumindest zeitweise Nutzung einer Assemblersprache bewerkstelligt werden: Sobald man begriffen hat, dass man mit einer Maschinensprache beliebige Compiler, Interpreter usw. schreiben kann, verfliegt die Magie, der man bei der Programmierung mit Java, C++ und Co scheinbar begegnet.

Sobald die Magie verflogen ist gewinnt man Martin zufolge eine völlig neue Perspektive. Und zwar die, dass jede Programmiersprache lediglich ein jeweils anderer „Dialekt“ der Maschinensprache ist. Wenn man wollte und müsste, könnte man alles in Maschinencode schreiben – kein Platz für Geheimnisse und Magie also. Für Frameworks gilt laut Martin das gleiche: Wenn man nur einmal einen – noch so simplen – Web Server, einen Dependency Injector oder XML Parser geschrieben hat, stellt man fest, dass man Frameworks im Grunde nicht benötigt. Man erkennt sie als das, was sie sind: guter alter Code. Und laut Martin wahrscheinlich mehr davon, als man braucht.

Schlussendlich, so Martin weiter, wird man dadurch in die Lage versetzt, abzuwägen, ob die Vorteile die Masse an Code rechtfertigen, ja sogar, ob man überhaupt ein Framework braucht oder den benötigten Code, unter dem Gesichtspunkt der besseren Kontrolle, nicht besser selber schreibt.

Wofür auch immer man sich entscheidet: Die Magie muss weg!

Aufmacherbild: photo composite of a magic hat on a stage von Shutterstock / Urheberrecht: Fer Gregory

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: