Здравствуйте, mini_root_2, Вы писали:
__>Здравствуйте, mkizub, Вы писали:
M>>http://www.rsdn.ru/Forum/message/2520182.aspx
M>>http://www.symade.org/
M>>http://www.symade.com/
__>Ну хорошо если отбросить философствование на тему "Писать самому семантические деревья это круто потому что......", то по сути предлагается писать программы на очередном языке еше более высокого уровня (который в принципе можно обпилить под себя), который потом неким таинственным (или не очень) образом может превращаться во что угодно: в исходники на другом языке, в байт код и т.д.
Я не знаю, можно ли лисп считать языком высокого уровня.
Лисп — это язык мета-программирования. Можно работать на любом уровне, который вы описали через конструкции лиспа.
SOP в этом смысле — полная аналогия лиспа.
__>В результате получаем холявный DSL и пр. радость...
__>Сразу высплывает несколько моментов:
__>1. Допустим Вы сделали свой собственный DSL идеально описывающий вашу предметную область,
__>(кстати а можно ли считать квази-DSL'ем просто библиотеку где классы названы соответствующим образом (Поставщик, Продажа и т.д.) + перегружены все операторы?)
__>а потом вам вдруг потребовалось прикрутить что-то стороннее, какие варинаты?:
Приведите пример постороннего, я не въехал.
__> — использовать как есть — но тогда нарущится концепция "нашего маленького самопального языка".
__> — сваять обертку — это будет покруче чем строительство комунизма, я там одним глазом посмотрел простенький и маленький пример (типа сделай DSL своими кривыми ручками) — "всего" >500 строк кода (поправьте если ошибаюсь) — если на каждый чих ваять по пол тыщи строк то где же экономия от DSL, если же появяться некие общепринятые стандартные DSL и подогнанные под них фреймворки, то мы вернемся к тому же что имеем сейчас только на более высоком уровне (ведь найдутся люди которых и они не устроят)
СОП не есть DSL программирование. Он включает в себя как создание DSL, так и расширение уже имеющихся.
__>2. В чем прниципиальная новизна? Ведь созданный DSL все равно так или иначе будет ложиться
__>на одну из существущих парадигм программирования (ООП, ФП и д.р.).
В СОП нет ничего принципиально нового. Как нет ничего принципиально нового в ООП. И инкапсуляция, и полиморфизм, и наследование — всё это было и раньше.
__>3. Сугубо практические моменты:
__> — реальная применимость (где? зачем? в чем преимущество?)
Да везде.
__> — наличе библиотек (или возможность цеплять сторонние)
Библиотек чего? Библиотек семантических понятий? Их ещё нет.
__> — наличие среды разработки
Пишется.
__> — наличие литературы
Напишите
Полностью предполагается написать
а) Среду разработки. Вот она сейчас и пишется, SymADE.
б) Библиотеки семантических понятий.
в) Расширяемой VM построенной на принципах SOP — то есть не байткод, а опять же дерево.
__>В этом плане у скалы есть свои недостатки, но есть и достоинства которые позволяют применить ее уже сейчас.
__>P.S. Хотя возможно в будущем из этого что-нибудь да получится, только вот расчитывать на очередную серебрянную пулю я бы не стал...
Все говорят про серебрянную пулю, хотя там прямым текстом написано "это не панацея".