LINUX.ORG.RU

Немного о Genera


0

0

Добрый день, камраден.

В этой ветке я хотел бы рассказать о замечательной технологии Genera от почившией в бозе компании Symbolics, Inc. Если, конечно, кому-то это интересно. Если интересно - могу на вопросы ответить, но не на все и не сразу. Если не интересно - то и фиг с ним тогда. Делаю я это для того, чтобы привлечь внимание товарищей к сабжу, услышать какие-либо умные соображения от вас, ну и рассказать про сабж тем, кто о нем не знает. Не все же сидеть в глупой убунте.

Итак, Genera - это:

1) Операционная система (написана полностью (sic!) на лиспе)

2) Среда разработки, аkа IDE

3) Набор всяких разных программ и библиотек

4) Документация

5) (изначально) Целая лисп-машина, вроде Symbolics 3600.

Интересна Genera прежде всего тем, что это - лучшая (в.т.ч и на сегодняшний день) среда для разработки программ на лиспе (скажем так, самая навороченная песочница, которую только можно придумать) Интересна она также своим графическим интерфейсом (абсолютно интерактивная среда, но, в основном, в тексте и без ненужных попердываний, которые мы видим сегодня везде), уровнем технологий (например, как вам цветное 1280х1024 в 1984 году?), софтом, под нее написанным (имеется брошюрка со скринами трехмерного редактора и отрисовщика, датированная все тем же 84ым годом) и многим, многим другим.

Последние версии Genera были реализованы под архитектуру DEC Alpha в виде виртуальной машины, работали в ОС Digital Unix 4.0. Называлась такая штука - OpenGenera, о ней-то и пойдет наш рассказ. (Кстати, почему Open - понятно не совсем) Были также и версии Genera под макинтош: представляли собой плату расширения MacIvory с встроенным лисп-процессором + софт. OpenGenera многое от нее унаследовала, в частности - систему RPC. (rpc я пока не юзал, но по документации - очень, очень интересная штука) Есть еще версия для x86-64, но с ней все совсем интересно - это не порт, как многие думают, это реализованная с нуля по симболиксовским патентам виртуальная машина, которая способна запускать имаджи от Genera. Реализовал ее сумасшедший чувак по имени Брэд Паркер, за что огромный ему мегареспект. Запускаться - запускается, проверял лично. Но работать с ней не работал. Говорят, подглючивает.

У себя дома мне удалось-таки запустить OpenGenera под самым настоящим Digital Unix на самой настоящей Alpha. Скриншот, кстати, я тут уже пытался выложить, но злобные модераторы, видимо, не поняли всю прелесть моей милой шутки про кде4 и тему грохнули. Ну и поделом, смотрите скрины на вики. Вкратце - реализовать такой сетап было очень непросто. Опять же, если интересно - расскажу, в плане проблем с установкой и запуском Genera у меня уже большой опыт:)

Картинок пока нет, тут их почему-то нельзя аплоудить, а свой хостинг настраивать мне лень. Прямые ссылки на частные ресурсы, посвященные Genera не даю - затопчете ведь, а у людей трафик. Кому надо - те найдут.

На сегодня пока все. (если никому не будет интересно, всё - вообще:) )

Респектищще!

Наследие Symbolics надо оживлять и внедрять, слишком много чего хорошего (и ныне забытого) они придумали.

anonymous
()
Ответ на: комментарий от nnm

> Продолжай, очень интересно, особенно про "глупую убунту".

как раз про глупую убунту продолжать не нужно - это вам может рассказать любой анонимус в talks. жалко тратить время автора на такие глупости.

однако, ощущение незаконченности действительно присутствует. с одной стороны, любопытно узнать, что есть такая штука, с другой - вопрос "ну и что собственно?" так и просится. видимо, продолжение внесет ясность.

// wbr

klalafuda ★☆☆
()

>У себя дома мне удалось-таки запустить OpenGenera под самым настоящим Digital Unix на самой настоящей Alpha.

Чуть не заплакал :/

Можете обрисовать основные отличия от смоллтоковских IDE? Ну, понятно - еще и операционная система. Понятно, другой язык ( более или менее равномощный ). Все?

volh ★★
()

> Скриншот, кстати, я тут уже пытался выложить, но злобные модераторы, видимо, не поняли всю прелесть моей милой шутки про кде4 и тему грохнули.

Ссылку, пожалуйста, интересно.

anonymous_incognito ★★★★★
()

> Прямые ссылки на частные ресурсы, посвященные Genera не даю - затопчете ведь, а у людей трафик.

уууу, у нас есть такие приборы, но мы вам о них не раскажем..
ссылка, например: http://lispm.dyndns.org/

anonymous
()

Немного о Genera - продолжение

Я вновь в эфире.

> вопрос "ну и что собственно?" так и просится

