Als ich vor einigen Jahren das erste Mal mit Ruby on Rails gearbeitet habe, war ich erstaunt, wie wenig Code für eine lauffähige Webanwendung nötig ist. Im Gegensatz zu anderen Programmiersprachen und Frameworks schien Rails einfach „magisch“ zu funktionieren und Dinge automatisch zu tun, ohne dass ich sie als Entwickler explizit programmieren musste. Richard Schneeman geht in seinem Artikel auf diese „Magie“ beim Programmieren ein: Do You Believe in Programming Magic?
Er diskutiert die Vor- und Nachteile „automagischer“ Programmierung, die zwar eine hohe Produktivität bietet, aber bei der Fehlersuche durchaus hinderlich sein kann, da der Entwickler teilweise gar nicht mehr direkt nachvollziehen kann, was die Sprache bzw. das Framework eigentlich macht. Obwohl man also relativ schnell zu lauffähigen Lösungen kommt, sollte man nicht den Fehler machen, Funktionen einfach hinzunehmen oder gar nicht mehr verstehen zu wollen, was genau eigentlich passiert. Das ist ein Rat, den ich auch immer wieder allen Prüflingen gebe: Alles, was du verwendest, musst du auch erklären können.
Ein gewisser Grad an „syntactic sugar“ und automagischen Elementen ist für den Entwickler sicherlich hilfreich. Aber wenn man selbst nicht mehr versteht, was eigentlich vor sich geht, sollte man lieber einen Gang zurückschalten!
Hast du schon einmal „Magie“ beim Programmieren erlebt? Welche Beispiele fallen dir zu diesem Thema ein?