Polyglot programming -- development in multiple languages

When I ask developers "what programming language do you use?", the answer I often get is a single language. Most developers define themselves as a Java, C++, Delphi, C#, Visual Basic, PHP, Ruby or Python developer. Some web developers will say they use JavaScript. In fact, most developers use several programming languages. Who doesn't also use JavaScript, HTML, XML, WSDL, SQL and other languages (domain specific, procedural, markup, functional, object-oriented, etc.)?

To build web applications developers need to leverage a server-side language like PHP, Perl, Python and client-side language like JavaScript. To build enterprise business objects many developers will choose to use Java, C++ or to wrap legacy systems with SOAP and RESTful web services. In systems with multiple processors and multiple cores some developers are now using functional programming languages like Haskell, Erlang and Scala.

Neal Ford, Software Architect and Meme Wrangler at Thoughtworks, (in his blog post on December 5, 2006) calls this use of multiple programming languages "polyglot programming". He says, "Now, increasingly, we're expanding our horizons. More and more, applications are written with Ajax frameworks (i.e., JavaScript). If you consider the embedded languages we use, it's even broader: XML is used as an embedded configuration language widely in both the Java and .NET worlds."