Эта глава оценивает значение пересечения языковых границ. Часто бывает очень выгодно использовать для решения проблемы не один язык программирования, вместо того, чтобы стопориться, используя единый язык. Как вы увидите в этой главе, проблема, которая имеет очень трудное или утомительное решение в одном языке, часто может быть решена легко и просто в другом. Если вы можете комбинировать использование языков, вы можете создавать ваш продукт быстрее и дешевле.
Наиболее явно эта идея воплощена в шаблоне проектирования Интерпретатор, который добавляет интерпретируемый язык в вашу программу, что позволяет конечному пользователю легко подстраивать решение. В Java наиболее легким и мощным средством сделать это является Jython [9], реализация языка Python в чистом Java байт-коде.
Интерпретатор решает определенные проблемы - а именно, создание скриптового языка для пользователя. Но иногда проще и быстрее временно переключится на другой язык для решения определенного аспекта вашей проблемы. Вы не создаете интерпретатор, вы просто пишете некоторый код на другом языке. Опять таки, Jython является отличным примером, и CORBA позволяет вам пересекать языковые границы.