>> Сходил за книжкой в другую комнату. >> Открываем первый том двух-томника "Мир лиспа", смотрим заглавие. >> Ага, apply - страница 246, читаем, apply - функция двух переменных. >> В примере 4. Все. 5 минут прошло. Мое время и терпение иссякли. >> >> Искать и ставить настоящий CommonLisp и искать его документацию, чтобы >> вспомнить, что читал несколько лет назад и вроде бы знал мне некогда. >> >> При этом гораздо больше строк >> >> function transposition (matrix A [N,M]) >> matrix B = create_matrix (M, N) >> for i in 1,N >> for j in 1,M >> B [j, i] = A [i, j] >> end >> end >> return B >> end >> >> понимают _абсолютно все_ мгновенно. >> > Во-первых, не абсолютно все, а те, кто обучен на императивном подходе. Абсолютно все. Потому что императивный подход - это естественный способ мышления человека. Какой у человека распорядок дня? Шаг 1: Проснулся Шаг 2: Умылся, побрился, причесался, оделся Шаг 3: Позавтракал Шаг 4: Поехал на работу или учебу Шаг 5: Дождался обеда, сходил в столовую или слопал "ссобойку" Шаг 6: Поработал еще немного Шаг 7: Вернулся домой Шаг 8: Сходил в магазин, купил чего-нибудь на ужин Шаг 9: Позанимался с детьми, женой, подругой, любовницей... Шаг 9: Приготовил чего-нибудь, поужинал Шаг 10: Почитал книжку Шаг 11: Лег спать
Именно вот так, последовательно, императивно, по шагам человек думает всю свою жизнь. > Во-вторых, это был _элементарный_ пример. Функции apply и map на > порядки мощнее и эффективнее Опять дешевая пропаганда. apply/funcall - это банальный eval во многих динамических ЯП. Автоматические цацки со списками можно прикрутить к почти любому языку. Cons - нашли, блин, мегаконцепцию... map? -- банальный foreach или итераторы с циклами делают то же самое в любом языке таким же количеством строк. >Думаю, в том же "Мире лиспа" можно найти однострочники, >которые при переводе на императивный язык развернутся не в два цикла с >одним оператором Лаконичность не является и никогда не являлась критерием качества языка сама по себе. На перле тоже вот можно такого наворотить... >, а в несколько сотен строк кода, который очень мало кто поймёт >"мгновенно". Уровень абстракции в императивных ЯП элементарно наращивается при помощи функций, классов, объектов, пространств имен, модулей и т.д. Нет здесь у Лиспа никаких преимуществ и не было никогда. Все это байки 60-х. > Одним словом, очень уж демагогией запахло, если откровенно. Вот именно. -- Best regards, Aleksey Cheusov. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

