• XSS.stack #1 – первый литературный журнал от юзеров форума

Rebol

Amper

(L3) cache
Пользователь
Регистрация
10.08.2005
Сообщения
250
Реакции
3
...ну вот сидим мы инете и общаемся с человеком ...ну там разговор про всякие настройки софта и все такое))) ...и в разговоре этот человек приходит к мысли о том что неплохо бы выучить пару другую языков программирования))) ...реальная идея ...согласитесь с этим ...соответственно ...типа вопрос ...с какого языка следует начинать?))) ...и вообще какой язык учить? ...разговор такой был не с ним одним и не только сегодня))) ...многие парни сразу безаппеляционно отвечают что учить надо С++ ...или типа азм - это святое ...согласен ...даже спорить с этим глупо ...можно найти кучу аргументов в защиту этих языков и многих других тоже ...но вот вам в качестве информации к размышлению пара абзацев:
...читал тут на досуге типа перевод лекции одной ...ну и там хлопчик пишет такую весЧь:
За те годы, что я проработал в ******, я прочитал множество объявлений о найме на работу. Примерно каждый месяц появлялся новый конкурент. Первое, что я делал после того, как проверял, доступна ли онлайновая демонстрация работы их программы, — смотрел список их вакансий. Через пару лет я научился отличать опасных конкурентов от неопасных. Чем больше отдавало IT-мэйнстримом от описания требуемых кандидатур, тем менее опасна была компания. Самыми безопасными были те, кому требовались специалисты по Oracle. О таких не стоило беспокоиться. Также мы были спокойны, если требовались разработчики на C++ или Java. Если требовались программисты на Perl или Python, это уже было слегка пугающе — это значило, что компанией или, по крайней мере, ее технической частью заправляли настоящие хакеры.
...гы))) ...это не прикол ...он эту лекцию в Кембридже между прочим читал)) ...на симпозиуме разработчиков))) ...хлопчик буржуйский и занимается разработкой коммерческого торгового ПО ...а вот самый интересный кусочек я из этого абзаца убрал ...хватит с тебя халявы))) ...намек в следующих строчках ...думай сам)))
...а потом был еще один такой разговор ...я спросил у парня насчет такого языка как LISP ...ответ был таков ...этот язык умер))) ...очень даже может быть))) ...хотя когда-то бытовало среди серьезных программеров такое мнение что LISP обязан знать каждый хакер))) ...про такой язык как Rebol вообще было бессмысленно спрашивать ...врядли о нем кто-то что слышал в нашем городе))) ...значит еще пара абзацев))):
REBOL (Relative Expression-Based Object Language - «относительный [или все же «родственный»?], основанный на выражениях объектный язык») был разработан Карлом Сассенратом (Carl Sassenrath), задавшимся целью создать простой язык, очень близкий («родственный») к естественному человеческому, некий диалект (понятно, что речь идет об английском языке). Это скриптовый язык, подобный Perl, Ruby, Tcl, Python, но очень простой и маленький (размер дистрибутива составляет около 250 Кбайт для REBOL/Core и около 400 Кбайт для REBOL/View). Особенностью языка является ориентация на Интернет, поэтому не должно удивлять, что в REBOL встроена поддержка сетевых протоколов HTTP, FTP, SMTP, NNTP, POP3 (то есть не нужны никакие расширения, модули или библиотеки), и, например, операция чтения read может в качестве аргумента получить и имя файла на локальном диске, и URL. Это позволяет загрузить и сохранить HTML-страницу или послать письмо, написав буквально одну строчку кода. Другая особенность REBOL - его интерпретатор работает уже под двадцатью операционными системами на сорока двух платформах без изменения исходников, что позволяет говорить о его платформонезависимости (подобно Java). Все это дает право разработчикам из фирмы REBOL Technologies называть язык средством распределенных коммуникаций (distributed communications), позволяющим не только обмениваться файлами и сообщениями между различными системами (компьютерами), но и обеспечивающим взаимодействие между человеком и компьютером.
Как это обычно бывает, крохотная программка, дистрибутивная поставка которой занимает всего 179 KB (в формате zip), становится очень серьезным камнем преткновения. Конечно, катастрофическое несоответствие между размерами реализации и потенциальной функциональностью -- дело в скриптинге обычное. Но в случае с языком Rebol слово "катастрофический" не подходит... Впрочем, не будем отвлекаться и использовать отпугивающие раньше времени эпитеты и начнем по порядку.
Автор Rebol -- личность без сомнения яркая и хорошо известная, но только не у нас. Пик его знаменитости пришелся на те времена, когда "железный занавес" был еще достаточно прочным. Карл Сазенрат (Karl Sassenrath), архитектор знаменитой Amiga OS -- первой многозадачной мультимедийной операционной системы, отдал Rebol почти 20 лет своей жизни! И, надо сказать, -- не зря. Сегодня эта программка-малютка совершенно одинаково работает чуть ли не на всех известных (и даже почти неизвестных) платформах (более сорока наименований), численность сообщества ее пользователей давно перевалила за "эпохальную" отметку в один миллион, а сам Rebol даже стал основой независимой от платформы сетевой операционной среды с более чем впечатляющими возможностями.
Знакомство с Rebol стоит начинать с преодоления первой трудности -- произношения названия, которое может показаться очевидным. Хотя бы потому, что эта трудность символична: очень многое в Rebol, что кажется слишком очевидным, скрывает за собой далеко не столь очевидные вещи. Итак, название "Rebol" правильно произносится как... "rebel yell", и правило это свято соблюдается многочисленной армией пользователей.
Вторая трудность на деле трудностью не является и заключается в определении того, что мы назвали "аспектом применения". Несмотря на то что любой язык скриптового программирования обладает достаточной степенью универсальности, у каждого есть если не четко определенная, то четко "прорисованная" десятилетиями массового применения область, в которой этот язык соответствует решаемым задачам наилучшим образом. В случае с Rebol "аспект применения" известен изначально и определен самим создателем так: "Обмен и интерпретация информации в распределенных компьютерных системах". Звучит настораживающе емко для менее чем двухсоткилобайтовой программы, не правда ли? Но давайте прислушаемся к мнению автора куда более известного языка Perl -- Ларри Уолла (Larry Wall). Он, естественно, не очень жалует Rebol, но, тем не менее, говорит о нем так: "Rebol -- это фактически освобожденный от скобок вариант Lisp, включающий в себя очень полезные типы данных, например, адреса электронной почты, даты и URL. Как и всякий Lisp-подобный язык, Rebol некоторым может показаться слишком необычным..."
Сегодня язык функционального программирования Lisp утратил свою популярность 15--20-летней давности, поэтому даже его название может ни о чем не говорить многим. В основе этого языка лежит математическая строгость описания функции (именно как математического понятия), а следствие этой строгости -- иногда доводящая до исступления избыточность... скобок. Некогда бывшие одними из излюбленных инструментов "настоящих хакеров", реализации Lisp со временем разрослись до слишком больших масштабов и, как все динозавры, остались в прошлом. Но идеи языка живы во многих облегченных реинкарнациях, среди которых самой популярной сейчас остается Scheme.
Естественно, начинать изучать новый язык лучше всего с установки его реализации на свой компьютер. Тем более что размеры Rebol мизерны, а специфических требований к платформе у него, по сути, нет. Дистрибутив базовой поставки языка (бесплатный для персонального использования) Rebol Core можно получить по адресу www.rebol.com/download.html, пройдя ни к чему не обязывающую процедуру предварительной регистрации. Установка системы элементарна для любых ОС -- собственно, никаких специальных процедур нет вообще, достаточно просто распаковать файл в выбранный каталог.
"Свежеустановленный" дистрибутив Rebol Core содержит один исполняемый файл впечатляющих размеров (rebol или rebol.exe в зависимости от платформы занимает почти целых 260 KB) и несколько готовых программ-скриптов. Все это дает почти самодостаточную среду одновременно разработки и выполнения Rebol-программ, включающую в себя реализацию собственной интерактивной консоли (даже с автодополнением длинных имен нажатием клавиши Tab). И, прежде чем вводить первую команду в этом окне, следует... запастись терпением. Потому что Rebol готовит массу неожиданностей, особенно для тех, кто уже знает один или несколько "обычных" языков.
Первая приятная неожиданность Rebol -- изобилие встроенных типов данных, свидетельствующее о том, что вы столкнулись с редким образчиком "языка Internet сверхвысокого уровня". В нем совершенно обычной процедурой является отправка одной строчкой командной строки e-mail и парой строчек -- получение и сложная фильтрация html-страницы указанного вами Internet-ресурса. Казалось бы, в этом нет ничего необычного, и, например, пользователей Unix-подобных ОС такими функциями удивить трудно. Но давайте вспомним, что мы уже знаем о Rebol, а именно -- о кросс-платформенности его реализации, -- и на секунду задумаемся: каким образом ее создателям удалось разработать столь мобильный платформенно-независимый механизм вызова сторонних программ для отправки/получения электронной почты и "закачки" с использованием HTTP-протокола, ведь это действительно весьма сложная проблема. И вот тут время удивиться первый раз, потому что ответ на данный вопрос крайне лаконичен -- "Никаким!". Rebol вообще "не умеет" вызывать сторонние программы, и вместо этого в своих неполных трехстах килобайтах инкапсулирует реализации основных сетевых протоколов -- DNS, Finger, Whois, Daytime, HTTP, SMTP, POP, FTP, NNTP, TCP и UDP. Но подождите удивляться сильно -- то ли еще будет. И раз мы начали говорить об изобилии типов данных, то приведем и их пока неполный перечень: число (целое и с плавающей точкой, в том числе и в научной форме записи, допускается так называемая "Европейская нотация", например "0,001"), время (в форматах "часы:минуты" и "часы:минуты:секунды"), дата (в американской и международной форме записи), деньги (а как же без такого типа данных), набор (tuple, короткое множество чисел, разделенных символом ".", используется для представления цветов в форме RGB или IP-адресов), строка, тег (да-да, те самые теги, применяющиеся в языке разметки HTML и мета-языке XML), адрес e-mail , URL, имя файла, пара (значение такого типа может хранить, например, информацию о координатах -- "100 100"), идентификационный номер (issue, значения начинаются с символа "#") и, наконец, бинарная величина (последовательности байтов произвольной длины). Пожалуй, ни один другой скриптовый язык ничем подобным не располагает...
Но встроенные реализации сетевых протоколов и базовые типы данных -- это далеко не все и даже не главное, что есть в Rebol. Наверное, главное -- то, что сам создатель языка назвал "dialecting" -- приспособленность к формированию диалектов (фактически -- определяемых пользователем специфических языков), обеспечиваемая "коктейлем" из объектно-ориентированных механизмов, глубинных элементов функционального программирования и "свободного" синтаксиса. О последнем стоит сказать особо -- в Rebol нет ни зарезервированных ключевых слов, ни зависимости от регистра, ни значимых непечатных символов.
Вероятнее всего, после такого ужасающе-впечатляющего (и все еще далекого от полноты) перечня характеристик и возможностей удержаться от запуска программы будет трудно, так что смело запускайте и выполните свои первые действия в среде Rebol -- конфигурирование. Не следует бояться этого страшного слова -- системный архитектор Amiga OS, заслуженно уважаемой за дружелюбие, и здесь "держит марку". Никакой правки криптографических plain-text конфигурационных файлов не будет -- интерпретатор Rebol запросит у вас ваш e-mail и адреса SMTP, POP и proxy-серверов. Покончив с данной процедурой, можете себя поздравить: вы пока не написали первой программы на Rebol, но приняли участие в ее автоматическом создании (ваша первая программа хранится в файле с именем user.r и является полноценным Rebol-скриптом).
Теперь ваша собственная среда Rebol полностью готова к работе, и наступила пора первого знакомства тет-а-тет. Для этого вам на первых порах понадобится знание всего двух команд -- "what" и "help". Набрав первую из них и "отдав" ее на выполнение интерпретатору нажатием клавиши Enter, вы "спровоцируете" неожиданную активность Rebol -- интерпретатор "вывалит" в окно длинный перечень имен предопределенных (или "встроенных", но это менее точно в случае Rebol) функций. О любой из них можно подробнее узнать с помощью функции "help", введя в консоли Rebol строку в формате "help имя_функции" и нажав Enter. Настало время удивиться еще раз -- не часто встретишь встроенный механизм самодокументирования, да еще и так просто и удобно выполненный, в языке с подобным размером реализации.
...гы))) думаю что ты не сильно утомился этим чтением))) ...комментариев не будет ...какой язык учить и зачем ...каждый решает сам))) ...но может быть стоит задуматься о том ...а все йогурты одинаково полезны?))) ...думайте сами ...решайте сами)))
 
