When I was in graduate school one of my fellow students was a C++ fanatic.  To him, every software problem was best solved by C++.  To his credit he probably could solve any problem using C++, but was that really the best use of his time?  By assuming C++ as the best language choice for every problem was he being lazy or simply over working himself?

The common adage to describe the scenario above is “when all you have is a hammer, every problem looks like a nail.”  Of course you need a hammer because there are a lot of nails in the world, but there are also a lot of other types of problems.  C++ is well suited to a large (and shrinking, depending on who you talk to) problem domain, but is it really best language to use to develop a web site?  How about loading data into a database, parsing text files, or creating CRUD GUI interfaces?

Each of the problems I listed above have programming languages that fit the problem domain better than any other language.  It may take some time up front to learn a new language, but that time spent is well worth the effort of a simpler to develop to solution.

The lazy programmer, instead of letting tools drive solutions, lets the solutions drive the tools.