Re[32]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.01.13 09:08
Оценка: :)
Здравствуйте, Ziaw, Вы писали:

Z>Предлагалось сравнить рефакторинг изменения синтаксиса в конкретном случае, когда оно действительно нужно.


Рефакторинг, это когда берешь и правишь один раз. А когда надо постоянно править, это уже нифига не рефакторинг.

Z> Оказалось, что в случае с библиотекой средств для автоматического тоже нет


Зато есть средства для полуавтоматического, в отличие от.
... << RSDN@Home 1.2.0 alpha 5 rev. 66 on Windows 8 6.2.9200.0>>
AVK Blog
Re[23]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Ziaw Россия  
Дата: 21.01.13 11:21
Оценка:
Здравствуйте, Tanker, Вы писали:

T>За счет чего проще ? Изоляция-переколбас-инлайн работает на раз с флюент интерфейсом. А вот непонятно, как это будет работать хотя бы с макросами Ну вот хотя бы изменение сигнатуры макроса, насколько легко это сделать, если скажем 10 разрабов колбасят код на старой версии макров денно и нощно ?


Смерджить к себе обновленную версию и пройтись по ошибкам компиляции — это стандартный алгоритм действий разраба в обоих случаях.
Re: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 23.01.13 22:46
Оценка: 36 (3) +3 -2 :)))
Здравствуйте, LaPerouse, Вы писали:

LP>В продолжение темы Языки общего назначения не имеют смысла
Автор: WolfHound
Дата: 07.04.12


LP>Wolf Hound утверждает, что разработка DSL для некоторой задачи и последующее ее решение на получившемся языке почти всегда более оправдано, нежели использование языка общего назначения.


Боюсь, если бы Wolf Hound столкнулся с решенной таким образом задачей, которая внезапно упала бы ему на поддержку (естественно, настоящим программистам DSLя было бы впадлу писать по своему дсл учебник — не быстро это как-то), и ему пришлось бы ее допиливать и развивать — Wolf Hound бы покрыл авторов такой оправданности нецензурными матюгами.

Но я уверен, при переписывании это не остановило бы его от оправданного создания собственного DSL. Под задачу. Без учебника — ибо настоящим программистам учебники по языку не нужны .
Re[2]: А при чем тут DSL? (в продолжении темы о языках общег
От: IT Россия linq2db.com
Дата: 28.01.13 17:55
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Боюсь, если бы Wolf Hound столкнулся с решенной таким образом задачей, которая внезапно упала бы ему на поддержку...


Резонно. Только всё равно не понятно, сколько же мы будем обсуждать преимущества и недостатки T4 vs post-compile time code generation, ломать моск об XAML, вместо использования нормального языка для разработки GUI, и использовать для ASP.NET MVC внешнюю приблуду вместо родного компилятора.
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 19.02.13 13:51
Оценка: +1
D>2. Понятность? Да куда там! Читать просто как текст — понятнее, но если приспичит исправить — сразу куча вопросов. Понятнее было бы тупо завернуть длинный список параметров в пару иерархий ParamObject, типа как-то так:

Если добавить условие, чтобы набор правил должен при компиляции оптимизироваться, или опять же сразу при комиляции транслироваться в c#/byte-код и т.д., то fluent-решение сразу станосится не удобным.

Fluent подход плох тем, что он выполняется в runtime-е. И отсюда сразу куча проблем:
— невозможно использовать сложные преобразования (пользователь устанет ждать),
— невозможно проверить правильность при компиляции,
— значительно удлиняется время старта программы (пока она пережует все fluent-ы)
и т.д.

Взять тот же Linq — это синтаксический сахар поверх fluent-оболочки. И такой подход здорово тормозит из-за fluent на больших запросах. На инициализацию запроса может уходить до 500мс, при этом перенести эту работу на уровень компиляции сильно проблематично именно из-за ограничений fluent-подхода.

Подход продвигаемый WH с этим как раз мог бы помочь. Перенос компиляции всех linq-запросов из runtime-а на уровень компиляции занял бы пару вечеров.
Re[2]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.02.13 02:09
Оценка: 8 (2)
Здравствуйте, Gaperton, Вы писали:

G>Боюсь, если бы Wolf Hound столкнулся с решенной таким образом задачей, которая внезапно упала бы ему на поддержку (естественно, настоящим программистам DSLя было бы впадлу писать по своему дсл учебник — не быстро это как-то), и ему пришлось бы ее допиливать и развивать — Wolf Hound бы покрыл авторов такой оправданности нецензурными матюгами.


Забавно, что похожая ситуация как раз случилась у нас не так давно. Код написанный Вольфхаундом с использованием паттерн-матчинга и какой-то матери ЯОН был переписан с использованием реализованного другими людьми ДСЛ-я.

Матюгов мы как-то не услышали, а на выкуривание в новые концепции (которые не хило изменились) у него ушло дня три.

Результат — теперь модификации синтаксиса Н2 стали занимать в разы меньше времени (часы вместо дней). Найти код отвечающий за синтаксис и семантику не составляет труда. Повысилась модульность и качество декомпозиции.

Так что практика твоих слов не подтверждает.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 23.02.13 17:42
Оценка: :)
Здравствуйте, VladD2, Вы писали:

