LINUX.ORG.RU
ФорумTalks

Правду говорят, что из лиспа другие языки фичи заимствуют...


0

0

Вот читаю сейчас документацию по библиотека boost.preprocessor (это набор макросов препроцессора c/c++, ориентированных на метопрограммирование, входит в библиотеку boost), раздел про списки. http://boost.org/libs/preprocessor/doc/data/lists.html И вижу характерные лисповые конструкции (вплоть до названий - nil, cons, first, rest....)

Правду видимо говорят, что лисп намного опередил своё время...

ЗЫ однако, использовать элементы функционального/мета программирования на c++ (средствами того же boost или libsigc++) довольно геморно. Постоянно натыкаешься на ошибки типа "неправильный аргумент функции", при этом сообщение компилятора об ошибке представляет из себя кашу из шаблонов и их параметров на несколько экранов, при этом совершенно непонятно, где на самом деле ошибка...

★★★

Просто традиционные имена, смысл свои изобретать? Лисп везде изучается, его все знают, быстрее можно будет адаптироваться к препроцессору.

Хорошие вещи можно и нужно заимствовать.

Legioner ★★★★★
()

> при этом сообщение компилятора об ошибке представляет из себя кашу из шаблонов и их параметров на несколько экранов, при этом совершенно непонятно, где на самом деле ошибка...

Это конечно проблема (которая по идее будет решаться концептами), но при некотором опыте можно и такие сообщения понимать :) Кстати полезно почитать книжку про шаблоны в С++ от Абрамса и др.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

> Хорошие вещи можно и нужно заимствовать.

Ну дык я и ничего против не имею. Только вот сделать из c++ лисп совсем не получается (см. выше про ошибки). А так - я был бы только за, к примеру, нормальные лямбды и нормальное метапрограммирование в c++...

slav ★★★
() автор топика
Ответ на: комментарий от stassats

Угу и еще меньше понимается теми студентиками, которые его таки изучают.

anonymousI
()
Ответ на: комментарий от slav

"There are only two things wrong with C++: The initial concept and the implementation." -- Bertrand Meyer

anonymousI
()
Ответ на: комментарий от slav

> Только вот сделать из c++ лисп совсем не получается

Получается. www.intelib.org

> Угу и еще меньше понимается теми студентиками, которые его таки изучают.

Большинство и С++, и паскаль не понимают. Некоторые понимают.

Legioner ★★★★★
()
Ответ на: комментарий от slav

> нормальные лямбды и нормальное метапрограммирование в c++

А зачем, если в лиспе есть уже?

bugmaker ★★★★☆
()
Ответ на: комментарий от Legioner

> Получается. www.intelib.org

Спасибо за ссылку, довольно интересная вещь. Поковыряю на досуге. Кстати, наш мужик написал (из МГУ).

slav ★★★
() автор топика

Что бы анонимусы могли спокойно заявить, что круче С++ нет ничего, а если что и есть круче, то из С++ можно такое сделать.

mono ★★★★★
()

Если подходить чисто исторически, то скорее лисп заимствует фичи из других языков. В этом его основной плюс. Например, идея макры loop явно повзаимствована из алгола.

Burbaka ★★
()

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

TIM
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.