Каковы относительные преимущества REXX и CLIST в z/OS?

Каковы преимущества и недостатки использования REXX или CLIST в TSO для z/OS?

Насколько я понимаю, CLIST — это просто старый командный язык, но мы, кажется, получаем много нового программного обеспечения, использующего их, даже несмотря на то, что REXX теперь является стандартным для операционной системы.

Есть ли причина, по которой предпочтение отдается CLIST, особенно с учетом мощности REXX и его тесной интеграции с z/OS?


person paxdiablo    schedule 08.11.2009    source источник


Ответы (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 заключается лишь в том, что программисты делают вещи так, как они выросли, а не изучают новые технологии.

person NealB    schedule 09.11.2009
comment
НилБ прав. Основная проблема систем мэйнфреймов заключается в том, что IBM почти никогда не убирает оборудование, по крайней мере, в течение первых 20 лет или около того. Как и большинство программистов, разработчики мэйнфреймов склонны придерживаться того, что они знают лучше всего (люди из Unix до сих пор используют awk!), и все, кто работал в Z/OS, использовали CLIST в первые дни своего существования. - person Ross Patterson; 01.01.2010
comment
Отличный ответ и отличный комментарий. Вариантом этого может быть такой вопрос: что нужно, чтобы избавиться от COBOL (на мейнфрейме)? С ответом вроде «Сначала избавься от ВСЕХ, повторяю, ВСЕХ программистов на КОБОЛе на земле!» ... Далее избавьтесь от всех генераторов COBOL (а может лучше в обратном порядке?).... - person Pierre.Vriens; 13.03.2015

Преимущество REXX в z/OS заключается в том, что если вам нужна серьезная производительность, вы можете приобрести для нее компилятор и библиотеку и получить почти родную скорость кода.

person Anthony Giorgio    schedule 25.11.2009
comment
Другое преимущество (вариант использования?) этого компилятора заключается в том, что поставщик программного обеспечения может защитить свою интеллектуальную собственность, включенную в исходные коды REXX, только поставляя скомпилированные версии (которые также хорошо работают без скомпилированных REXX, например, если вызывается скомпилированным REXX, что-то, что вы могли бы использовать для REXX, используемого для настроек, зависящих от сайта). Вариант: скомпилируйте свои собственные REXX, если вы не хотите, чтобы кто-то еще модифицировал (или просто видел?) наш REXX. - person Pierre.Vriens; 13.03.2015

У меня нет полного ответа, но есть идея.

В нашей компании мы также все еще используем CLIST, но у нас также есть REXX.

Как я это вижу: REXX — это новый и лучший язык, но CLIST по-прежнему предпочтительнее при создании приложений TSO, которые обрабатывают списки/массивы данных, которые выводятся на экран. Я даже не уверен, насколько хорошо REXX обрабатывает списки/массивы, которые выводятся на экран.

Мы используем REXX только для небольших скриптов, таких как программы.

С уважением Зигерстед

person Sigersted    schedule 08.11.2009