Re[54]: Не понял
От: WolfHound  
Дата: 19.05.12 21:41
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Правильно. Почему я это процитировал? Потому что я не верю в то, что опыт одного человека является значимым

Так тут много человек об этом говорит.
Спорят только те кто ДСЛ не пробовал.

M>и что я не верю в то, что поддержка DSL'ей намного легче, чем подержка других решений. В доказательство своей точки зрения я привел ссылку и цитату.

Это цитата капитана очевидность вообще ничего не доказывает.
Ибо ровно то же самое относится и к другим подходам.
Они тоже требуют проектирования, реализации и поддержки.

Причем из-за того что не нужно заниматься натягиванием предметной области на примитивы языка реализации это все сильно упрощается.

M>Как из контекста разговора можно было сделать тот вывод, который сделал ты, известно только тебе, потому что никакому логическому объяснению это не поддается.

Так ты эе тут пытаешься доказать ущербность ДСЛ.

M>Вау. Ты заговорил человеческим языком. Понадобилось всего лишь четыре сообщения фантазий.

А ты разве понимаешь по-человечески?
Вот и сейчас вижу, что не понял.

M>По теме: проблема поддержки не заключается же только в поддержке кода, написанного на DSL. Это и развитие/расширение, это инструментирование, это документация, это интеграция с существующей системой. Даже если у нас внезапно нарисуется идеальный мир, где все создается DSL'ями, возникаеют вопросы их взаимодействия — API, форматы данных, изменения в этих API и форматах данных. В существующих ныне системах с DSL'ями тот же вопрос — взаимодействие с системой, форматы данных, API и т.п. Это ведь тоже надо поддерживать и это не достигается автоматически

Оно получается не автоматически, но намного проще.
Просто по тому, что поменять генератор намного проще, чем переписать весь код.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[57]: Языки общего назначения не имеют смысла!
От: vdimas Россия  
Дата: 20.05.12 01:22
Оценка:
Здравствуйте, WolfHound, Вы писали:


V>>Не смотрел, потому и не видел.

WH>Смотрел. Все ужасны.

Плохо смотрел, они точно так же иерархичны, как адекватное ПО.


V>>А как же железки разрабатывают? Ты утонешь уже в сотнях элементов на одном уровне, а их сейчас на многие тысячи и даже миллионы в процах.

WH>Verilog, VHDL,...

Дудки, это только 30% работы или меньше, остальные все равно в графике. Текст хорош исключительно для copy&paste и прочего быстрого размножения похожих частей, или для глобального поиска/земены, собсно, для таких работ в него и переключаются. А так в нем работать невозможно, ты на экране максимум пару десятков строчек кода увидишь, а это катастрофически мало. Поэтому все эти редакторы Verilog на самом деле графические.
Re[33]: Языки общего назначения не имеют смысла!
От: Sinclair Россия https://github.com/evilguest/
Дата: 20.05.12 03:55
Оценка:
Здравствуйте, vdimas, Вы писали:

V>А ему и не надо. Нам были нужны произвольные внешние библиотеки, чтобы из безопасного DSL сделать опасный язык общего назначения. С++ — это как раз тот язык, на котором эти опасные DLL общего назначения можно писать, т.е. ему для этого не нужны дополнительные ср-ва.

Непонятно, каким образом вы напишете эти опасные DLL, с учётом того, что в языке, на котором вы их пишете, нет никаких опасных возможностей (ну, кроме прямого обращения к произвольному адресу в памяти).
Непонятно, каким образом вы их заимпортируете, с учётом отсутствия в языке встроенных средств для этого. На всякий случай напомню, что в самом языке С++ ничего про DLL нету. И он прекрасно работал задолго до того, как DLL вообще появились в природе.
V>Могу 100-й раз напомнить про CRT. С этого CRT взлетает весь современный нейтив, большего и не надо.
А я в ответ напомню, что CRT не написан на C++. Он написан на "чём-то ещё", что доступно в языке благодаря "магии компилятора".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[55]: Не понял
От: Mamut Швеция http://dmitriid.com
Дата: 20.05.12 09:43
Оценка:
M>>Как из контекста разговора можно было сделать тот вывод, который сделал ты, известно только тебе, потому что никакому логическому объяснению это не поддается.
WH>Так ты эе тут пытаешься доказать ущербность ДСЛ.

