Producing pearls in the world of legacy applications and enterprise software

In Beautiful Code in the Real World Alberto Savoia argues that „the opportunities for creating a true masterpiece of coding worthy of sharing and bragging about may be rare, but you have dozens of chances everyday to make the code base you work with more beautiful“.

I argue that is utterly wrong. When doing maintenance on an legacy enterprise system you might not be able to invent clever algorithms along the lines of quick-sort all day. But still you can do masterpices all day. You might not be able to bring too much sophistication into the final outcome of your work, because it is only a tiny change to a stinking pile of legacy code. But in the process of how you do your work and the tools you use to do so there is always potential for the outmost sophistication. Programmers are tool builders and the most distinguished ones can be recognized by their desire to build groundbreaking tools for the process of programming itself.

So engage in Metaprograming and automated tests, code analysis and compiler extensions, generative programming and code checkers, build domain-specific language and refactor mercilessly. Why not start with hacking a RPG IV parser, generate abstract syntax trees and find all errors of a kind in the whole 10 MLoC codebase, write a refactoring IDE for Cobol.

Just because you have to work on a largo, old and ugly code base does not mean you can not build new and exciting things to get your work done better.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s