Screws and Nails

Why do we tend to over-replace things in software development?

When the screw driver was invented it provided yet another tool for joining or affixing multiple objects together. Even though this is the exact same purpose for a hammer, it did not replace this even older tool. Nor was it ever thought of as a replacement. Both are classified as a fastener.

In software development we see similar things happening with a different outcome. The old C vs Fortran discussion is a good example of this behavior. C was never thought of as a replacement of Fortran, yet people started to replace the latter with the more modern and generic C. That Fortran is still quite popular in HPC is a sign that it still fills a hole and fits a very special purpose. Nevertheless, many people regard this as ancient technology and refuse to use it.

Debates on whether a technology is obsolete are not new. Yet, even though they are sometimes justified they are mostly going in the wrong direction. The question is not whether tech A is looking ancient when compared to tech B, but why B should be a suitable replacement for A under very specific constraints.

Just some example to illustrate my point. In the data storage technology sector we see quite some movement in the recent years. When the NoSQL databases appeared we witnessed a rather great diversity of specialized data stores coming to life. Finally, we have a lot of interesting new tools on our plate that we can use once we have the need for. Still, in most cases the traditional relational SQL databases will be the best choice. Furthermore, nothing prevents us to also use a heterogeneous infrastructure with several different databases - depending on the data's velocity, variety, and volume.

Coming back to the original point: I don't see the need to trash everything that's old only because it is not the latest and most hyped thing. Much more important is what a tool can deliver and what it's unique selling point is. I'm excited we live in times where great innovation seems to be happening on a daily basis. Yet I am concerned about premature replacements and hype-driven development. I really hope that this is just a temporary observation.

To be able to integrate screws on sealed wood I tend to use a hammer. This is only possible because a screw is in the end nothing but a special kind of nail that has a screwdriver compatible head with an helical ridge.

Created .


Sharing is caring!