G>>Боюсь, если бы Wolf Hound столкнулся с решенной таким образом задачей, которая внезапно упала бы ему на поддержку (естественно, настоящим программистам DSLя было бы впадлу писать по своему дсл учебник — не быстро это как-то), и ему пришлось бы ее допиливать и развивать — Wolf Hound бы покрыл авторов такой оправданности нецензурными матюгами.


VD>Забавно, что похожая ситуация как раз случилась у нас не так давно. Код написанный Вольфхаундом с использованием паттерн-матчинга и какой-то матери ЯОН был переписан с использованием реализованного другими людьми ДСЛ-я.


VD>Матюгов мы как-то не услышали...


Ситуация другая. Непохожая.

VD>Так что практика твоих слов не подтверждает.


Неправильно. Правильно так: у тебя нет практики, которая могла бы подтвердить и опровергнуть мои слова.
Re[4]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.02.13 22:47
Оценка: 1 (1) +1
Здравствуйте, Gaperton, Вы писали:

G>>>Боюсь, если бы Wolf Hound столкнулся с решенной таким образом задачей, которая внезапно упала бы ему на поддержку (естественно, настоящим программистам DSLя было бы впадлу писать по своему дсл учебник — не быстро это как-то), и ему пришлось бы ее допиливать и развивать — Wolf Hound бы покрыл авторов такой оправданности нецензурными матюгами.


VD>>...Матюгов мы как-то не услышали...


G>Ситуация другая. Непохожая.


На что не похожая? Ситуация 1 в 1. Документации тоже особо нет. С кодом он вынужден разбираться. Допиливать и развивать тоже придется.

VD>>Так что практика твоих слов не подтверждает.


G>Неправильно. Правильно так: у тебя нет практики, которая могла бы подтвердить и опровергнуть мои слова.


Вообще-то пример четко опровергает твои слова. Есть только одно "но". Возможно все зависит от качества ДСЛ-я и качества его реализации. Но тогда мы приходим к тому, что код на ДСЛ и обычный код имеют сходные свойства и вытекающие из него проблемы. Вопрос изучения ДСЛ-я ничем не отличается от вопрос изучения модели прикладной области и кода его описывающего.

И лично мне очевидно, что ДСЛ тут даст только облегчение, так как на его изучение тратится несоизмеримо меньше сил и времени чем на изучение реализации задачи описанной без ДСЛ-я.

Так что, если ДСЛ позволяет существенно сократить код или устранить некоторые (существенные) проблемы при его модификации/развитии, то ДСЛ несомненно полезен и выгоден.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 26.02.13 13:34
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Gaperton, Вы писали:


G>>>>Боюсь, если бы Wolf Hound столкнулся с решенной таким образом задачей, которая внезапно упала бы ему на поддержку (естественно, настоящим программистам DSLя было бы впадлу писать по своему дсл учебник — не быстро это как-то), и ему пришлось бы ее допиливать и развивать — Wolf Hound бы покрыл авторов такой оправданности нецензурными матюгами.


VD>>>...Матюгов мы как-то не услышали...

G>>Ситуация другая. Непохожая.
VD>На что не похожая? Ситуация 1 в 1. Документации тоже особо нет. С кодом он вынужден разбираться. Допиливать и развивать тоже придется.

Непохожая на ту, которую я привел. Никому на поддержку не валилась система с недокументированным метакодом, как это, например, произошло с Yahoo.Shops после покупки одного стартапа с веселым кодом на Common LISP, за авторством, кажется, Пола Грэхема.

VD>>>Так что практика твоих слов не подтверждает.


G>>Неправильно. Правильно так: у тебя нет практики, которая могла бы подтвердить и опровергнуть мои слова.


VD>Вообще-то пример четко опровергает твои слова.


