?

Log in

No account? Create an account
Оказывается, в середине 1960-х был Lisp без скобочек под названием Lisp 2 - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Оказывается, в середине 1960-х был Lisp без скобочек под названием Lisp 2 [Jan. 5th, 2015|10:46 pm]
Yuri Panchul
Screenshot 2015-01-05 22.37.59

Оказывается, в середине 1960-х был Lisp без скобочек под названием Lisp 2.

LISP 2 was a programming language proposed in the 1960s as the successor to Lisp. It had largely Lisp-like semantics and Algol 60-like syntax.

Я к сожалению так и не смог нагуглить, как выглядел на нем код. Зато я нагуглил, что LISP 2 был популярен в СССР, где даже вызвал дискуссию физиков против лириков практиков против академиков (см. слайд 21).

Я также встретил создателя Лиспа Джона Маккарти в реале. В 1993 году "отец искуственного интеллекта" Джон Маккарти пригласил меня на свою лекцию в Стенфорд (лекция была по чему-то типа неаристотелевой логики), а потом завел к себе домой, где напоил чаем и попросил подсоединить к макинтошу принтер. Я сказал что в эппловских компьютерах ничего не понимаю, и Маккарти во мне по-моему разочаровался.

Жалеете ли вы, что Lisp без скобочек и с синтаксисом Алгола так и не стал популярен?

Нет, не жалею. Человечество избежало шанса быть покоренным гиганскими роботами в XX веке
5(27.8%)
Жалею. После такой хрени, если ее правильно реализовать, отстойные языки типа Бейсика и Перла просто бы не появились
11(61.1%)
Из-за бугра плюете?
2(11.1%)
LinkReply

Comments:
[User Picture]From: lrlay777
2015-01-06 06:55 am (UTC)
Бейсик- мощный язык программирования! Я , помню, на нем мог великие вещи программировать! Например программу вычисления квадратного корня. На МК-85.
Зачем еще изобретать другие, если квадратный корень на нем вычислялся и так быстрее, чем я мог на бумажке это делать? Зачем придумывать разные сложности?
(Reply) (Thread)
[User Picture]From: panchul
2015-01-06 07:03 am (UTC)
А деревья? Как создавать в Бейсике деревья? Параллельными массивами и индексами? Используя ad-hoc интерфейс к программам в машинных кодах?
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: kvvk63
2015-01-06 06:56 am (UTC)
Lisp 2 не трогал, а на Алмир-Аналитик немного , суть русский алгол , пришлось. Чудесные ВЫП, НА, КОН, код можно было мелодекламировать.
И чудесный серпантин на Новый Год из перфоленты.

Edited at 2015-01-06 06:57 am (UTC)
(Reply) (Thread)
[User Picture]From: panchul
2015-01-06 07:01 am (UTC)
Играясь с перфолентой СМ-3, я дошел до кондиции, когда мог читать ее глазами (код КОИ-7?), хотя и медленно.
(Reply) (Parent) (Thread) (Expand)
From: ircicq
2015-01-06 07:03 am (UTC)
Речь наверное о R-Лисп
(Reply) (Thread)
[User Picture]From: panchul
2015-01-06 07:30 am (UTC)
Регистрироваться для скачивания лень
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: incogn1too
2015-01-06 07:04 am (UTC)
И со скобочками вполне гуд, имхо.
(Reply) (Thread)
[User Picture]From: panchul
2015-01-06 07:31 am (UTC)
Когда после кода на Лиспе смотришь на код не на Лиспе, ощущаешь Свободу от Скобочек!
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: murmau
2015-01-06 07:20 am (UTC)
Я таки вас попрошу бейсик с перлом не обижать.
Бэйсик, тот, настоящий бэйсик, который
10 GOTO 10
20 END
есть процедурный язык, типа фортран77-два-ноль, и в своей области он очень даже гармоничен. Перл уже конечно вещь в себе, но тоже приятен для понимания и вполне удобен для написания.

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

ps. а ещё вот так можно
: a 2 2 + . ;
это у меня вообще восторг вызывало, 20 лет назад правда.




(Reply) (Thread)
[User Picture]From: panchul
2015-01-06 07:28 am (UTC)
Не, Форт не люблю. Кажется милым пока не доходит до реальных программ, после чего сразу встает вопрос "зачем я занимаюсь этим маразмом, ведь нечитабельно"?

Бейсик который 10 GOTO 10 вызывает у меня раздражение своим GOSUB без параметров, а также фактом, что в мои 14 лет я встретил несколько раз людей, про которых говорили "он не разбирается в алгоритмах и структурах данных но Зато Он Очень Хорошо Знает Бейсик (и всякие его внутренние хаки интерпретатора".
(Reply) (Parent) (Thread) (Expand)
(Deleted comment)
[User Picture]From: ramlamyammambam
2015-01-06 07:26 am (UTC)
Наверное, именно из этого лиспа вырос Лого.
(Reply) (Thread)
[User Picture]From: panchul
2015-01-06 07:28 am (UTC)
В Лого есть списки организованные как деревья?
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: spamsink
2015-01-06 07:27 am (UTC)
Современный Лисп без скобочек с "алголоподобным" синтаксисом - это Джаваскрипт.
(Reply) (Thread)
[User Picture]From: panchul
2015-01-06 07:29 am (UTC)
В Джаваскрипт есть списки организованные как деревья, и с рекурсивной обработкой?
(Reply) (Parent) (Thread) (Expand)
From: realurix
2015-01-06 09:02 am (UTC)
Какие ужасы!!! Ну прям страсти-мордасти. Однако, программа - это лишь описание того, что нужно сделать, чтобы достичь желаемого результата. Так что одно и тоже можно описать на разных языках. Не язык определяет смысл написанного, а автор. Хотя, мне интересна такая постановка вопроса. Получается, что английский язык - это язык воров и убийц, преступников, ибо это именно англоговорящие совершили ядерные бомбардировки городов Хиросима и Нагасаки.

