|

|

Лисп доставил своими макросами. Сильная концепция. Но в реальной жизни абсолютно бесполезная, увы. Вообще, идея обрабатывать код программы в виде символов наравне с данными скорее всего стала популярна имеено вследствие ставшего очевидным для всех успеха фон-неймановской архитектуры, где машинные коды и данные хранятся на одном физическом носителе и могут процесситься вместе. Под влиянием этой концепции родился LISP, созданный по образу и подобию фон-неймановской машины - и судя по всему, от него ожидали, что он тоже будет няшным и заебатым вытеснителем всех других ЯП. Но этого не случилось. Потому что, при всей экспрессивности этого языка, для человека он неудобен. Человек привык разделять всё с чем работает на простые и понятные, так сказать, ипостаси. Тут код, а тут данные. Тут имена функций, тут их тело, тут типы. То есть, макросы сами по себе мешают восприятию кода очень сильно, ибо допускаются различные толкования его в зависимости от того, какие макросы были объявлены. По той же причине - стремлению программиста всё чётко разделять - сейчас яростно развиваются языки вроде haskell, где всё дико статично, нет мутабельности, evalов и прочей создающей острые подводные камни фигни. Haskell вот - это будущее. А LISP - могила. При всём уважении.
p.s. - всё что я написал о мотивах создания лиспа - не более, чем мои собственные соображения.
|
|