Здравствуйте, nullxdth, Вы писали:
N>А какое дело программисту до "мейнстримовости"? И какие вообще задачи решает факт принадлежности технологии к "мейнстриму"?
В том что просто языка достаточно только для очень узкого круга задач. А для большинства реальных задач требуется ещё куча узкоспециализированных библиотек. Так вот для мейнстримовых языков (типа C/C++, Java) можно рассчитывать что если нужное решение вообще существует в природе, то для этих языков оно есть с гарантией. А для всяких редких языков (пусть даже и красивых) с большой вероятность придётся городить свой велосипед.
Кстати, у Лиспа ещё более менее ничего ситуация тут. Т.е. конечно далеко до мейнстрима, но и не какой-то редкий академический язык. Во всяком случае биндинги ко многим известным (обычно они C/C++ кстати) библиотекам имеются.
N>LISP --- квинтэссенция метапрограммирования. N>Кстати, что вы подразумеваете под "развитой инфраструктурой"?
Выше уже написал)
Да, и кстати... Я не говорил что мне нужен язык заточенный под метапрограммирование. Оно всё же занимает явно не большую часть разработки, а скорее просто иногда облегчает работу. Так что мне нужны именно фичи метапрограммирования в современном мощном мультипарадигменном языке.
Re[15]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
Здравствуйте, alex_public, Вы писали:
>А для всяких редких языков (пусть даже и красивых) с большой вероятность придётся городить свой велосипед.
Да. Вероятно, вы правы. Но тут всё же надо смотреть конкретно по ситуации. А также оценить качество решения в "мейнстримном" языке. И всё взвесить.
Не редко бывает так, что написать решение выгоднее. Благо что lisp способствует скорости разработки — почти интуитивное метапрограммирование.
>Кстати, у Лиспа ещё более менее ничего ситуация тут. Т.е. конечно далеко до мейнстрима, но и не какой-то редкий академический язык. Во всяком случае биндинги ко многим известным (обычно они C/C++ кстати) библиотекам имеются.
Обычно прям на lisp и пишут. Благо, что, например, sbcl — компилятор и проблемы с производительностью возникают редко. Но да, биндингов тоже достаточно.
>Да, и кстати... Я не говорил что мне нужен язык заточенный под метапрограммирование. Оно всё же занимает явно не большую часть разработки, Так что мне нужны именно фичи метапрограммирования в современном мощном мультипарадигменном языке.
Тяжко это, ибо "мейнстримные" языки обладают сложным синтаксисом, как правило. Т.е. МП совершенно точно не будет таким простым занятием, как в lisp.
>[...] а скорее просто иногда облегчает работу.
Иногда облегчает, а иногда без МП совсем тяжело, а ещё иногда даже невозможно за разумные сроки.
Re[73]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
Здравствуйте, nullxdth, Вы писали:
N>Тяжко это, ибо "мейнстримные" языки обладают сложным синтаксисом, как правило. Т.е. МП совершенно точно не будет таким простым занятием, как в lisp.
Это сказки.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[74]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
Здравствуйте, WolfHound, Вы писали:
>Это сказки.
Подробнее, пожалуйста, про сказки.
В lisp же код — списки. А работать со списками просто; особенно в lisp — полный набор для всяческой обработки и нарезки + квазицитаты. Что может быть проще?
Уж не думаете ли вы, что МП в Nemerle проще чем в lisp?
Re[75]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
Здравствуйте, nullxdth, Вы писали:
N>Подробнее, пожалуйста, про сказки. N>В lisp же код — списки. А работать со списками просто; особенно в lisp — полный набор для всяческой обработки и нарезки + квазицитаты. Что может быть проще? N>Уж не думаете ли вы, что МП в Nemerle проще чем в lisp?
Уж точно не сложнее. Особенно если не требовать чтобы было точно как в лиспе. Ибо оно другое.
А в том проекте, который мы сейчас делаем, будет еще проще.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[76]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
Здравствуйте, WolfHound, Вы писали:
>Ибо оно другое.
Ну в lisp'е всем известное МП — кодогенерация макросами.
Расскажите в кратце, чем принципально отличается МП в Nemerle?
Вот, например, МП Ruby — модификация в runtime. Другое МП, да. Этот подход сложнее Lisp'овского.
>А в том проекте, который мы сейчас делаем, будет еще проще.
Nemerle очень интересный проект. Я обязательно посмотрю на Nemerle детальнее. Очень рад дальнейшему развитию языка. Надеюсь у вас всё получится.