Но вот тут столкнулся ещё с одним вопросом:



Edited at 2015-01-06 10:52 am (UTC)
(Reply) (Thread)
[User Picture]From: maxdz
2015-01-06 01:07 pm (UTC)
>Но вот тут столкнулся ещё с одним вопросом:

Продолжаешь всё мерить колбасой, шариков из страны шариковых? Не скоро тебе стать человеком.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: seerozha
2015-01-06 09:22 am (UTC)
Вы учебник по КОБОЛу советский почитайте ))

РАЗДЕЛ ДАННЫХ СЕКЦИЯ ФАЙЛОВ. ОФ карты МЕТКИ ОПУЩЕНЫ. 01 карта.
02 вж-даннве ШАБЛОН Х(8). 02 формат ПЕРЕОПРЕДЕЛЯЕТ вх-дааное. 03 знакч. III X. 03 целая Ш 9(4). 03 точк Ш X. 03 дробная Ш 99.
02 ЗАПОЛНИТЕЛЬ ШАБЛОН Х(72). СЕКЦИЯ РАБОЧЕЙ-ПАМЯТИ.
77 сум ШАБЛОН 39(4)Т99 ЗНАЧЕНИЕ НУЛЬ. 01 раб-поле.
02 число ШАБЛОН 39(4)Т99. 02 абс-число ШАБЛОН 9(4)Т99. 02 раб-формат ПЕРЕОПРЕДЕЛЯЕТ аСс-число. 03 целая Ш 9(4). 03 дробная Ш 99. РАЗДЕЛ ПРОЦЕДУР.
ОТКРЫТЬ ВХОДНОЙ карты. Ml. ЧИТАТЬ карты В КОНЦЕ ПЕРЕЙТИ К кон. ПЕЧАТАТЬ О ИМЕНЕМ вх-данное. ПОМЕСТИТЬ СООТВ формат В раб-формат. ЕСЛИ знакч='—'
ВЫЧИСЛИТЬ число = — абс-число ИНАЧЕ ПОМЕСТИТЬ а<5с-число В число. СЛОЖИТЬ число G сум ПЕРЕЙТИ К м1. -кон. ПЕЧАТАТЬ С ИМЕНЕМ сум.
ЗАКРЫТЬ карты. ОСТАНОВИТЬ РАБОТУ.

Edited at 2015-01-06 09:22 am (UTC)
(Reply) (Thread)
[User Picture]From: panchul
2015-01-06 03:24 pm (UTC)
Вы шутите? Моя мама была Кобол-программисткой. Мое детство прошло среди распечаток программ на Коболе. Книжка про Кобол - одно из ранних впечатлений детства, когда я научился читать.

Впрочем, я его так никогда и не понял. При виде Кобол-программ у меня появлялся вопрос "зачем" на многие атрибуты языка.
(Reply) (Parent) (Thread)
[User Picture]From: timka21213
2015-01-06 09:34 am (UTC)
Я проводил семинар в ЛОМИ в 1990 году о RLisp( основе системы компьютерной алгебры Reduce ), так там скобочки были только на низком уровне, можно было вполне писать в процедурном стиле а-ля Pascal. Reduce был очень популярен с момента создания у советских ядерщиков.
(Reply) (Thread)
[User Picture]From: sir66
2015-01-06 03:50 pm (UTC)
Вообще то Лисп без скобочек теряет половину своего очарования ибо разрушается его базовый принцип "программы и данные это вообще то одно и то же". На нем можно писать самомодифицирующиеся программы и делать всякие разные подобные хитрости. Сие не всегда используется и вообще далеко не во всех реализациях возможно, но наличие такой функциональности сильно подтолкнуло всякие разные изыскания в области функций высших порядков, искусственных интеллектов и прочего.

Был такой язык POP-2 (у нас был известен так ПОПЛАН). Это еще одна попытка реализовать Лисп без скобочек. Я в свое время переписывал на него программы на Лиспе их книжек (в том числе программу доказательства теорем) практически 1 в 1 и все работало. Но эта линия тоже успешно загнулась.

https://en.wikipedia.org/wiki/POP-2

PS. Домой говоришь позвал, чаем поил... ;)
(Reply) (Thread)
[User Picture]From: panchul
2015-01-07 04:46 am (UTC)
*** На нем можно писать самомодифицирующиеся программы и делать всякие разные подобные хитрости ***

А в чем проблема легким внутренним препроцессированием вставить скобочки обратно и напустить на это функцию eval ?

Иди скажем поддерживать скобочную и бесскобочную нотации одновременно?

*** PS. Домой говоришь позвал, чаем поил... ;) ***

Да, если бы на моем месте была бы radulova то с Маккарти было бы все понятно.
(Reply) (Parent) (Thread)
[User Picture]From: furia_krucha
2015-04-15 01:56 pm (UTC)
Был еще 3-lisp — язык с бесконечной метарефлексией. Семантику лиспа можно описать на лиспе (eval/apply), в 3-lisp обычный код (код уровня 0) исполняется eval/apply (кодом уровня 1), который исполняется... и.т.д. Код любого уровня можно менять.
(Reply) (Thread)