2. JetBrains выпускает в мае (сейчас -- готова вторая бета под Apache лицензией) Meta Programming System (http://www.jetbrains.com/mps/index.html), да еще и (подробности и ссылки на статьи -- http://blogs.jetbrains.com/mps/, главный разработчик -- krlz, а насчет того, что Apache-лицензия сохранится для версии 1.0, так это пока непонятно). Сохранится до 1.0. 1.0, кстати, будет в ближайшее время выпущена.
Я так и думал, что до 1.0 сохранится (то есть времени еще чуть-чуть осталось), а вот для 1.0 уже не сохранится -- бизнес-модель JetBrains торговать софтом, а не сервисом. Про цену даже не спрашиваю, ее никто до момента выпуска еще не знает, даже в фирме-разработчике :)
Еще интересно, почему проект FONC/COLA/STEP и т.д. (ну никак они не выберут имя!) не рассматривается обозревателями всех мастей как проект из той же языкоориентированной серии -- ведь там все то же самое, хотя и сделаны немного другие акценты. Один из интересных путей развития в данной предметной области -- это взять языковое ядро из этой COLA и повторить идеи качественной DSL-ориентированной IDE из MPS. Результат может быть интересен не только свободной лицензией, но и содержательно: Экстремальный подход демонстрирует Ian Piumarta 27 ноября 2007г. в списке рассылки FONC: We should be able to go beyond even domain-specific languages, to what I've been calling 'mood-specific languages'. If it makes my (e.g.) message-passing code more readable to be able to write 'x[y,z
( ... )
Я так и думал, что до 1.0 сохранится (то есть времени еще чуть-чуть осталось), а вот для 1.0 уже не сохранится -- бизнес-модель JetBrains торговать софтом, а не сервисом. Про цену даже не спрашиваю, ее никто до момента выпуска еще не знает, даже в фирме-разработчике :) После 1.0 мы тоже будем опен сорсными.
Хотя что-то мне смутно подсказывает, что подобные вещи можно делать и в MPS, ибо она написана на самой себе. Так?МПС вообще language agnostic. На нем можно реализовывать любые языки.
С language agnostic не все просто, ежели обратить внимание на динамические языки, с экстремально поздним связыванием (extreme late binding, типа того же smalltalk в отличие от Java). Ибо языки ведь определяются не чистым синтаксисом (другими словами, в языках важен не только "синтаксический сахар"). Так, важна еще и рефлексивность (для примера -- статья двадцатилетней давности http://www.laputan.org/ref89/ref89.html). Да нет, почему. Рефлексивность нужна во время выполнения, а не во время редактирования, тут в принципе мы роли не играем. Если что, у нас есть javascript, который определен в мпс. Если точнее насчет агностицизма, то больше всего мы работали с сильно типизированными языками. И их, естественно, лучше всего поддерживаем.
Еще есть языки, где не хватает псевдографики (тут я не разобрался еще с вашим табличным редактором). Так, в презентации Intentional Software есть пример языка принципиальных электрических схем -- у вас такое можно? Вопрос не такой
( ... )
Хех, это и есть главный вопрос: у вас время выполнения и время редактирования как связаны. В разных IDE на этот вопрос отвечают по-разному (хороший пример тут, например, языки-среды smalltalk -- типа того же Squeak
( ... )
Хех, это и есть главный вопрос: у вас время выполнения и время редактирования как связаны. В разных IDE на этот вопрос отвечают по-разному (хороший пример тут, например, языки-среды smalltalk -- типа того же Squeak). У нас никак. За исключением языков для определения языков, которые генерятся в Java, компилируются, и перегружаются.
Это я понял, что вы экспериментировали с псевдографикой. Но ежели вам нужно нарисовать схему детекторного приемника, а символа детектора и катушки в псевдографики нету? По-другому задам вопрос: генерация кода расчета электрической сети возможна, с сохранением удобного редактирования принципиальной схемы этой сети? А с учетом предыдущего абзаца -- расчет (опускаю "генерацию кода", зачем о ней знать пользователю) электрической сети возможен, перемежаемый редактированием этой сети в формате принципиальной схемы? В презентации Intentional Software есть слайд, который прямо отвечает на вопрос о возможности, как минимум, задания языка электрической принципиальной схемы.У нас для этого придется движок улучшать.
( ... )
Я немного продолжил тему "обычные языки vs DSL" в конце постинга http://ailev.livejournal.com/685455.html -- и там еще интересный разговор в комментах получился с avlasov про тестирование программ, написанных на винегрете из DSL.
Сохранится до 1.0. 1.0, кстати, будет в ближайшее время выпущена.
Reply
Еще интересно, почему проект FONC/COLA/STEP и т.д. (ну никак они не выберут имя!) не рассматривается обозревателями всех мастей как проект из той же языкоориентированной серии -- ведь там все то же самое, хотя и сделаны немного другие акценты. Один из интересных путей развития в данной предметной области -- это взять языковое ядро из этой COLA и повторить идеи качественной DSL-ориентированной IDE из MPS. Результат может быть интересен не только свободной лицензией, но и содержательно: Экстремальный подход демонстрирует Ian Piumarta 27 ноября 2007г. в списке рассылки FONC: We should be able to go beyond even domain-specific languages, to what I've been calling 'mood-specific languages'. If it makes my (e.g.) message-passing code more readable to be able to write 'x[y,z ( ... )
Reply
После 1.0 мы тоже будем опен сорсными.
Хотя что-то мне смутно подсказывает, что подобные вещи можно делать и в MPS, ибо она написана на самой себе. Так?МПС вообще language agnostic. На нем можно реализовывать любые языки.
Reply
Reply
Да нет, почему. Рефлексивность нужна во время выполнения, а не во время редактирования, тут в принципе мы роли не играем. Если что, у нас есть javascript, который определен в мпс. Если точнее насчет агностицизма, то больше всего мы работали с сильно типизированными языками. И их, естественно, лучше всего поддерживаем.
Еще есть языки, где не хватает псевдографики (тут я не разобрался еще с вашим табличным редактором). Так, в презентации Intentional Software есть пример языка принципиальных электрических схем -- у вас такое можно? Вопрос не такой ( ... )
Reply
Reply
У нас никак. За исключением языков для определения языков, которые генерятся в Java, компилируются, и перегружаются.
Это я понял, что вы экспериментировали с псевдографикой. Но ежели вам нужно нарисовать схему детекторного приемника, а символа детектора и катушки в псевдографики нету? По-другому задам вопрос: генерация кода расчета электрической сети возможна, с сохранением удобного редактирования принципиальной схемы этой сети? А с учетом предыдущего абзаца -- расчет (опускаю "генерацию кода", зачем о ней знать пользователю) электрической сети возможен, перемежаемый редактированием этой сети в формате принципиальной схемы? В презентации Intentional Software есть слайд, который прямо отвечает на вопрос о возможности, как минимум, задания языка электрической принципиальной схемы.У нас для этого придется движок улучшать. ( ... )
Reply
Reply
Leave a comment