Ты бы эта, проверился у специалистов, а то ты в каждом врагов видишь. Я всего лишь пытаюсь найти основание для твоих невероятно общих заявлений. Вместо того, чтобы это понять, ты начинаешь бурно фантазировать на какие-то темы, которые из моих слов не следуют вообще никак. Внезапно я уже ущербность DSL'ей пытаюсь доказать, о как

M>>По теме: проблема поддержки не заключается же только в поддержке кода, написанного на DSL. Это и развитие/расширение, это инструментирование, это документация, это интеграция с существующей системой. Даже если у нас внезапно нарисуется идеальный мир, где все создается DSL'ями, возникаеют вопросы их взаимодействия — API, форматы данных, изменения в этих API и форматах данных. В существующих ныне системах с DSL'ями тот же вопрос — взаимодействие с системой, форматы данных, API и т.п. Это ведь тоже надо поддерживать и это не достигается автоматически

WH>Оно получается не автоматически, но намного проще.
WH>Просто по тому, что поменять генератор намного проще, чем переписать весь код.

Ну да, ну да. Замена генератора — это не переписывание кода, ну вообще никак, ага (если ты только не используешь поменять в значении «изменить»).


dmitriid.comGitHubLinkedIn
Re[56]: Не понял
От: WolfHound  
Дата: 20.05.12 11:04
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Ну да, ну да. Замена генератора — это не переписывание кода, ну вообще никак, ага (если ты только не используешь поменять в значении «изменить»).

Ну да. Всего пару порядков меньше работы. Фигня, а не преимущество.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[57]: Не понял
От: Mamut Швеция http://dmitriid.com
Дата: 20.05.12 11:27
Оценка:
M>>Ну да, ну да. Замена генератора — это не переписывание кода, ну вообще никак, ага (если ты только не используешь поменять в значении «изменить»).
WH>Ну да. Всего пару порядков меньше работы. Фигня, а не преимущество.

Откуда взялось это «пару порядков»? Ах, да. «Из опыта». Я так предполагаю, ты опять говоришь о сферовакуумных DSL'ях написанных на сферовакуумных инструментах.

Я, заметь, не спорю, что изменить/расширить DSL вполне может быть легче, и намного, чем изменить/расширить существующую систему. Что, правда, подразумевает, что этот самый DSL грамотно спроектирован и вообще поддается этому самому расширению/изменению.

Вопрос о дальнейшей поддержке самого DSL'я (а не только кода, на нем написанного) все еще остается открытым.


dmitriid.comGitHubLinkedIn
Re[58]: Не понял
От: WolfHound  
Дата: 20.05.12 12:21
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Откуда взялось это «пару порядков»? Ах, да. «Из опыта». Я так предполагаю, ты опять говоришь о сферовакуумных DSL'ях написанных на сферовакуумных инструментах.

Из объема кода, который генерируется.
И этого кода может быть в десятки и сотни, раз больше чем занимает ДСЛ + код на ДСЛ.

M>Вопрос о дальнейшей поддержке самого DSL'я (а не только кода, на нем написанного) все еще остается открытым.

Ты вообще читаешь, что тебе пишут?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[59]: Какие порядки?!
От: Wolverrum Ниоткуда  
Дата: 20.05.12 13:27
Оценка:
Здравствуйте, WolfHound, Вы писали:

M>>Ну да, ну да. Замена генератора — это не переписывание кода, ну вообще никак, ага (если ты только не используешь поменять в значении «изменить»).

WH>Ну да. Всего пару порядков меньше работы. Фигня, а не преимущество.
M>>Откуда взялось это «пару порядков»?
WH>Из объема кода, который генерируется.
WH>И этого кода может быть в десятки и сотни, раз больше чем занимает ДСЛ + код на ДСЛ.

Имхо, что-то с методикой подсчета и сравнения не то. Я бы не додумался сравнивать объем C# кода, который генерит скрипт Ruby, с объемом кода этого скрипта, и уж тем более сравнивать стоимость внесения изменений в скрипт и в созданный скриптом код . Это ж вроде как две параллельные несравнимые сущности.

Сравнивать надо сравнимое. По-моему, вполне уместно сравнивать ДСЛ с другим ДСЛ или, скажем, длины входа различных ДСЛ (например, ini-файлы с xml-файлами)
Re[60]: Какие порядки?!
От: WolfHound  
Дата: 20.05.12 14:54
Оценка:
Здравствуйте, Wolverrum, Вы писали:

