Как стать автором
Обновить

Lisp — экзотика рулит

Время на прочтение2 мин
Количество просмотров1.9K
Когда то, когда еще учился в университете, мне приходилось писать небольшие учебные задания на языке Lisp. Этот язык довольно интересен, и отличается практический от всего что используют разработчики в своей работе сегодня… ну я сдал практикум и, как говорится, забыл.
… но вчера, увидев пост habrahabr.ru/blogs/lisp/89097 позволил себе указать автору, что, по моему мнению, проблема Lisp-a не в отсутствий библиотек, а отсутствие библиотек следует из проблем самого Lisp-a — очень плохой читаемостью программного кода, которая делает очень сложной разработку больших программ.

Не из людей, который любит похоливорит, но взрывная дебата меня очень повеселила =), вот и решил процитировать спецов по данной экзотике и больших гуру программирования.

Ну с моими же комментариями, конечно.

PS
Ничего личного, просто смешно.



В лиспе основной упор делается на ООП (CLOS — мощнейшая объектная система), на построение абстракций различного уровня, на мощном базовом языке.


В моем вольном переводе — «Делали такнк, получился самолет»

HTML и Java очень просто сравнить. Точнее, можно сравнить XML и Java. В XML закодированна логика работы Java-программы Ant, которую он интерпретирует.


Закодирована не только логика, а и душа, патриотизм и нравственность Java-программы!

Наоборот, использование Lisp позволяет эту нереальную сложность, с которой не справляются традиционные подходы (тот же ООП*) преодолеть.


Всем срочно выйти из рекурсии! Не справляемся со сложностью!

Вас, наверно, удивит, но самая распространенная SDK в мире — это Emacs


А я думал Borland Delphi… =)

Возможность Lisp, которые позволяют бороться со сложностью крупных систем (против которых, как уже показала практика, ООП-подход бессилен) — это возможность создания многослойных слабосвязанных систем за счет проблемно-ориентированного программирования (прежде всего на основе макросов)…


Так мне и не объяснили что такое слабосвязанные системы.

… и не привязанного к необходимости городить иерархии классов полиморфизма.


No comment

В двух словах, что я хотел сказать: если не создавать иерархий, то не будет полиморфизма в ООП.


Как прикажете товарищ капитан!

Слабосвязные системы — это не научная фантастика. На этом принципе построен Unix (в некоторой мере).


Только до сих пор не знаем кто они…

полиморфизм в ОО-языках (читай C++, Java) не существует отдельно от наследования …
… Если ОО-язык отказывается от концепции наследования, то он теряет и полиморфизм.


Первый, первый, я теряю твой полиморфизм!!!

Короче, как ни крути, а весь полиморфизм у вас создается за счет создания все новых и новых классов.


В ООП все создается за счет создания новых классов =)
Теги:
Хабы:
-20
Комментарии59

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн