
Laut Wikipedia bezeichnet Idylle “ein auf den Betracher harmonisch und friedlich wirkender Zustand. Harmonisch und reizvoll”.
“Ooooch wie schöööööööön” - möchte man verklärt sagen, wenn man heutzutage diese seltenen Momente im Leben hat.
Der Artikel “Das Verschwinden der Kindheit” im aktuellen Stern hat mich auf die Idee gebracht, mich an die Unschuldsjahre eines jungen Entwicklers zurück zu erinnern. Die Zeit, während der man noch nichts von Objekten und Klassen wusste - wo Funktionen die Erfindung des Jahrhunderts waren. Spaghetti-Code: Mmmmh lecker ;-)
Als Entwickler entwickelt man sich beständig weiter. Bewusst lernt man neue Inhalte und Methoden, die es zu beachten gilt. Mit der Zeit schleppt man intuitiv einen riesigen OOP-Regelberg auf dem Rücken durch die Gegend - und ist sich dessen noch nicht einmal bewusst.
Man lacht über Leute, für die Trennung von Inhalt und Gestaltung ein Fremdwort ist, freut sich kindisch über unbeholfene Objektimplementierungen und Parser-Fehlermeldungen auf Webseiten im Livebetrieb… Aber hat alles nicht eine Etage tiefer angefangen? Im Keller, wo die Klamotten noch mit Spaghetti-Code gestrickt werden?
Was passiert eigentlich mit einmal geschriebenem Programmcode? Entwickelt der sich auch weiter?
Nein. Nein, man hört zwar oft von Refactoring - aber nur für wenige Programme lohnt sicht der Aufwand. Oft ist neuschreiben die kostengünstigere Lösung. Was passiert mit den Programmen in den Herzen großer Unternehmen wie Banken, die schon seit mehreren Jahrzehnten täglich ihren Dienst im Innern von Mainframes verrichten?
Die werden höchstens erweitert, nicht neu geschrieben. Dumm nur, das sich kaum noch jemand an COBOL erinnern kann.
Warum machen die das? Wäre es nicht viel schöner, einem IT Haus ein paar tausend Kröten in die Hand zu drücken und die Dinger mit ein bisschen OOP-Code zu verfeinern?
Falsch.
Niemand würde einem schicken Jungendstilhaus ein Gartenhäusschen in Bauhaus-Optik verpassen, oder? Diese Prachtbauten aus längst vergangenen Tagen haben ihren eigenen Charme, der wesentlich geschmälert wäre, wenn es jemand mit irgendwelchen Anbauten verunstaltet hätte.
Warum zum Geier meinen alle ihrer Applikation etwas Gutes zu tun, wenn Sie funktionsorientierte Frameworks mit Objekten verunglimpfen? Ich meine schaut Euch die Ergebnisse doch mal an.
Die meisten beschweren sich darüber, bei alten Frameworks keinen Durchblick zu haben. Warum? Wegen fehlenden Kommentaren? Weil man sich keine Funktionen ohne Objekte drumrum vorstellen kann?
Fehlende Kommentare sind natürlich übel, aber Kommentare kann man dazu schreiben. Es ist halt eine Einarbeitung notwendig. Dann weiß man aber auch, wie der Code tickt, den man nachträglich kommentiert.
Viel schlimmer ist die Kombination von alten Programmier-Methoden und neuen OOP Strukturen. Das passt nicht zusammen und die Brücken, die für die Integration notdürftig geschlagen werden, sind auch nur Kompromisse und eher wackelig als schön.
Kann sich denn keiner an einem Stück idyllischen Altcode erfreuen? So nach dem Motto “Schau mal hier, wie witzig, eine Wollmilchsau-Funktion!” oder “Oooch wie schön, hier wird eine Datei in einer Schleife ausgelesen!” und “Guck mal da, da hat einer Programmcode in die HTML-Datei geschrieben…”?
(Alte) Programme sind wie eine Landschaft - wenn man mal verstanden hat, wie sie funktioniert, kann man wunderschöne Dinge damit anstellen. Eben eine andere Art von Filigran - vielleicht nicht so zeitgemäß wie OOP, aber trotzdem funktional und auf seine Art schön. Nicht vergleichbar mit universellen Design Patterns, aber eben frech und tricky.
Schon mal schlechter programmiert, als Du kannst? Manche ekeln sich vielleicht davor, eine globale Funktion zu benutzen oder selbst herzustellen. Ich finde, man muss sich der Applikationslandschaft, in der man gerade enwickelt, anpassen. Ein neues Framework wird schick mit Design Patterns und á la OOP aufgezogen - eine nostalgische Applikation aus den 90ern (oder noch früher) wird am besten in dem Stil weitergepflegt, in dem sie früher mal begonnen wurde.
Erst der Mischmasch machts hässlich. Allein das Nacheinanderlesen der Worte OOP, globale Funktion, Webservice, None-CSS, div und Table-Layouts verursacht ein unruhiges Gefühl im Magen - nicht? Wenn man Dinge, die nicht zusammen passen trennt, ist das eine prima Sache.
Lehn dich zurück. Genieß den Anblick einer betagten Applikation. Lächle über ihre Macken mit dem Bewusstsein, es besser machen zu können. Erfreue Dich an reizvoller Harmonie.
Dann kann auch eine uralt Applikation ihren Charme besitzen, eine Daseinsberechtigung haben, neben den modern OOP-Frameworks. Und vielleicht sogar einen Tick performanter sein als modernes Objekt-Geraffel.
Foto-Finish.

