W>Имхо, что-то с методикой подсчета и сравнения не то.

С ней все нормально.

W>Я бы не додумался сравнивать объем C# кода, который генерит скрипт Ruby, с объемом кода этого скрипта, и уж тем более сравнивать стоимость внесения изменений в скрипт и в созданный скриптом код . Это ж вроде как две параллельные несравнимые сущности.

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

W>Сравнивать надо сравнимое. По-моему, вполне уместно сравнивать ДСЛ с другим ДСЛ или, скажем, длины входа различных ДСЛ (например, ini-файлы с xml-файлами)

Вот я и сравниваю язык с языком.
И на одном языке кода получается намного больше чем на другом.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[59]: Не понял
От: Mamut Швеция http://dmitriid.com
Дата: 21.05.12 07:34
Оценка:
M>>Откуда взялось это «пару порядков»? Ах, да. «Из опыта». Я так предполагаю, ты опять говоришь о сферовакуумных DSL'ях написанных на сферовакуумных инструментах.
WH>Из объема кода, который генерируется.
WH>И этого кода может быть в десятки и сотни, раз больше чем занимает ДСЛ + код на ДСЛ.

Ты опять говоришь только про код.

M>>Вопрос о дальнейшей поддержке самого DSL'я (а не только кода, на нем написанного) все еще остается открытым.

WH>Ты вообще читаешь, что тебе пишут?

В отличие от тебя, читаю. Ты упорно гнешь только линию про код,и только про код.

Ладно. Замнем. Разговор с тобой — пустая трата времени. Ты слушаешь только звук собственного голоса и отвечаешь только на то, что ты предпочитаешь видеть.


dmitriid.comGitHubLinkedIn
Re[60]: Не понял
От: WolfHound  
Дата: 21.05.12 08:07
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Ты опять говоришь только про код.

А про что еще можно говорить?

M>В отличие от тебя, читаю. Ты упорно гнешь только линию про код,и только про код.

Ну что поделать, если программы состоят из кода чуть менее чем полностью?

M>Ладно. Замнем. Разговор с тобой — пустая трата времени. Ты слушаешь только звук собственного голоса и отвечаешь только на то, что ты предпочитаешь видеть.

Очередной слив засчитан.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[61]: Не понял
От: Mamut Швеция http://dmitriid.com
Дата: 21.05.12 08:10
Оценка:
M>>Ты опять говоришь только про код.
WH>А про что еще можно говорить?

По теме: проблема поддержки не заключается же только в поддержке кода, написанного на DSL. Это и развитие/расширение, это инструментирование, это документация, это интеграция с существующей системой. Даже если у нас внезапно нарисуется идеальный мир, где все создается DSL'ями, возникаеют вопросы их взаимодействия — API, форматы данных, изменения в этих API и форматах данных. В существующих ныне системах с DSL'ями тот же вопрос — взаимодействие с системой, форматы данных, API и т.п. Это ведь тоже надо поддерживать и это не достигается автоматически


Но да, но да. Говорить надо только и исключительно про код, а как же еще. Ведь все остальное за нас сделают феи и гномы.

И этот человек еще мне засчитывает какие-то сливы


dmitriid.comGitHubLinkedIn
Re[58]: Языки общего назначения не имеют смысла!
От: SleepyDrago Украина  
Дата: 21.05.12 08:59
Оценка: 5 (1)
Здравствуйте, vdimas, Вы писали:

...
V>Дудки, это только 30% работы или меньше, остальные все равно в графике. Текст хорош исключительно для copy&paste и прочего быстрого размножения похожих частей, или для глобального поиска/земены, собсно, для таких работ в него и переключаются. А так в нем работать невозможно, ты на экране максимум пару десятков строчек кода увидишь, а это катастрофически мало. Поэтому все эти редакторы Verilog на самом деле графические.

могу констатировать полную победу текста на цифровых схемах. Аналоговые блоки описываются в текст и вставляются как черные ящики. за счет этого геометрии и шины и тп все генерируется исходя из текстовых моделей. В графику переключаются считанные люди которым надо править нетривиальную аналоговую часть.
Re[62]: Не понял
От: WolfHound  
Дата: 21.05.12 10:33
Оценка:
Здравствуйте, Mamut, Вы писали:

M>

M>По теме: проблема поддержки не заключается же только в поддержке кода, написанного на DSL. Это и развитие/расширение, это инструментирование, это документация, это интеграция с существующей системой. Даже если у нас внезапно нарисуется идеальный мир, где все создается DSL'ями, возникаеют вопросы их взаимодействия — API, форматы данных, изменения в этих API и форматах данных. В существующих ныне системах с DSL'ями тот же вопрос — взаимодействие с системой, форматы данных, API и т.п. Это ведь тоже надо поддерживать и это не достигается автоматически


M>Но да, но да. Говорить надо только и исключительно про код, а как же еще. Ведь все остальное за нас сделают феи и гномы.

Все это относится и к работе с обычными языками.
Но работы будет в 10-100 раз больше.

При этом если понадобится портировать на другую платформу. Например с жабы на С++ тебе придется переписать все.
Мне только бекенд. А это небольшая часть кода.

M>И этот человек еще мне засчитывает какие-то сливы

Конечно. Сказать то тебе нечего.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[63]: Не понял
От: Mamut Швеция http://dmitriid.com
Дата: 21.05.12 10:42
Оценка:
M>>

M>>По теме: проблема поддержки не заключается же только в поддержке кода, написанного на DSL. Это и развитие/расширение, это инструментирование, это документация, это интеграция с существующей системой. Даже если у нас внезапно нарисуется идеальный мир, где все создается DSL'ями, возникаеют вопросы их взаимодействия — API, форматы данных, изменения в этих API и форматах данных. В существующих ныне системах с DSL'ями тот же вопрос — взаимодействие с системой, форматы данных, API и т.п. Это ведь тоже надо поддерживать и это не достигается автоматически


M>>Но да, но да. Говорить надо только и исключительно про код, а как же еще. Ведь все остальное за нас сделают феи и гномы.

WH>Все это относится и к работе с обычными языками.
WH>Но работы будет в 10-100 раз больше.

Откда ты берешь эту цифру? [1]

И, учитывая, что, например, инструментарий для DSL'ей отсутсвует, как класс, то работы будет совсем-совсем мало, ага ага. Нет, можно обойтись без инструментария, но тогда возникнет вопрос с покрытием всего нагенеренного кода тестами. Любое изменение/расширение DSL'я невозможно будет отловить кроме как полным тестированием всего и вся. И этих усилий явно не будет не в 10-100 раз меньше.

WH>При этом если понадобится портировать на другую платформу. Например с жабы на С++ тебе придется переписать все.

WH>Мне только бекенд. А это небольшая часть кода.

Кто будет гарантировать правильность генерируемого кода? Пушкин?


[1] У меня перед глазами два DSL'я. Один соответсвует твоим критериям, один — нет. В частности, поэтому твои пафосные и ничем не подтверждаемые высказывания оставь неофитам. Казалось бы, «Философия» не «(К)СВ» и тут принято приводить больше доводов, чем «я так сказал, падите ниц».


dmitriid.comGitHubLinkedIn
Re[64]: Не понял
От: WolfHound  
Дата: 21.05.12 11:11
Оценка: :)
Здравствуйте, Mamut, Вы писали:

WH>>Все это относится и к работе с обычными языками.

WH>>Но работы будет в 10-100 раз больше.
M>Откда ты берешь эту цифру? [1]
Из того во что разворачиваются мои ДСЛ.

M>И, учитывая, что, например, инструментарий для DSL'ей отсутсвует, как класс, то работы будет совсем-совсем мало, ага ага.

Какой инструментарий тебе нужен?

M>Нет, можно обойтись без инструментария, но тогда возникнет вопрос с покрытием всего нагенеренного кода тестами.

Ты так говоришь, как будто написанный руками код покрывать тестами не нужно.
Я тебе больше скажу весь генерируемый код тестами покрывать и не надо.
Ошибки в генераторе кода ловятся на раз-два. После чего весь генерируемый код будет всегда правильный.
Чего не скажешь про рукописный. Ибо человек может в любой момент ошибиться, а компилятор железный.

M>Любое изменение/расширение DSL'я невозможно будет отловить кроме как полным тестированием всего и вся. И этих усилий явно не будет не в 10-100 раз меньше.

Глупости.

M>Кто будет гарантировать правильность генерируемого кода? Пушкин?

Кто будет гарантировать правильность написанного руками кода? Пушкин?

M>[1] У меня перед глазами два DSL'я. Один соответсвует твоим критериям, один — нет.

И что это за ДСЛи такие?

M>В частности, поэтому твои пафосные и ничем не подтверждаемые высказывания оставь неофитам. Казалось бы, «Философия» не «(К)СВ» и тут принято приводить больше доводов, чем «я так сказал, падите ниц».

Этим ты у нас занимаешься.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[65]: Не понял
От: Mamut Швеция http://dmitriid.com
Дата: 21.05.12 12:15
Оценка:
WH>>>Все это относится и к работе с обычными языками.
WH>>>Но работы будет в 10-100 раз больше.
M>>Откда ты берешь эту цифру? [1]
WH>Из того во что разворачиваются мои ДСЛ.

В случае, если разница в 10 раз, нас мало интересует, во что он там разворачивается. Boilerplate-код можно выносить в библиотеки и т.п. В случае, если разница — в 100 раз, уже можно думать, что да, это было бы сложнее писать/поддерживать. Что опять же выливается в дикое количество параметров — от архитектуры системы до архитектуры DSL'я и т.п. Но да, но да, надо обязательно побить себя пяткой в грудь с максимально громкими, ничем не подтвержденными заявлениями.

M>>И, учитывая, что, например, инструментарий для DSL'ей отсутсвует, как класс, то работы будет совсем-совсем мало, ага ага.

WH>Какой инструментарий тебе нужен?

От дебаггеров и подсветки синтаксиса до отладочной печати и логгирования.

M>>Нет, можно обойтись без инструментария, но тогда возникнет вопрос с покрытием всего нагенеренного кода тестами.

WH>Ты так говоришь, как будто написанный руками код покрывать тестами не нужно.

Нужно, а DSL'ный не нужно?

WH>Я тебе больше скажу весь генерируемый код тестами покрывать и не надо.

WH>Ошибки в генераторе кода ловятся на раз-два. После чего весь генерируемый код будет всегда правильный.
WH>Чего не скажешь про рукописный. Ибо человек может в любой момент ошибиться, а компилятор железный.

Ну да, люди никогда не смогут ошибиться в написании компилятора, ты что.

M>>Любое изменение/расширение DSL'я невозможно будет отловить кроме как полным тестированием всего и вся. И этих усилий явно не будет не в 10-100 раз меньше.

WH>Глупости.

О да. Безусловно. Дай ка я воспользуюсь твоим приемом: ты заявляешь, что DSL тестировать не надо. Что за бред?

M>>Кто будет гарантировать правильность генерируемого кода? Пушкин?

WH>Кто будет гарантировать правильность написанного руками кода? Пушкин?

Угу. емнип, не в первый раз я задаю тебе этот вопрос, и все так же ты уходишь от ответа.


M>>[1] У меня перед глазами два DSL'я. Один соответсвует твоим критериям, один — нет.

WH>И что это за ДСЛи такие?

Один — декларативное описание правил оценки рисков, второй — описание контрактов между службами (какие данные входят, какие выходят, и откуда эти данные берутся).

Первый — «железный компилятор», который легко поддерживать только потому, что есть люди, которые знают, как он работает, и результирующий код полностью покрыт тестами.
Второй — трэш угар и содомия, который пытаются поменять уже вторую неделю.

Дададада. В этом месте ты начинаешь вещать про криворуких уродов, которые пользуются не теми инструментами. Предсказуемо и неинтересно. Я не живу в сферовакуумном мире.


M>>В частности, поэтому твои пафосные и ничем не подтверждаемые высказывания оставь неофитам. Казалось бы, «Философия» не «(К)СВ» и тут принято приводить больше доводов, чем «я так сказал, падите ниц».

WH>Этим ты у нас занимаешься.

Я, как минмиум, ищу подтверждения своим словам и заявлениям. Можешь перечитать эту подветку. На любой мой вопрос у тебя ровно три варианта ответа:
— я так сказал
— а в другом случае не так?
— борьба с какими-то идеями, которые я никогда не высказывал

Ни на один прямо поставленный вопросы ты ни разу не ответил хотя бы с минимальным подтверждением своих слов.


dmitriid.comGitHubLinkedIn
Re[66]: Не понял
От: WolfHound  
Дата: 21.05.12 13:22
Оценка:
Здравствуйте, Mamut, Вы писали:

M>В случае, если разница в 10 раз, нас мало интересует, во что он там разворачивается.

Разница на порядок ерунда.
Подумаешь, проект будут делать 10-100 человеколет, а не один.
Фигня какая.

M> Boilerplate-код можно выносить в библиотеки и т.п.

В 10-100 раз с учетом вынесения в библиотеки.
И это факт.

M>В случае, если разница — в 100 раз, уже можно думать, что да, это было бы сложнее писать/поддерживать. Что опять же выливается в дикое количество параметров — от архитектуры системы до архитектуры DSL'я и т.п. Но да, но да, надо обязательно побить себя пяткой в грудь с максимально громкими, ничем не подтвержденными заявлениями.

Подтверждений полно.
Только ты их игнорируешь.

M>От дебаггеров и подсветки синтаксиса

Генерируется автоматически.

M>до отладочной печати и логгирования.

Это делается в несколько строк кода.
И после таких заявлений ты хочешь, чтобы я тебя воспринимал в серьез?

WH>>Ты так говоришь, как будто написанный руками код покрывать тестами не нужно.

M>Нужно, а DSL'ный не нужно?
Нужно. Но так как его в 10-100 раз меньше то и тестировать его нужно в 10-100 раз меньше.
А если учесть то что нормальные люди делают кучу проверок при компиляции ДСЛ то и того меньше.
Хотя фанат динамической типизации это всё равно не поймет.

M>Ну да, люди никогда не смогут ошибиться в написании компилятора, ты что.

Мест для ошибок в 10-100 раз меньше.
И каждая ошибка проявляется сразу по всему коду, а не в одном месте которое вызывается раз в год.
Так что мало того что ошибок будет в 10-100 раз меньше. Но их еще и поймать проще.

M>Угу. емнип, не в первый раз я задаю тебе этот вопрос, и все так же ты уходишь от ответа.

Я на него уже отвечал. И в этом сообщении еще раз ответил. Смотри выше.

M>Дададада. В этом месте ты начинаешь вещать про криворуких уродов, которые пользуются не теми инструментами. Предсказуемо и неинтересно. Я не живу в сферовакуумном мире.

И ты мне тут на полном серьезе хочешь заявить что авторы второго ДСЛ без ДСЛ сделали бы конфетку?
Я тебя правильно понял?

M>Я, как минмиум, ищу подтверждения своим словам и заявлениям.

Ни разу.

M>Ни на один прямо поставленный вопросы ты ни разу не ответил хотя бы с минимальным подтверждением своих слов.

Какие тебе нужны подтверждения?
Показать тебе сколько кода генерируется из нескольких строк ДСЛ?
Или что?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[67]: Не понял
От: Mamut Швеция http://dmitriid.com
Дата: 21.05.12 13:51
Оценка:
M>>В случае, если разница в 10 раз, нас мало интересует, во что он там разворачивается.
WH>Разница на порядок ерунда.
WH>Подумаешь, проект будут делать 10-100 человеколет, а не один.
WH>Фигня какая.

А, ну да. Мы уже ВНЕЗАПНО весь проект DSL'ями заменили, ага-ага.

M>> Boilerplate-код можно выносить в библиотеки и т.п.

WH>В 10-100 раз с учетом вынесения в библиотеки.
WH>И это факт.

Ога. Может, ты дашь хоть одну ссылку на подтверждение этого «факта»?


M>>В случае, если разница — в 100 раз, уже можно думать, что да, это было бы сложнее писать/поддерживать. Что опять же выливается в дикое количество параметров — от архитектуры системы до архитектуры DSL'я и т.п. Но да, но да, надо обязательно побить себя пяткой в грудь с максимально громкими, ничем не подтвержденными заявлениями.

WH>Подтверждений полно.
WH>Только ты их игнорируешь.

Ссылку или цитату хоть на одно. Напомню, что 8 сообщений тому назад
Автор: Mamut
Дата: 19.05.12
я просил ссылки. Как не было, так и нет. И не предвидится.

M>>От дебаггеров и подсветки синтаксиса

WH>Генерируется автоматически.

Что генерируется автоматически? Подсветка синтаксиса и дебаггинг для DSL'я? Ну ну. Это в какой такой сферовакуумной вселенной так происходит?

M>>до отладочной печати и логгирования.

WH>Это делается в несколько строк кода.

ВОт из такиз мелочей и складывается дальнейшая поддержка, развитие и т.п. А то тут что-то забыли, там что-то забыли, тут пришлось дописать, там пришлось дописать. Но у нас же DSL!!!одинодин.


WH>>>Ты так говоришь, как будто написанный руками код покрывать тестами не нужно.

M>>Нужно, а DSL'ный не нужно?
WH>Нужно. Но так как его в 10-100 раз меньше то и тестировать его нужно в 10-100 раз меньше.

Да ты что? То, что он разворачивается — как ты там говоришь? — в 10-100 раз больше кода, то ни строчки этого кода тестировать не надо?

WH>А если учесть то что нормальные люди делают кучу проверок при компиляции ДСЛ то и того меньше.


А, ну что я говорил. «Нормальные люди» и т.п.

WH>Хотя фанат динамической типизации это всё равно не поймет.


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

M>>Ну да, люди никогда не смогут ошибиться в написании компилятора, ты что.

WH>Мест для ошибок в 10-100 раз меньше.
WH>И каждая ошибка проявляется сразу по всему коду, а не в одном месте которое вызывается раз в год.
WH>Так что мало того что ошибок будет в 10-100 раз меньше. Но их еще и поймать проще.

Ты так и не ответил про то, кто и как гарантирует правильность сгенерированного кода. Что в итоге «непонятных адепту динамической типизации» проверок и оптимизаций не сгенерируется код, который логически неверен? Что в итоге расширения/изменения существующего DSL'я не навернется — именно логически — сгенерированный код.

Ах, ну да. Ответ патамушта!, как я мог забыть.


M>>Угу. емнип, не в первый раз я задаю тебе этот вопрос, и все так же ты уходишь от ответа.

WH>Я на него уже отвечал. И в этом сообщении еще раз ответил. Смотри выше.

Нет, ты ничего не ответил. Ты говорил про количество ошибок. Ты ничего не говорил про доказательство верности генерируемого кода.


M>>Дададада. В этом месте ты начинаешь вещать про криворуких уродов, которые пользуются не теми инструментами. Предсказуемо и неинтересно. Я не живу в сферовакуумном мире.

WH>И ты мне тут на полном серьезе хочешь заявить что авторы второго ДСЛ без ДСЛ сделали бы конфетку?
WH>Я тебя правильно понял?

Я не понял твоего вопроса.

M>>Я, как минмиум, ищу подтверждения своим словам и заявлениям.

WH>Ни разу.

Ну да ну да. Это ты у нас постоянно фонтанируешь ссылками и примерами.

M>>Ни на один прямо поставленный вопросы ты ни разу не ответил хотя бы с минимальным подтверждением своих слов.

WH>Какие тебе нужны подтверждения?
WH>Показать тебе сколько кода генерируется из нескольких строк ДСЛ?
WH>Или что?

Подтверждения всем твоим голословным заявлениям, которых, якобы, было уже много.
— что поддержка DSL обязательно намного/на порядки/в 10-100 раз легче, чем других решений[1]
— что для DSL'я все подряд генерируется автоматически
— что DSL надо покрывать меньшим количеством тестов [2]

[1] Это верно только если речь идет о коде, написанном на этом DSL'е, потому что вся инфраструктура для поддержки работы этого DSL'я — это такая же система, кем-то написанная, которую надо исправлять, поддерживать, изменять, интегрировать и т.п.
[2] Опять же — верно только при условии, что мы говорим только о коде. Только вот кто доказывает корректность сгенерированного кода?


dmitriid.comGitHubLinkedIn
Re[68]: Не понял
От: WolfHound  
Дата: 21.05.12 14:33
Оценка:
Здравствуйте, Mamut, Вы писали:

M>А, ну да. Мы уже ВНЕЗАПНО весь проект DSL'ями заменили, ага-ага.

А почему нет?

M>Ога. Может, ты дашь хоть одну ссылку на подтверждение этого «факта»?

Я тут уже не один раз код показывал.
Re[12]: Языки общего назначения не имеют смысла!
Автор: WolfHound
Дата: 09.04.12