Вообще-то пример никак не относится к моим словам. Посему ничего опровергать не может.
Re[6]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.02.13 19:21
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>>>>>Боюсь, если бы Wolf Hound столкнулся с решенной таким образом задачей, которая внезапно упала бы ему на поддержку (естественно, настоящим программистам DSLя было бы впадлу писать по своему дсл учебник — не быстро это как-то), и ему пришлось бы ее допиливать и развивать — Wolf Hound бы покрыл авторов такой оправданности нецензурными матюгами.


G>...Непохожая на ту, которую я привел. Никому на поддержку не валилась система с недокументированным метакодом, как это, например, произошло с Yahoo.Shops после покупки одного стартапа с веселым кодом на Common LISP, за авторством, кажется, Пола Грэхема.


Не надо передергивать. В Яху тупо решили избавиться от лиспа и переписать все на Труъ языке — С++. Результат той истории был провальным именно потому, что приняли глупое решение. А Грехем как раз создал вполне себе успешный проект. Там еще сам язык играет большую роль. Лисп есть лисп. Его не каждый читать может. Но это отдельная история. Если хочешь, создай отдельную тему — обсудим.

У Вольфханда же была та самая "проблема" что ты описал выше (первая цитата в этом сообщении). Ему вместо (вполне высокоуровневого) кода на ЯОН свалилась поддержка того же самого кода но на ДСЛ-е.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Tanker  
Дата: 27.02.13 08:14
Оценка:
Здравствуйте, VladD2, Вы писали:

G>>...Непохожая на ту, которую я привел. Никому на поддержку не валилась система с недокументированным метакодом, как это, например, произошло с Yahoo.Shops после покупки одного стартапа с веселым кодом на Common LISP, за авторством, кажется, Пола Грэхема.


VD>Не надо передергивать. В Яху тупо решили избавиться от лиспа и переписать все на Труъ языке — С++. Результат той истории был провальным именно потому, что приняли глупое решение.


А где в той истории провальный результат ? Яху купила бизнес и он взлетел. Это оно ? Или провал в отказе от лиспа ? В чем успех бизнеса мерить, в доходности или строчках кода на лиспе ?
The animals went in two by two, hurrah, hurrah...
Re[7]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Mamut Швеция http://dmitriid.com
Дата: 27.02.13 12:12
Оценка:
VD>Там еще сам язык играет большую роль. Лисп есть лисп. Его не каждый читать может. Но это отдельная история. Если хочешь, создай отдельную тему — обсудим.

все зависит от качества ДСЛ-я и качества его реализации. Но тогда мы приходим к тому, что код на ДСЛ и обычный код имеют сходные свойства и вытекающие из него проблемы. Вопрос изучения ДСЛ-я ничем не отличается от вопрос изучения модели прикладной области и кода его описывающего.