Ну че, еще один язык... ну типа описание его... и то, слишком слабое...
Типа еще один язык скриптингов...
Кстати, а он где выполняется ??? на сервере или на локальной машине ???
 
AKella
Не сказал бы... NeoSOM простенький скриптовый язык, обладает очень маленьким набором функций.... Этот гораздо шире... Я не буду говорить, что он чем-то лучше того или иного языка... просто считю полезным попробовать...не больше...
Добавлено в [time]1138263094[/time]
Кстати, щас скачал примеры... язык действительно мощный...
 
Amper
Ты так и не ответил, где он исполняется ??? на компе пользователя или на сервере ???
 
Lamer
Он исполняется на локальной машине.. сейчас глянул внимательней... и "О Ужас!"... я-то думал он компилировать умеет.. оказывается нет.. интерес потерян... ((
 
AKella
Сам офигел... Видимо просто в исполнении скриптов... короче я разочарован...

nerezus
Позже посмотрю в примерах и выложу... только зачем?
 
nerezus
Смотри выше... я признал, что язык (точнее это даже не язык) позорный, ибо не умеет компилировать.... просто выполняет скрипты только там, где установлен...
 
Amper
чувак, тот же питон в базовой поставке не умеет компилить, однако он в 5 раз популярнее всяких делфей.
на нем написано много 3Д вещей(скорость не уступает с++ несмотря на некомпилируемость.).

но когда ламеры судят язык по принципу компил./интерп. - это реально напрягает.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх