The Lazy Programmer: Language Selection
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.