Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет nokosageru ([info]nokosageru)
@ 2016-09-30 17:39:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Лисп доставил своими макросами. Сильная концепция. Но в реальной жизни абсолютно бесполезная, увы.
Вообще, идея обрабатывать код программы в виде символов наравне с данными скорее всего стала популярна имеено вследствие ставшего очевидным для всех успеха фон-неймановской архитектуры, где машинные коды и данные хранятся на одном физическом носителе и могут процесситься вместе. Под влиянием этой концепции родился LISP, созданный по образу и подобию фон-неймановской машины - и судя по всему, от него ожидали, что он тоже будет няшным и заебатым вытеснителем всех других ЯП. Но этого не случилось. Потому что, при всей экспрессивности этого языка, для человека он неудобен. Человек привык разделять всё с чем работает на простые и понятные, так сказать, ипостаси. Тут код, а тут данные. Тут имена функций, тут их тело, тут типы. То есть, макросы сами по себе мешают восприятию кода очень сильно, ибо допускаются различные толкования его в зависимости от того, какие макросы были объявлены.
По той же причине - стремлению программиста всё чётко разделять - сейчас яростно развиваются языки вроде haskell, где всё дико статично, нет мутабельности, evalов и прочей создающей острые подводные камни фигни. Haskell вот - это будущее. А LISP - могила. При всём уважении.

p.s. - всё что я написал о мотивах создания лиспа - не более, чем мои собственные соображения.


(Добавить комментарий)


[info]silly_sad
2016-10-01 11:06 (ссылка)
eto ty ne videl TeX makrosov!
tam krome makrosov nichego net v principe.
v itoge ljuboje slovo mozhet bytj pereopredeleno,
ljubaja programma soderzhit v sebe instrukcii po interpretacii SEBJA.

poluchajeca chto NIKAKOJ KUSOK PROGRAMMY NEVOZMOZHNO PONJATJ NE PROCHITAV PROGRAMMU CELIKOM.

a tak kak programma kak pravilo eto desjatki i sotni tysich strok RAZKIDANNYX PO RAZNYM FAJLAM I NAPISANNYJE DESJATKAMI RAZNYX AVTOROV......

krome togo elementarnaja kommunikacija mezhdu TeX programistami nevozmozhna v principe: kazhdyj opyt UNIKALEN, my ne mozhem govoritj potomuchto my ne mozhem garantirovatj identichnostj konteksta.

nikakoj kusok koda NEPERENOSIM vsjo kontekstnozavisimo. vesj TeX eto gordijev uzel zavisimostej.

(Ответить)


[info]silly_sad
2016-10-01 11:20 (ссылка)
> Человек привык разделять всё с чем работает на простые и понятные, так сказать, ипостаси. Тут код, а тут данные.

ne objazateljno chelovek, i ne v privychke delo.
delo v tom chto bez etogo radelenija vsjo stanovica proizvoljno zavisimym ot vsego -- my ne mozhem vynutj nikakoj kusok programmy iz jego konteksta i obsuditj, s drugoj storony tazhe samaja problema: my ne mozhem opredelitj "common ground" dlja nashego obchenija.

tojestj delo tut ne v individualjnom cheloveke, a v kollektive, v tom chto krome mashiny cheloveku nado razgovarivatj s drugimi chelovekami. davatj im programmy i chasti programm.

to chego net vnutri komputera.
(i kstati zrja net!!!)

(Ответить)