282 Глава9
чительно увеличивает стоимость выполнения программы. По этой причине интер-
претируемые программы обычно менее эффективны, чем компилируемые.
Некоторые языки программирования, такие как REXX и Java, допускают как ин-
терпретацию, так и компиляцию.
9112 Преимущества интерпретируемых языков
В разделе «Преимущества компилируемых языков» мы рассмотрели основания для
использования компилируемых языков. В разделах «Использование языка CLIST в z/
OS» и «Использование языка REXX в z/OS» обсуждались сильные стороны интерпре-
тируемых языков. Не существует ответа на вопрос, какой язык «лучше» – все зависит
от приложения. Даже в одном приложении может использоваться несколько различ-
ных языков. Например, одно из преимуществ такого языка как CLIST состоит в про-
стоте кодирования, тестирования и внесения изменений. Однако он не очень эффек-
тивен. В данном случае компромисс состоит в увеличении требуемых машинных ре-
сурсов взамен уменьшения времени разработки.
Учитывая это, мы можем увидеть, что имеет смысл использовать компилируемый
язык при написании интенсивных частей приложения (с высоким показателем ис-
пользования ресурсов), тогда как интерфейсы (вызывающие приложение) и менее
интенсивные части можно написать на интерпретируемом языке. Интерпретируе-
мый язык может хорошо подходить для незапланированных запросов или даже для
разработки прототипа приложения.
Одна из задач проектировщика состоит в том, чтобы сопоставить преимущества
и недостатки каждого языка и решить, какой язык лучше использовать для той или
иной части приложения.
912 Что такое z/OS Language Enironment?
Как говорилось в главе 8 «Проектирование и разработка приложений для z/OS», при-
ложение представляет собой набор из одной или нескольких программ, взаимодейс-
твующих друг с другом для достижения определенных целей, таких как управление
запасами или ведение ведомостей. Цели разработки приложений включают модуль-
ность и совместное использование кода, а также разработку приложений на рабочей
станции.
В z/OS Language Environment обеспечивает общую среду для всех соответствую-
щих высокоуровневых языков. Высокоуровневый язык представляет собой язык про-
граммирования более высокого уровня, чем ассемблер, но более низкого уровня, чем
в генераторах программ и языки запросов. z/OS Language Environment обеспечивает
общую языковую среду разработки и выполнения для программистов приложений
в z/OS. Если функции были предварительно реализованы в отдельных языковых про
-
дуктах, Language Environment устраняет необходимость поддерживать отдельные
языковые библиотеки.
В прошлом языки программирования имели ограниченные возможности обра-
щения друг к другу и согласованной работы в различных операционных системах.
Это ограничивало возможности использования нескольких языков в приложении.