April 14th, 2012

Gen.Turgidson

Функционально-программерское

На термин "функцииональное программирование" навешено столько дерьма, что смысл он утратил чуть более чем полностью. Потому полезно немножко позаниматься деконструкцией: начнем с "функционального языка Лисп", кой как известно настолько кул и рул, что на нем до сих пор емаксы пишут.

Так вот - с современной точки зрения функционального в лиспе нет ничего - лямбда-выражения уже давно общее место, да и замыкания (отсутствовашие, кстати, в оригинальном лиспе) - тоже. Ну а сборкой мусора и списками тем более никого уже не удивить.

Так в чем состоит крутизна Лиспа, создавшая ему ореол мегаязыка, кой до сих пор не вполне рассеялся (хотя объективно гря Лисп - это мешок дерьма).

А в очень простом: он придуман в 1960 году - тогда на чем программировали - на фортране/алголе/ассемблере (а то и в кодах). Неглупые люди писали книжки под названием "обработка списков", где объясняли как нарисовать ручное управление кучей etc. Ну а строковая обработка на фортране-алголе - это [играет похоронная музыка].

Какая-то языковая поддержка работы с указателями и динамическими структурами данных начнет появляться в конце 60-х. О сборке мусора будет много разговоров - но мало реального результата.

На этом фоне язык со сборкой мусора, довольно гибкими структурами данных, неплохой строковой обработкой etc etc, да еще очень простой в реализации, был просто обречен на успех. Что и случилось.

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

С тех пор лисп-сообщество являет пример унылого фэнклуба давно дохлой рок-группы.... И рассуждает о true-лисповом ламповом звуке.