Умножение языков (Multiple languages)


Эта глава оценивает значение пересечения языковых границ. Часто бывает очень выгодно использовать для решения проблемы не один язык программирования, вместо того, чтобы стопориться, используя единый язык. Как вы увидите в этой главе, проблема, которая имеет очень трудное или утомительное решение в одном языке, часто может быть решена легко и просто в другом. Если вы можете комбинировать использование языков, вы можете создавать ваш продукт быстрее и дешевле.

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

Интерпретатор решает определенные проблемы - а именно, создание скриптового языка для пользователя. Но иногда проще и быстрее временно переключится на другой язык для решения определенного аспекта вашей проблемы. Вы не создаете интерпретатор, вы просто пишете некоторый код на другом языке. Опять таки, Jython является отличным примером, и CORBA позволяет вам пересекать языковые границы.

Мотивация интерпретатора (Interpreter motivation

Обзор Python

Создание языка

Управление интерпретатором

Контролирование Java из Jython

Использование библиотек Java

Создание Java классов в Jython

Java-Python Extension (JPE)

Выводы

Упражнения