M>Ссылку или цитату хоть на одно. Напомню, что 8 сообщений тому назад
Автор: Mamut
Дата: 19.05.12
я просил ссылки. Как не было, так и нет. И не предвидится.

http://lurkmore.to/%D0%9F%D1%80%D1%83%D1%84%D0%BF%D0%B8%D0%BA

M>Что генерируется автоматически? Подсветка синтаксиса и дебаггинг для DSL'я? Ну ну. Это в какой такой сферовакуумной вселенной так происходит?

Это в реальности происходит.

M>ВОт из такиз мелочей и складывается дальнейшая поддержка, развитие и т.п. А то тут что-то забыли, там что-то забыли, тут пришлось дописать, там пришлось дописать.

Дописать в кодогенератор.

M>Но у нас же DSL!!!одинодин.

Именно для этого ДСЛ и нужен.
Ибо написали несколько строк в генераторе и получили тыщи размазанные ровным слоем по всему коду.

M>Да ты что? То, что он разворачивается — как ты там говоришь? — в 10-100 раз больше кода, то ни строчки этого кода тестировать не надо?

Тестировать надо только прикладную логику.

WH>>А если учесть то что нормальные люди делают кучу проверок при компиляции ДСЛ то и того меньше.

M>А, ну что я говорил. «Нормальные люди» и т.п.
Ты что тоже как Ikemefula хочешь не нормальных для разработки софта использовать?
Так они и на жабке дров наломают.

WH>>Хотя фанат динамической типизации это всё равно не поймет.

M>Ну да, главное — попытаться оскорбить оппонента в отсутсвие аргументов.
Этим тут ты занимаешься.

M>Ты так и не ответил про то, кто и как гарантирует правильность сгенерированного кода. Что в итоге «непонятных адепту динамической типизации» проверок и оптимизаций не сгенерируется код, который логически неверен? Что в итоге расширения/изменения существующего DSL'я не навернется — именно логически — сгенерированный код.

Еще раз. Если ошибка будет в генераторе кода, эта ошибка будет везде.
И ее сразу обнаружат и исправят.

M>Нет, ты ничего не ответил. Ты говорил про количество ошибок. Ты ничего не говорил про доказательство верности генерируемого кода.

Я говорил и говорю, что в подходе с ДСЛ ошибки искать и править значительно проще, чем, если писать все руками.

M>>>Дададада. В этом месте ты начинаешь вещать про криворуких уродов, которые пользуются не теми инструментами. Предсказуемо и неинтересно. Я не живу в сферовакуумном мире.

WH>>И ты мне тут на полном серьезе хочешь заявить что авторы второго ДСЛ без ДСЛ сделали бы конфетку?
WH>>Я тебя правильно понял?
M>Я не понял твоего вопроса.
А что тут не понятного?
Ты занимаешься противопоставлением ДСЛ и рукопашного кода.
В данном случае ты размахиваешь тем, что что-то не осилил ДСЛ.
Значит, ты намекаешь на то, что они осилят решение на обычном языке.

M>Подтверждения всем твоим голословным заявлениям, которых, якобы, было уже много.

M>- что поддержка DSL обязательно намного/на порядки/в 10-100 раз легче, чем других решений[1]
Следует из того что кода будет в 10-100 раз меньше.

M>- что для DSL'я все подряд генерируется автоматически

Возьми да посмотри современные инструменты.

M>- что DSL надо покрывать меньшим количеством тестов [2]

Кода меньше.
Тестов тоже.

M>[1] Это верно только если речь идет о коде, написанном на этом DSL'е, потому что вся инфраструктура для поддержки работы этого DSL'я — это такая же система, кем-то написанная, которую надо исправлять, поддерживать, изменять, интегрировать и т.п.

Только в ней кода кот наплакал.

M>[2] Опять же — верно только при условии, что мы говорим только о коде. Только вот кто доказывает корректность сгенерированного кода?

Довести генерированный код до рабочего состояния гораздо проще, чем рукопашный.
Я готов спорить что ты при написании руками того кода который я генерирую и за год из него всех тараканов не выловишь.
Re[12]: Языки общего назначения не имеют смысла!
Автор: WolfHound
Дата: 09.04.12


А если в исходник на ДСЛ добавить что типа такого LetterCharacter = [Lu, Ll, Lt, Lm, Lo, Nl] то там такое начнется
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.