А ответ на этот вопрос очень простой - ну и ничего. Genera мертва, Symbolics-Inc давно нет, Alpha больше не выпускается, Digital Unix успешно запорот мега-специалистами компаний hewlett-packard и compaq и также выводится из обращения. Применение Genera в том виде, в котором она сейчас есть - невозможно. Прямой практической пользы от нее, соответственно, тоже нет. Как на практике применить то, что есть - я тоже не знаю, может, тут что-то толковое подскажут. Энивей, знание - сила. Возможно, более талантливый программист, чем я, сумеет это применить в своих новых проектах. Может, эта информация вдохновит кого-то на написание чего-то хорошего, доброго, вечного. Может, у кого-то появятся новые стандарты в оценке чужих программ или операционных систем. По крайней мере, мне будет очень жаль, если идеи, заложенные в Genera, так и забудутся вместе с ее смертью.

> уууу, у нас есть такие приборы, но мы вам о них не раскажем..

Ну вот, в частности, по той ссылке, что ты привел, автор просит не пользоваться wget и качалками сайтов. К чему бы это? Найти эту ссылку - дело одного запроса в гугле, но при этом отсеивается куча народу, которым любопытно от нечего-делать. (См. ЛОР-Эффект) Плюс, с автором этого сайта я переписываюсь, и лично мне будет очень неудобно, если его сайт свалится по моей вине. Ты понимаешь, что если у него вдруг закончится трафик и он закроет сайт, то хуже станет всем?

> Можете обрисовать основные отличия от смоллтоковских IDE?

Во-первых, пожалуй, не стоит ко мне на "вы" - я еще маленький и не очень умный. Во-вторых, про существование IDE для smalltalk я узнал только что, поэтому именно про отличия не расскажу.

Взамен могу рассказать про характерные черты, некоторые из которых вполне могут оказаться отличиями. Во-первых - идеология операционной системы:

1) Все написано на лиспе - поэтому нет никаких проблем с вызовом внешних (в частности, системных) функций

2) Система полностью открыта. Доступны абсолютно все функции, нет каких-то определенных "точек входа", можно пользоваться любым уровнем абстракции (в документации рекомендуют использовать наивысший возможный:) ) Можно также заменять системные функции на свои, редактировать код существующей версии, дополнять его. Делается это простой фразой: "Edit Definition (of) some-function". Разумеется, можно добавлять свое, расширяя и дополняя стандартные интерфейсы, причем ваш код будет работать наравне с их кодом. (Механизма защиты памяти, как в современных процессорах тут нет, ее заменяют тэги и гарантия от сегфолтов). Все изменения сохраняются в файле с "миром" genera - это скомпилированный образ операционной системы, вместе со всеми изменениями. Аналог этого - во многих современных компиляторах можно сохранить образ, чтобы не потерять изменений состояния. (нпр., в SBCL это sb-ext:save-lisp-and-die). В Genera программы, написанные вами становятся частью мира (того, о котором в предыдущем предложении, а не вообще:) )

3) Абсолютная документация, причем многоуровневая. Скажем так, документация в Genera соотносится с системой man'ов юниксах примерно также, как книга с клинописью на глиняных табличках. Ну, во-первых, тут есть знакомые всем лисперам inspect и describe, которые работают как им и положено (разве что, describe в genera выдает гораздо больше полезной информации, чем describe в той же Банке). Потом есть кнопка 'Help', которая, в зависимости от контекста, сообщает о том, чего от вас ждут в данный момент. Например, если открыть окно telnet, появится приглашение к вводу имени хоста. Если теперь нажать "Хэлп!" нам напишут, что от нас ждут имени хоста, дабы подключиться к нему с помощью telnet, а также напишут что тут еще можно сделать - типа, "нажать c-/ или правый мышь для выбора из списка возможных аргументов или с-с для выхода". Есть еще разные режимы работы Help, в зависимости от кнопки модификатора. Вызвать документацию можно и из контекстных меню. Например, некая функция возвращает какое-то значение. Мы эту функцию вызываем:

(call-some-func a1 a2 a3)

ret-val

В ответ нам вернули символ ret-val, о чем честно сообщили в консоли. И вот теперь, вместо того, чтобы писать "(describe ret-val)" можно клацнуть мышкой по ret-val и вызвать describe, inspect, show documentation и много чего еще. Хотя внешне оно выглядит, как консоль и никак не отсвечивает. Ну и потом - самое вкусное - команда Show Documentation. Эта команда выдает полнотекстовую справку. Таких шикарных по содержанию доков я не видел больше нигде, даже в коммерческом Lispworks. Все очень четко, красиво и полезно, имеется много хороших примеров. Текст справки выводится в консоль также, как это сделала бы команда more в юниксе, но при этом текст размечен различными начертаниями шрифтов, нормальной версткой и проч. Причем, если в тексте встречаются имена объектов или других разделов - по ним можно клацнуть мышкой и - сюрприз! - получить документацию уже на них. Напомню о том, что первый стандарт HTML появился лишь в 1991 году.

