Arkanis Development

Styles

KISS?! Wer braucht das schon…

Published

This post is written in German

Als Programmierer kommt man vielleicht in eine Phase, in der einem die eigene Phantasie davon rennt. Dann denkt man sich innerhalb von einer Stunde ein schön aufgebautes System aus, das bloß leider auch sehr umfangreich und komplex ist. In meiner persönlichen Entwicklung hab ich mehr als einmal Monate an etwas programmiert, dass ich mir in einer Stunde ausgedacht hatte…

So schön das auch sein mag, so schlimm waren für mich persönlich die Folgen: Selbst wenn ein System besonders gut durchdacht war, sobald ich an die Implementierung gedacht hab, ist der Eifer in Frust umgeschlagen. Es würde eh zu lange dauern, diese Idee zu implementieren, also kann ich es auch gleich sein lassen.

Diese nüchterne Einsicht hätte fast dazu geführt, dass ich mit dem Programmieren aufgehört hätte. Wofür auch programmieren, wenn man die Sachen, die man im Kopf hat, eh nicht so Umsetzen kann? Wofür, wenn man seinen eigenen Ansprüchen an schönen Code nicht gerecht wird und damit auch keinen Spaß an der Sache hat? Ich habe mich in der Programmierung verloren… nur noch des Programmierens halber programmiert und dabei oft die eigentlichen Probleme aus den Augen verloren.

Glücklicher weise bin ich damals mehr durch Zufall und englische Literatur auf eine andere Art der Programmierung gestoßen. Dort ging es auf einmal um Prinzipien wie KISS (Keep it simple stupid) und DRY (Don't repeat yourself). Erst dank dieser Prinzipien hab ich verstanden, dass es von Vorteil ist, ein System möglichst einfach zu halten. Weniger Code, weniger Fehler, übersichtlicher, schneller zu implementieren und einfacher zu warten.

Nach einiger Gewöhnungszeit gelang es mir dann sogar wieder, mir Sachen auszudenken, die in überschaubarer Zeit programmierbar waren. Zwar auch durch die Hilfe diverser Sprachen und Frameworks, aber in erster Linie indem ich in der Lage war, unnötige Funktionen wegzulassen und so das System möglichst einfach zu halten. Komplexität hat zwar auch seine Schönheit, aber etwas, dass ein Problem auf bestechend einfache und ausdrucksstarke Weise löst, hat einen ganz anderen Reiz.

Leider scheint man beim Studium auf solche Prinzipien nicht wirklich Wert zu legen. Warum auch Dinge einfach halten, wenn man sie kompliziert machen kann? KACAP (Keep as complex as possible) scheint da der Trend zu sein. Warum sollte man als Programmierer auch an das Problem denken, dass man eigentlich lösen wollte? Das währe ja fast so schlimm wie ein Programmierer, der leistungsorientiert oder wirtschaftlich denken kann…

Langsam bekomme ich den Eindruck, manche Vorlesungen bewegen sich in diese Richtung.

Leave a new comment

Having thoughts on your mind about this stuff here? Want to tell me and the rest of the world your opinion? Write and post it right here. Be sure to check out the format help (focus the large text field) and give the preview button a try.

optional

Format help

Please us the following stuff to spice up your comment.

An empty line starts a new paragraph. ---- print "---- lines start/end code" ---- * List items start with a * or -

Just to keep your skill sharp and my comments clean.

or