Вышли две новые статьи посвященные языку REXX: "Rexx: Power Through Simplicity (http://www.onlamp.com/pub/a/onlamp/2005/05/26/rexx.html)" и "Free Rexx Runs Everywhere (http://www.osnews.com/story.php?news_id=10658)".REXX - скриптовый язык доступный для огромного числа платформ и операционных систем; обладающий стандартом, которого придерживаются все реализации; имеющий объектно-ориентированные версии, которые совместимы (вверх) со стандартным процедурным языком; сочетающий простоту и мощь.
REXX был придуман в корпорации IBM 25 лет назад, а в наше время опять становится популярным.
Основная концепция REXX - "все есть строка". Пользователю (программисту) не нужно объявлять переменные, REXX автоматически распределяет память, когда вы обращаетесь к ним в первый раз.
URL: http://www.onlamp.com/pub/a/onlamp/2005/05/26/rexx.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=5535
"все есть строка" - Zen of tcl,
http://wiki.tcl.tk/10945
так что REXX не одинок в этом подходе :-)
REXX является одним из идейных предшественников tcl,
так что это неудивительно. Так что tcl лишь заимствовал
этот подход у REXX'а
"Пользователю (программисту) не нужно объявлять переменные, REXX автоматически распределяет память, когда вы обращаетесь к ним в первый раз."С таким подходом, на этом ЯП можно писать программы
не более чем 100 строк.
>"Пользователю (программисту) не нужно объявлять переменные, REXX автоматически распределяет память, когда вы
>обращаетесь к ним в первый раз."
>
>С таким подходом, на этом ЯП можно писать программы
>не более чем 100 строк.Это _НЕ_ так. Примеров тому масса.
Мне сразу вспомнился perl, там тоже можно явно не поределять переменные
(если не использовать директиву use strict), но от этого больше вреда чем
пользы, это таит в себе трудно обнаруживаемые ошибки (не так написал имя
переменной и все пошло кувырком), нет строгой типизации, т.е. поддержка
со стороны компилятора (транстлятора) по обнаружению только синтаксических
ошибок, а с семантикой разбирайся сам.
Приведу один пример - rexxmail - SMTP/POP3 клиент - 11 000 строк.
>"Пользователю (программисту) не нужно объявлять переменные, REXX автоматически распределяет память, когда вы
>обращаетесь к ним в первый раз.">С таким подходом, на этом ЯП можно писать программы
>не более чем 100 строк.Да не-е-е... Можно и больше. Точно-точно. Сам написал примитивный разбор html для "вытягивания" ссылок из него на REXX в OS/2. Но это не от того, что REXX /настолько/ хорош, а от того, что ничего другого не было (ну, в смысле, от незнания - _я_ ничего другого не знал...). Никаких вам регекспов -- substr() и компания, набор уровня Бейсика (местами "расширенный").
Но по жизни (да, по моей жизни :) ) rexx (restructured extended executor или что-то около того) есть именно расширенный командный интерпретатор -- rexx в cmd.exe, язык написания "батч-файлов", реже (сильно реже) - встроенный скриптовой язык в приложениях (fleetstreet, brake!, ...).
Причём именно /скриптовой/ язык, не ЯП [в широком смысле]...
Супер язык. Я много писал на нем. Мощные возможность обработки строк (точнее неструктурированной информации). Можно сравнить с рег выражениями, только гораздо более понятный. один недостаток - медленный интерпретатор. Было бы неплохо, если он возродится (вместе с его родителем - а то загадили мелко(полу)софтом).
Не знаю на сколько он хорош, но заметно что в статьях постоянно идут сравнения с перлом. "Кулик с лебедем в одной берлоге не живут". Не станет он популярным...
Во время оно, IBM сделала свою DB2. Нормального серверного SQL у нее и сейчас нет, а уж тогда это было вообще жуткое убожество, - даже понятия локальной переменной не было. Предполагалось, как тогда, так и сейчас, что любые осмысленные действия выполняют промежуточные серверные приложения, для к-рых наворотили кучу придурковатых (по современным меркам) инструментов.Но! на каком языке писать элементарные приложения, в две-три-четыре операции, с одним if/else (такие *всегда* нужны) ? На C + embedded sql ? Нельзя, за@#$ся быстро. Так родился REXX, - в качестве скриптового языка программирования для DB2. Более того, и на настоящий момент альтернативы нет. И именно в таком качестве следует его воспринимать, а не сравнивать с Перлом.
//Во время оно, IBM сделала свою DB2. Нормального серверного SQL у нее и сейчас нет//Что за бред??? DB2 - лидер без вопросов, MS SQL и Oracle отдыхают. Многие DB2-шные возможности вообще больше нигде не повторены. Чего стоят только многомерные таблицы.
REXX - офигительная вещь, возможностей очень много, а то, что он дает доступ к любым функциям API делает его просто неограниченным по возможностям. И интерпретатор очень быстрый.
>//Во время оно, IBM сделала свою DB2. Нормального серверного SQL у нее
>и сейчас нет//
>
>Что за бред??? DB2 - лидер без вопросов, MS SQL и Oracle отдыхают.Ой! Вы, никак, менеджер проектов ? Что-то стилистика больно знакомая. Или админ ?
Ну, попробуйте, что-ли, запрограммировать что-нибудь на их sql'е. А потом сравните с Sybase, Microsoft, Oracle, Interbase,... Тогда и поговорим.
SQL это язык запросов. На нем не надо программировать - для этого и есть REXX.
В DB/2 вообще не было процедур до версии 7(5?)IMHO потому как они там не нужны были - правильные пацаны на правильном SQL и без процедур умеют писать.
> SQL это язык запросов. На нем не надо программировать -
>для этого и есть REXX.Я думаю, что именно такого мнения придерживается сама IBM по поводу SQL вообще и DB2 в частности.
>В DB/2 вообще не было процедур до версии 7(5?)IMHO потому как они
>там не нужны были - правильные пацаны на правильном SQL и
>без процедур умеют писать.Мне это напоминает анекдот про гинеколога, к-рый двигатель автомобиля через выхлопную трубу собрал. Ну да, можно обходиться... Но надо ли ?
Случай DB2 SQL отличается особым цинизмом, т.к. все многие возможности в нём есть, иначе невозможно было бы писать триггера/процедуры, но они как будто специально сделаны неудобными, а в пакетных запросах вообще запрещены, для нашего удовольствия.
>Не знаю на сколько он хорош, но заметно что в статьях постоянно
>идут сравнения с перлом. "Кулик с лебедем в одной берлоге не
>живут". Не станет он популярным...Трудно сказать определенно. Rexx очень удобен в роли встроенного скриптового языка OS. Под встроенностью понимается доступность из любого приложения.
То есть везде, где необходимы скрипты (макросы электронной таблицы, текстового процессора, пакета CAD) - используется Rexx (с добавлением специфических для данного приложения функций). Собственно в таком режиме он и используется.
>>идут сравнения с перлом. "Кулик с лебедем в одной берлоге не живут". Не станет он популярным...> Трудно сказать определенно. Rexx очень удобен в роли встроенного скриптового языка OS. Под встроенностью понимается доступность из любого приложения.
*Не* из любого приложения, а из специально для того написанного/заточенного.
И только в *одной* ОС (второй Ж) известной фирмы).
скрипты весьма неплохо писать было......
> ** в OS/2 был этот языкЯ про неё и "намекал", прозрачно. Коматозник #2.
> скрипты весьма неплохо писать было......
Ностальгия?.. Ж*) `info bash`
---cat <<EOF>calc.rexx #!/usr/bin/rexx SAY 2*2; EXIT EOF :->
>И только в *одной* ОС (второй Ж) известной фирмы)
А почитать?? Во ВСЕХ ОС этой известной фирмы. Вот в OS/360 его еще не было, а в VM/SP, MVS, AIX, PCDOS .. далее везде.
Причем на мейнфреймах я с ним столкнулся, тогда, когда писюки еще под DOS 2.0 прозябали>*Не* из любого приложения, а из специально для того написанного/заточенного.
Ну, да... Убойный тандем в VM: стандартный системный редактор текстов XEDIT и REXX. Такие генераторы текстов получались! :-)~
>И только в *одной* ОС (второй Ж) известной фирмы).А Amiga не в счёт? ;) История повторяется, как водится...
В Amiga-OS он был основной скриптовый язык системы и из него можно было вызывать встроеные функции всех приложений (практически всех, были конечно исключения) - вот это была сказка... :) Из своего скрипта я мог подредактировать в текстовом редакторе файл, обработать его в каком-нибудь ещё приложении, а по результату построить, например, диаграмму. Короче говоря, сделать практически всё что угодно, используя _один_ скриптовый язык.
> Не знаю на сколько он хорош, но заметно что в статьях постоянно идут сравнения с перлом.
Это для упрощения. Большинство сегодняшних крЮтых программеров выросли на ПиСюках и ничего другого просто не знают>Не станет он популярным...
Он ВСЕ ЕЩЕ популярен, уж лет 20 как. Как известно, что-то около 80% оцифрованной информации хранится на мейнфреймах, и вся она практически неизбежно прошла через лапы REXXа
Советую еще затронуть преимущества ObjRexx...