Sometimes one language just isn't good enough.
This may be true for many reasons.
Probably the most significant one
is that your code is is a different one!
The next most common might be an issue of efficiency.
A classic example is a real-time application.
Even if it is written in C, a reasonably "low-level high-level" language,
you may still want to write some critical code in assembly language.
Another example brings me very close to home.
Consider the issue of input validation on a web form.
It is nice to do as much validation, within reason, on the client
for responsiveness.
Yet it is vital to do all validation on the server as well for security.
Hence, in my libraries you will find the Validation package written
in both JavaScript (for client use) and Perl (for server use).
That is, the same engine is used on the front end and the back end
to validate the input.
This engine works from a library of validation definitions.
You should immediately wonder, "Aha! But then you've got a maintenance
issue--maintaining synchronicity between two data libraries!"
But this is not the case--I maintain the data library in JavaScript only;
the Perl code converts the library on-the-fly whenever it is updated
in JavaScript. This is a good example of the "write once, read many" principle
of well-written code.
Which takes us to my other major advocacy issue,
the Maintenance Initiative.