dmitriid.comGitHubLinkedIn
Re[8]: А при чем тут DSL? (в продолжении темы о языках общег
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.02.13 16:37
Оценка:
Здравствуйте, Tanker, Вы писали:

T>А где в той истории провальный результат ?


Проект сдох после переписывание на плюсы. Это успех что ли?

T>Яху купила бизнес и он взлетел.


Куда взлетел? Где он?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: А при чем тут DSL? (в продолжении темы о языках общег
От: Tanker  
Дата: 01.03.13 18:07
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Tanker, Вы писали:


T>>А где в той истории провальный результат ?


VD>Проект сдох после переписывание на плюсы. Это успех что ли?


Яху купила бизнес, а лисповый проект ей не нужен.

T>>Яху купила бизнес и он взлетел.

VD>Куда взлетел? Где он?

http://smallbusiness.yahoo.com/
The animals went in two by two, hurrah, hurrah...
Re[7]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 04.03.13 22:52
Оценка:
Здравствуйте, VladD2,

G>>...Непохожая на ту, которую я привел. Никому на поддержку не валилась система с недокументированным метакодом, как это, например, произошло с Yahoo.Shops после покупки одного стартапа с веселым кодом на Common LISP, за авторством, кажется, Пола Грэхема.


VD>Не надо передергивать. В Яху тупо решили избавиться от лиспа и переписать все на Труъ языке — С++. Результат той истории был провальным именно потому, что приняли глупое решение. А Грехем как раз создал вполне себе успешный проект. Там еще сам язык играет большую роль. Лисп есть лисп. Его не каждый читать может. Но это отдельная история. Если хочешь, создай отдельную тему — обсудим.


Ты, Влад, хочешь верить в то, что окружающие тебя непонятные люди — идиоты.

А они не идиоты. В системе Грехема было 40% метакода. Нанять в америке лисперов — два пальца об асфальт. В стартапе Грехема было двое, и оба уволились. Менеджер этого проекта — не идидот, он не более чем решал задачу методом наименьших усилий.


VD>У Вольфханда же была та самая "проблема" что ты описал выше (первая цитата в этом сообщении). Ему вместо (вполне высокоуровневого) кода на ЯОН свалилась поддержка того же самого кода но на ДСЛ-е.


Выше ты писал, что ему свалилась система на обычном языке, и он переписал ее на объясненном ему коллегами дсл. Разница.
Re[8]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 05.03.13 00:10
Оценка:
Здравствуйте, Mamut, Вы писали:

VD>>Там еще сам язык играет большую роль. Лисп есть лисп. Его не каждый читать может. Но это отдельная история. Если хочешь, создай отдельную тему — обсудим.


M>

M>все зависит от качества ДСЛ-я и качества его реализации. Но тогда мы приходим к тому, что код на ДСЛ и обычный код имеют сходные свойства и вытекающие из него проблемы. Вопрос изучения ДСЛ-я ничем не отличается от вопрос изучения модели прикладной области и кода его описывающего.


M>


Отличается. Ты знаешь правила чтения и синтаксис обычного кода. Это дохрена, если вдуматься. Ни одной строчке чужого дсл, ни одному слову ты доверять не можешь. Особо учитывая то, что в нем могут быть баги.
Re[9]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Gaperton http://gaperton.livejournal.com
Дата: 05.03.13 00:14
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Здравствуйте, Mamut, Вы писали:


VD>>>Там еще сам язык играет большую роль. Лисп есть лисп. Его не каждый читать может. Но это отдельная история. Если хочешь, создай отдельную тему — обсудим.


M>>

M>>все зависит от качества ДСЛ-я и качества его реализации. Но тогда мы приходим к тому, что код на ДСЛ и обычный код имеют сходные свойства и вытекающие из него проблемы. Вопрос изучения ДСЛ-я ничем не отличается от вопрос изучения модели прикладной области и кода его описывающего.


M>>


G>Отличается. Ты знаешь правила чтения и синтаксис обычного кода. Это дохрена, если вдуматься. Ни одной строчке чужого дсл, ни одному слову ты доверять не можешь. Особо учитывая то, что в нем могут быть баги.


А если принять во внимание легкое отношение к дсл местной аудитории — в нем будет просто дохрена багов и кривой семантики. Ты обладаешь ментальным сканированием? Ты можешь знать, что этому марсианину показалось логичным? Книг он на эту тему не писал — западло.
Re[8]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.03.13 17:26
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Ты, Влад, хочешь верить в то, что окружающие тебя непонятные люди — идиоты.


Давай лучше ты не будешь телепатией заниматься. У тебя не очень хорошо выходит.

G>А они не идиоты. В системе Грехема было 40% метакода. Нанять в америке лисперов — два пальца об асфальт. В стартапе Грехема было двое, и оба уволились. Менеджер этого проекта — не идидот, он не более чем решал задачу методом наименьших усилий.


Прав менеджер или не прав решает время. Судя по тому, что до решения переписать на С++ проект был успешным, а после переписывания сдох и определяет то, что менеджер был не прав. Вот если бы проект на Лиспе загибался, а на будучи переписанным на плюсы вдруг взлетел, то можно было бы твою трактовку обсудить. А так ты получается, что ты перевернул все с ног на голову.

VD>>У Вольфханда же была та самая "проблема" что ты описал выше (первая цитата в этом сообщении). Ему вместо (вполне высокоуровневого) кода на ЯОН свалилась поддержка того же самого кода но на ДСЛ-е.


G>Выше ты писал, что ему свалилась система на обычном языке, и он переписал ее на объясненном ему коллегами дсл. Разница.


Переписал не он, а я (и Хардейс). А он как раз был вынужден в этом коде (на ДСЛ-е) разбираться.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: Tanker  
Дата: 06.03.13 10:33
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Прав менеджер или не прав решает время. Судя по тому, что до решения переписать на С++ проект был успешным, а после переписывания сдох


Дай ка пруф, а то в яхе похоже не в курсе, что у них такой бизнес сдох.
The animals went in two by two, hurrah, hurrah...
Re[10]: А при чем тут DSL? (в продолжении темы о языках общего назначения)
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.03.13 12:48
Оценка: :)))
Здравствуйте, Tanker, Вы писали:

T>Дай ка пруф, а то в яхе похоже не в курсе, что у них такой бизнес сдох.


Я ссылки не прикаповал, а гуглить ты и сам можешь. Это одна из известных "историй успеха" которые Грэхэм описывал в своей книге (если не ошибаюсь, в этой).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.