What's that old line about if all you have is a hammer all your problems look like nails? There are some programmers who only have one programming language in their tool box. They way they look at programming problems is colored by what can be done in that language and how things are done in that language. As regular readers of this blog well know I am an advocate of programmers learning several languages. One of the reasons for that is so that they can consider using other languages when they run into problems using one language.

One of the things that get me excited about the .NET Framework and Visual Studio .NET was the ability to mix programming languages in a project. With the addition of dynamic languages like Python and Ruby into the mix more and more options allowing different programming paradigms are now permissible. If the language in use doesn't meet the needs of a specific problem changing the language may be an option. In fact changing languages has never been easier.

I think that a lot of thought should go into selecting a programing language for each projects. No one should assume that one programming language is perfect for all projects. And in fact some project, especially larger ones, may involve more than one language. I don't think teams should involve multiple languages just for the sake of using them of course. There is some complexity especially when you consider additional maintenance and enhancements over time. But at least people should have an open mind about the issue.

[Note: I am away on vacation this week so I decided to finish up this series and have these posts show up while I am away.] 

This is the twenty-fifth of a series of posts based on the book Programming Proverbs by Henry Ledgard. The index for the series is an earlier post and discussion of the list as a whole is taking place in the comments there. Comments on this "proverb" are of course very welcome here.