//Es geht die Legende, dass //auch ich// mal jung war.// Ja, sowas! Wenn das stimmt, war das wohl irgendwann gegen Ende des letzten Jahrtausends. Zu der Zeit hatte ich auch meinen ersten //richtigen// Job in der Softwareentwicklung. Was ich dabei lernen konnte, prägt mich bis heute.
Mein Mentor etwa brachte mir die //[http://threevirtues.com/ drei Tugenden]// eines guten Entwicklers nahe:
- //Faulheit//
- //Ungeduld//
- //Stolz//
Insbesondere an der //Faulheit// lag ihm viel. Faulheit als gute Eigenschaft..
Faulheit ist die Tugend, langfristig möglichst wenig Energie aufzuwenden. Das bedeutet, Dinge nicht öfter oder aufwendiger zu tun als unbedingt notwendig - deswegen möglichst ordentlichen Code und ordentliche Dokumentation abzuliefern. Ein fauler Entwickler mag nicht ständig erklären, //was// sein Code //warum// //wie// tut - weder anderen noch irgendwann seinem zukünftigen Ich. Weil er faul ist, schreibt er zugänglichen, wartbaren, sinnvollen Code, der tut, was er tun soll. Ungeduld ist die Tugend, Software abzuliefern, die keinen Anlass zur Ungeduld gibt - d.h. Lösungen, die in sich möglichst schlüssig sind und den Benutzer dabei unterstützen, schnurstracks das zu tun, was er eigentlich tun möchte. Stolz ist die Tugend, seine Beiträge so zu gestalten, dass andere beim besten Willen nichts Schlechtes über sie zu sagen haben.
Wie viele andere //Bonmots// der Softwareentwicklung entstammt auch dieser Dreiklang von [http://wiki.c2.com/?LazinessImpatienceHubris Laziness, Impatience und Hubris] aus dem Umfeld von [https://de.wikipedia.org/wiki/Larry_Wall Larry Wall.] Larry ist Linguist - und Schöpfer der //Perl-//Programmiersprachen. Seine Arbeit und die seiner Mitstreiter beeinflusst einen Großteil der modernen pragmatischen Programmiersprachen. Selbst, wenn man Perl nicht mag, die Vorträge, Artikel und Insights von Larry sind immer unterhaltsam und lehrreich.