GolemXIV
() автор топика
Ответ на: комментарий от wfrr

> http://www.linux.org.ru/view-message.jsp?msgid=3346254 и удаленные в LOR

Спасибо.

GolemXIV, я бы скорее всего, тоже удалил с таким описанием. Действительно слишком тонкая шутка.

Не мог бы ты ещё раз запостить скриншот, но с более нормальным описанием, можно со ссылкой на этот топик?

anonymous_incognito ★★★★★
()
Ответ на: Немного о Genera - продолжение от GolemXIV

> Интересна Genera прежде всего тем, что это - лучшая (в.т.ч и на сегодняшний день) среда для разработки программ на лиспе

Один ветеран Symbolics (Вайнреб, кажется) сказал что-то вроде "среда, которую мы используем сейчас (SLIME) не уступает тому, что было у нас на LispM".

> Можно также заменять системные функции на свои, редактировать код существующей версии, дополнять его. ... Все изменения сохраняются в файле с "миром" genera - это скомпилированный образ операционной системы, вместе со всеми изменениями.

Это ужоснах на крыльях ночи - как ты потом всё будешь воспроизводить на чужой машине?

> Напомню о том, что первый стандарт HTML появился лишь в 1991 году.

А гипертекст - лет за 20 до этого.

В общем, историю нужно занть... но жить сегодня и работать с сегодняшними инструментами.

tailgunner ★★★★★
()

Здесь можно прочитать об "истории успеха" изнутри http://danweinreb.org/blog/why-did-symbolics-fail

Для сравнения со смолтоковскими IDE рекомендую взглянуть на www.squeak.org и проект www.seaside.st. Хотя, для того, чтобы более-менее понять, что к чему нужно время. Можно попробовать посмотреть презентации по seaside с описанием процесса разработки и(или) скачать готоый образ с seaside.

dr_jumba
()
Ответ на: комментарий от wfrr

>http://www.linux.org.ru/view-message.jsp?msgid=3346254 и удаленные в LOR

В LOR запостил я, онанимус. Действительно, среди всей этой серости скрин вызывал приступы эйфории.

В Genera полно удивительных задумок, сильно обогнавших своё время. Чего стоит один гибрид коммандной строки с gui. Сейчас ближе всего к нему McCLIM (http://common-lisp.net/project/mcclim/)...

Must know для любителей простых, удобных, и элегантных решений, софта типа Squeak, Self, Inferno/Plan9, etc... Да и вообще для всех лисперов.

anonymous
()
Ответ на: комментарий от anonymous_incognito

> Скриншот подтвердил.

Спасибо!

> А под какой лицензией сейчас всё это доступно "напопробовать"?

Если честно, я не знаю. Видимо, под пиратской. Сайт symbolics.org строится заново, но раньше там предлагали купить OpenGenera за каких-то пять килобаксов.

Права передавались от Symbolics Inc фирме Symbolics, которая распродавала остатки лисп-машин, потом у них умер кто-то важный и вопрос лицензиями вообще повис. Теперь вот что-то новое строят. Надеюсь, OpenGenera скоро выпустят под свободной лицензией. Ну и потом, лисп-машину на x86-64 писал совсем другой человек. Может, там GPL, не знаю.

GolemXIV
() автор топика

Жутко захватываюшшэ.

А смысл (цель/задача/...)?

Капча foolity тоже вопрошает.

anonymous
()
Ответ на: Немного о Genera - продолжение от GolemXIV

> Система полностью открыта.

И как следствие, многопользовательский режим и разделение прав доступа в ней, AFAIK, отсутствует в принципе, что в нынешнюю эпоху самоходных программ чревато... Хотя, собственно, это и не планировалось --- рабочие станции с Лиспом и появились как попытка уйти с мейнфреймов, некоторые так и называют те времена: escape from timesharing.

По поводу нужности/ненужности подобных эмуляторов. Я сам когда-то пытался осилить эмулятор другой Лисп-машины, которая LMI K. Не вышло из-за отсутствия полного описания (это как минимум), да и перспектив, что кому-то он понадобится, не было. Даже сам разработчик этой машины посоветовал мне "не париться" (в моем вольном переводе), поскольку не представляет, кому оно может понадобиться. :-(

--

SVK

anonymous
()
Ответ на: комментарий от anonymous

> Сейчас ближе всего к нему McCLIM

Есть еще коммерческие реализации CLIM для LispWorks и Allegro (или "были", так как в последний раз я интересовался ними лет 5 назад) поверх Motif.

Если кому очень интересно, могу поискать скриншоты, только мало кому они по нынешним временам понравятся. Да и вообще, за работой в CLIM лучше наблюдать в динамике --- самое там интересное именно то, что все содержимое интерфейса активно реагирует на действия пользователя.

--

SVK

anonymous
()

эх… и опять все забыли про OBERON System 3…

trapezoid
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.