> писать ObjectPropertyName вместо Object.Property.Name =) Вот такой изврат я считаю не КС. просто использую "простой" смысл "контекстно-свободная", тоесть синтаксис не зависит от семантики. расплывчато, но надеюсь достаточно)
о. то есть, такая шкала с градусником: на одной стороне REBOL с диалектами, где всё что внутри блока зависит от языка, указанного в заголовке блока (названии диалекта); на другой стороне лисп, где синтаксис не зависит от семантики, потому что синтаксиса нет :))
> REPL (напомню, это такая текстовая консолька, в которую вводят команды, без возможности хождения по хистори, элементарных комплишенов и зачастую без банального редактирования)
дядь, выйди из анабиоза. Есть там и хистори, и комплишен, и редактирование. Если из емакса через SLIME подключаться. Понимания семантики правда нет, поэтому в комплишен попадается то, что набираешь, а не DWIM.
>>Для кого и чего удобнее? Чбоы программить - да, удобнее. А что бы создавать доменно спецефичны языки _моделирования_ - не удобнее. Есть подозрение на программизм головного мозга.
для моделирования удобнее тот язык, который позволяет прозрачно ввести новые концепции и модели чтобы сменить точку зрения и связать модели на другом уровне. Построить то есть модель этой модели, метамодель.
>не программизм мозга, а наличие оного. Текстовое представление всегда удобнее - его можно говорить, комментировать в почте и тд. Разницу между двумя версиями текста легко увидеть. А вот разница между двумя, например, pdf-ками как? Открыть 2 окна рядом и сколлить вверх-вниз??
откройте для себя структурный diff. *структурный* = понимает содержимое. Разницу между двумя SVG картинками тоже удобнее увидеть наглядно, бок-о-бок, или мигаюче, наложив картинки друг на друга. А не переводить в XML и искать там текстовые диффы, и игнорировать изменения в количестве пробелов, комментариях, и т.п.
>для моделирования удобнее тот язык, который позволяет прозрачно ввести новые концепции и модели чтобы сменить точку зрения и связать модели на другом уровне. Построить то есть модель этой модели, метамодель
Вы меня не правильно полняли, я там дальше привёл в качестве примера языка моделирования - рисвание электросхем. Тоесть я обсждал язык моделирования, а не метамодлирования. Возможно моделирование не такое хорошее слово, и лучше "проектирование".
> Да, если я проектирую 'электросхемы, мне удобнее эти схемы рисовать, а не описывать в dot стиле. Нагляднее както. А это как раз Domain Specific Modeling language.
рисовать удобнее, да. Но если не рисовать ту же схему на коленке, а сдавать для наладки/запуска, у нее есть поля "разработал/проверил", есть ГОСТы, которым она должна соответствовать, есть неявные требования технологов и сметчиков, что нельзя сюда засунуть *любую* микросхему, которую пожелает "творческий полёт свободной мысли" (или как там у Пелевина в пустоте). То есть, "проектирование" оно ничем никому не обязано, пока это эскиз-набросок на салфетке. Потом оно начинает обрастать скучными подробностями, без которых, увы, никак. И вопрос в том, сложно эти подробности приделать, или наоборот, просто и технологично.
Пока что делать то же, что может делать mbase (в котором есть некоторые элементы настоящего Лиспа) этот MPS не умеет. И Microsoft Oslo тоже не умеет. Так что Лисп рулит и педалит.
Ну давайте всё в писать в nano ;) Ты думаешь что программы на ДСЛ - это максимум 50 строчек? Представь большой проект, для каждой части - свои ДСЛ, при это всё это работает вместе. Вот для этого нужно ИДЕ.
> "Профессор" Луговскер несколько лет пилил свой невнятный DSL Engine, да так и не допилил.
Потому что понты и черезмерно раздутое ЧСВ (см. http://lugovsky.narod.ru/prog.html) ничего не дают для реальной работы, нацеленной на реальной результат. :)
Молодцы Jet-брейны! Хоть и не очень я большой поклонник ИДЕИ, но здесь ребята явно постарались.
Безотносительно к качеству их английского, фраза "We have taken look at lisp, we know what it is" рулит безмерно. Это гораздо круче, чем "мне Иойша напел" %)
Нет уж спасибо, корявый "рунглиш" мне не нужен - мне и американского диалекта хватает. Чтобы с заказчиками общаться.
> фраза "We have taken look at lisp, we know what it is" рулит безмерно
РуЛит. Рулит. Еще как рулит, учитывая, что LISP пишется как "LISP" или "Lisp", но никак не "lisp"
(to) lisp - дословно "шепелявить", (a) lisp - "шепелявость", со строчной буквы - это в Америкосии означает произносить "z" и "s" как "th". Запомните это, чтобы следующий раз не облажаться.
> (a) lisp - "шепелявость", со строчной буквы - это в Америкосии означает произносить "z" и "s" как "th". Запомните это, чтобы следующий раз не облажаться.
Зайди на JetBrains, скажи им. И comp.lang.lisp тоже просвети :D
А вот Васе-куну ссылочка http://en.wikipedia.org/wiki/Gay_lisp ROTFL! Это посильнее "we have taken look" вместо "we have taken А look" будет. LOL! Вася-кун, приезжайте из своего Приозерска таки на Брайтон. :))) Таки уже можно малька подучиться не только Джаве, но и Инлишу. :)
До тебя всё не доходит, что ты быдло, а те, кто что-то серьёзное и новое делают - вовсе не быдло ни разу? Те, кто играет с plan9 или inferno - не быдло, а те, кто пишет на жабе и не желает ничего другого знать - быдло и мразь.
Если тебе нужно потратить X часов на написание DSLя, и Y часов на написание кода или внесения данных используя этот DSL, а работа с обычными языками/средствами займёт Z часов, то при X+Y < Z имеет смысл написать этот DSL. Если он ещё не написан ;)