Каковы относительные достоинства REXX и CLIST в z/OS?
Каковы преимущества и недостатки использования REXX или CLIST в TSO для z/OS?
Насколько я понимаю, CLIST - это просто более старый командный язык, но мы, похоже, получаем много нового программного обеспечения, использующего их, даже несмотря на то, что REXX теперь является стандартом для операционной системы.
Есть ли какая-то причина, почему CLIST предпочтительнее, особенно учитывая мощь REXX и его тесную интеграцию в z/OS?
3 ответа
Вот ссылка на Inofcenter от IBM с описанием различий между REXX и CLIST
По сути, REXX новее (около 15 лет), а CLIST старше (до моего времени - я занимался этим около 30 лет). Толпа мэйнфреймов видела, что стареет, и многие из людей, строящих панели ISPF, изучили свою профессию до того, как REXX был доступен, поэтому я считаю, что это просто вопрос "традиции" (старые собаки, старые трюки).
Когда-то я полагал, что IBM хотела бы отказаться от CLIST в пользу REXX, но, как и во многих других мэйнфреймах, в моей жизни не произойдет закатов!
Я считаю, что большая часть CLIST связана с управлением диалогами ISPF через панели ISPF. Нет преимущества в использовании одного над другим для этого типа приложения.
Я лично предпочитаю REXX, потому что это принципиально более мощный язык и поставляется с z/os, поэтому он всегда доступен. Кроме того, REXX доступен в большем количестве адресных пространств в z/os, чем в CLIST (например, TSO и даже в пакетном режиме). Он также доступен под Windows (см.: Object REXX). Версия для Windows в основном является надмножеством версии z/os, так что, пока вы придерживаетесь не-объектных расширений и тщательно управляете вводом / выводом, вы можете запускать тот же exec в окне Windows, что и на мэйнфрейме. Я создал ряд функций типа утилит, которые с одинаковой легкостью выполняются на мэйнфрейме, как и в Windows, - практически без изменений (за исключением нескольких строк, управляющих файловым вводом / выводом).
В отличие от CLIST, REXX вполне способен выполнять некоторые серьезные обработки данных. Я слышал, что производительность приложения REXX в z/os схожа с Java, работающей в Websphere (с учетом того же размера процессора). Время от времени я обрабатывал файлы данных размером в несколько гигабайт с помощью подпрограмм REXX в очень разумное время.
В любом случае, я мог бы продолжать и продолжать... Отвечая на ваш вопрос, я считаю, что REXX - это по сути лучший инструмент, способный выполнять все, что может делать CLIST, и даже больше. Превосходство CLIST - это просто вопрос того, как программисты делают вещи так, как они выросли, а не обучаются новым технологиям.
Хорошая особенность REXX в z/OS заключается в том, что если вам нужна серьезная производительность, вы можете приобрести для нее компилятор и библиотеку и получить почти нативную скорость кода.
У меня нет полного ответа, но есть идея.
В нашей компании мы все еще используем CLIST, но у нас также есть REXX.
Как я понимаю: REXX - это новый язык с лучшими характеристиками, но CLIST по-прежнему предпочтительнее при создании приложений TSO, которые обрабатывают списки / массивы данных, которые выводятся на экран. Я даже не уверен, насколько хорошо REXX обрабатывает списки / массивы, которые выводятся на экран.
Мы используем REXX только для небольших программ, подобных сценариям.
С уважением Сигерстед