Кстати, когда-то соперник того же Kontakt MatchFive тот же lua и использовал для скриптования. Сейчас проект получил развитие, все живы.
Согласен, более чистые способы есть, см. коммент выше
Спасибо за аббревиатуру DSL. Сегодня всю ночь пытался вспомнить этот термин, и никак не мог отыскать))
Если честно, ситуацию по emacs Lisp прокомментировать не могу, т.к. ни разу его (emacs) даже не открывал.
По мне – есть пара пограничных случаев, когда создание DSL оправдало ожидания, хотя это, скорее, исключение из правил. Допустим wiki-разметка. Выстрелили как синтаксис, и как проект.
Но в целом, за исключением идеи «давайте забацаем личный ЯП» вариант возникновения в проекте DSL мне видится преимущественно следующим образом:
— существует некий текстовый формат хранения данных, специфичный для проекта
— постепенно он обрастает сущностями, которые начинают вырождаться в аюстракции, на которые вешают уже какой-никакой парсер.
— появляется необходимость в условных конструкциях и вуаля, новый ЯП, который надо учить.
По крайней мере, я такой процесс наблюдал уже пару раз, и честно говоря на этапе возникновения необходимости добавления условий, у меня как пользователя уже возникала мысль «почему бы просто не использовать дефолтную систему сериализации ЯП разработки?»
вот пример одного из текущих проектов, движущегося в этом направлении
//--------------------------------------------------------------------------
//! g=«SampleModeling» n=«Trumpet»
Bank 19 2 USER SMBrass/Trumpet
//! c=legato-light i=legato o=art:100
1 ART 1 Norm
//! c=legato i=accented-quarter o=note-hold:36,100
2 ART 2 Accent
//! c=legato i=cresc-quarter o=note-hold:37,100
3 ART 3 Fast cresc
//! c=legato i=legato-bowed o=note-hold:38,100
4 ART 4 PB up
//! c=legato-dark i=legato-bowed2 o=note-hold:49,100
5 ART 5 detashed
//! c=legato-dark i=legato-fast o=note-hold:50,100
6 ART 6 semi-legato
//! c=legato-light i=legato-portamento o=note-hold:36,100/note-hold:48,100
7 ART 7 chromatic
//! c=legato-light i=legato o=note-hold:37,100/note-hold:48,100
8 ART 8 mixed
//! c=legato-light i=legato-gliss o=note-hold:38,100/note-hold:48,100
9 ART 9 gliss1
//! c=legato-light i=legato-portamento o=note-hold:39,100/note-hold:48,100
10 ART 10 arabic
//! c=legato-light i=legato-portamento o=note-hold:40,100/note-hold:48,100
11 ART 11 pentatonic
//! c=legato-light i=legato-gliss o=note-hold:41,100/note-hold:48,100
12 ART 12 gliss1
Вообще там уже потихоньку оформляется своя сокращенная if-нотация. Правда работает пока через одно место))
Знаете, я полностью топлю за полноценное структурированное образование, но ВУЗы к нему имеют очень опосредованное отношение :)
Я как-то поговорил с однокурсниками-композиторами, поспрашивал об их программе, сколько чем занимаются, и у меня волосы встали дыбом.
те вещи, практическое освоение которых хотя бы на уровне «хотя бы не нуб» требует 3-4 года пахоты, проходятся групповыми занятиями в 2 семестра. Ну о чем это? И это нормальные программы от минобрнауки. Не думаю, что в IT что-то кардинально отличается.
Другана из НГУ как-то хотел подключить к нашей команде быдлокодеров. Ну не зашел, потому что методички нет, и желания недельку маны покурить и в специфике проблем разобраться тоже нет.
Вот это мне нравится при обсуждении капитализма. Что в случае чего можно рассчитывать, что всё сопутствующее построит и сделает государство, после чего можно смело обличать людей, которые гребут в абстрактное общее благо, мешая капиталистам зарабатывать бабло.
Я ребенок и многодетной семьи. Лет пять назад один зажиточный капиталист (по совместительству саентолог, кажется), купил кусок земли под строительство коттеджного поселка. Но, поскольку кусок был маловат для аманухи потенциальных жителей развитой инфраструктурой, он еще лвожился в государственный мертворожденный проект по выдаче земли многодетным. Таким образом, гос-тво выдавало землю, а он прилично так субсидировал строительство. В итоге получалось, что его «коммерческий» кусок через дорогу от многодетного, а между ними еще подбит был народ на постройку нескольких многоквартирников, и, какследствие, школы и садика.
И все бы работало. Только незадача, умер. Кто успел построиться – живет сейчас в 30км от черты города со скважиной, обслуга которой намечалась на два поселка, школы, садика нет, дороги, кстати, которая могла быб ыть проложена – нет. Единственное, что сделало гос-тво для инфраструктуры – пустило два автобуса, рейсовый продлила на 5км и школьный до ближайшего населенного пункта. А кто не успел построиться – сидит и не знает, что делать, ибо даже при полной заполненности многодетного куска – содержание его дело накладное.
Зато государство белое и пушистое, раздали землю народу.
UX гуглодиска вообще надо весь слить. Ужасный сайт, а еще и яндекс за ним редизайнится…
Вообще я последнее время не могу гуглом пользоваться, потому что непонятно, для кого придуман интерфейс. Вроде ж должен быть для пользователя (меня), а чтобы добраться до своих документов и видосов (YouTube), надо пройти через 5-6 окон (изменить вид страницы «обзор» и иже с ним). И с каждым годом все хуже и хуже. Facebook без боли вообще не открыть, вк стал куда более неудобным и неинтуитивным. Лажа, короче.
Таким образом в нормальном мире — проектный менеджер будет готов лет после 15 обучения и некоторой практики :)
Ну, судя по всему, да. Такая же Байда с преподаванием, можно сколь угодно хорошо знать свой предмет, но без психологии, нормальной, от общей, до социальной, теории способностей и прочей полезной фигни, вкупе с методикой, хорошо сформулированной, по конкретному предмету, а не из разряда «делай так», только обдирать нерадивых клиентов получится, или просиживать штаны с неблагодарными тварями в универе)
А это мин. 15 лет + 2-5 лет на конкретную скилловую нишу в области своей проф компетентности. Зря, что ли на хабре столько статей за бездарный менеджмент?
кстати, очень хороший пример.
Некоторые баги мы сами находим, спустя пару месяцев после релиза. Баги достаточно заметные, а комьюнити достаточно активное в обратной связи. А это наводит на мысль, что конкретная фича была разработана просто так)
А полученный опыт? Если работа потребовала целый день (а не 5 минут), то наверное она достаточно сложна, чтобы сама по себе вызывала удовольствие.
Сложная != объемна :)
Я раз в два месяца выхожу на сцену с новой сольной фортепианной программой: Это работа сложная. Или неделю назад сел писать autodoc для маленького, но храброго языка. Может не такая сложная, но со своими задачами, где есть над чем голову поломать.
А на работе работа объемная… тут либо выгорать, либо менять работу, я решил, что выгорать вредно)
Согласен, более чистые способы есть, см. коммент выше
Если честно, ситуацию по emacs Lisp прокомментировать не могу, т.к. ни разу его (emacs) даже не открывал.
По мне – есть пара пограничных случаев, когда создание DSL оправдало ожидания, хотя это, скорее, исключение из правил. Допустим wiki-разметка. Выстрелили как синтаксис, и как проект.
Но в целом, за исключением идеи «давайте забацаем личный ЯП» вариант возникновения в проекте DSL мне видится преимущественно следующим образом:
— существует некий текстовый формат хранения данных, специфичный для проекта
— постепенно он обрастает сущностями, которые начинают вырождаться в аюстракции, на которые вешают уже какой-никакой парсер.
— появляется необходимость в условных конструкциях и вуаля, новый ЯП, который надо учить.
По крайней мере, я такой процесс наблюдал уже пару раз, и честно говоря на этапе возникновения необходимости добавления условий, у меня как пользователя уже возникала мысль «почему бы просто не использовать дефолтную систему сериализации ЯП разработки?»
//! g=«SampleModeling» n=«Trumpet»
Bank 19 2 USER SMBrass/Trumpet
//! c=legato-light i=legato o=art:100
1 ART 1 Norm
//! c=legato i=accented-quarter o=note-hold:36,100
2 ART 2 Accent
//! c=legato i=cresc-quarter o=note-hold:37,100
3 ART 3 Fast cresc
//! c=legato i=legato-bowed o=note-hold:38,100
4 ART 4 PB up
//! c=legato-dark i=legato-bowed2 o=note-hold:49,100
5 ART 5 detashed
//! c=legato-dark i=legato-fast o=note-hold:50,100
6 ART 6 semi-legato
//! c=legato-light i=legato-portamento o=note-hold:36,100/note-hold:48,100
7 ART 7 chromatic
//! c=legato-light i=legato o=note-hold:37,100/note-hold:48,100
8 ART 8 mixed
//! c=legato-light i=legato-gliss o=note-hold:38,100/note-hold:48,100
9 ART 9 gliss1
//! c=legato-light i=legato-portamento o=note-hold:39,100/note-hold:48,100
10 ART 10 arabic
//! c=legato-light i=legato-portamento o=note-hold:40,100/note-hold:48,100
11 ART 11 pentatonic
//! c=legato-light i=legato-gliss o=note-hold:41,100/note-hold:48,100
12 ART 12 gliss1
Вообще там уже потихоньку оформляется своя сокращенная if-нотация. Правда работает пока через одно место))
Я как-то поговорил с однокурсниками-композиторами, поспрашивал об их программе, сколько чем занимаются, и у меня волосы встали дыбом.
те вещи, практическое освоение которых хотя бы на уровне «хотя бы не нуб» требует 3-4 года пахоты, проходятся групповыми занятиями в 2 семестра. Ну о чем это? И это нормальные программы от минобрнауки. Не думаю, что в IT что-то кардинально отличается.
Другана из НГУ как-то хотел подключить к нашей команде быдлокодеров. Ну не зашел, потому что методички нет, и желания недельку маны покурить и в специфике проблем разобраться тоже нет.
Я ребенок и многодетной семьи. Лет пять назад один зажиточный капиталист (по совместительству саентолог, кажется), купил кусок земли под строительство коттеджного поселка. Но, поскольку кусок был маловат для аманухи потенциальных жителей развитой инфраструктурой, он еще лвожился в государственный мертворожденный проект по выдаче земли многодетным. Таким образом, гос-тво выдавало землю, а он прилично так субсидировал строительство. В итоге получалось, что его «коммерческий» кусок через дорогу от многодетного, а между ними еще подбит был народ на постройку нескольких многоквартирников, и, какследствие, школы и садика.
И все бы работало. Только незадача, умер. Кто успел построиться – живет сейчас в 30км от черты города со скважиной, обслуга которой намечалась на два поселка, школы, садика нет, дороги, кстати, которая могла быб ыть проложена – нет. Единственное, что сделало гос-тво для инфраструктуры – пустило два автобуса, рейсовый продлила на 5км и школьный до ближайшего населенного пункта. А кто не успел построиться – сидит и не знает, что делать, ибо даже при полной заполненности многодетного куска – содержание его дело накладное.
Зато государство белое и пушистое, раздали землю народу.
Вообще я последнее время не могу гуглом пользоваться, потому что непонятно, для кого придуман интерфейс. Вроде ж должен быть для пользователя (меня), а чтобы добраться до своих документов и видосов (YouTube), надо пройти через 5-6 окон (изменить вид страницы «обзор» и иже с ним). И с каждым годом все хуже и хуже. Facebook без боли вообще не открыть, вк стал куда более неудобным и неинтуитивным. Лажа, короче.
Ну, судя по всему, да. Такая же Байда с преподаванием, можно сколь угодно хорошо знать свой предмет, но без психологии, нормальной, от общей, до социальной, теории способностей и прочей полезной фигни, вкупе с методикой, хорошо сформулированной, по конкретному предмету, а не из разряда «делай так», только обдирать нерадивых клиентов получится, или просиживать штаны с неблагодарными тварями в универе)
А это мин. 15 лет + 2-5 лет на конкретную скилловую нишу в области своей проф компетентности. Зря, что ли на хабре столько статей за бездарный менеджмент?
Некоторые баги мы сами находим, спустя пару месяцев после релиза. Баги достаточно заметные, а комьюнити достаточно активное в обратной связи. А это наводит на мысль, что конкретная фича была разработана просто так)
Сложная != объемна :)
Я раз в два месяца выхожу на сцену с новой сольной фортепианной программой: Это работа сложная. Или неделю назад сел писать autodoc для маленького, но храброго языка. Может не такая сложная, но со своими задачами, где есть над чем голову поломать.
А на работе работа объемная… тут либо выгорать, либо менять работу, я решил, что выгорать вредно)
И вот эта бессмысленность и правда удручает.