Re[49]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.05.12 19:12
Оценка:
Здравствуйте, Mamut, Вы писали:

VD>>
VD>>urlpatterns = patterns('',
VD>>    (r'^articles/(\d{4})/$', 'news.views.year_archive'),
VD>>    (r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'),
VD>>    (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'),
VD>>)
VD>>

VD>>Вот еще ДСЛ-чик.

M>Ничего, что это — вызов библиотечной функции?


Ничего. Для встроенных ДСЛ-ей это характерно. Раз есть спец.синтаксис, то — это ДСЛ. Или вот это '^articles/(\d{4})/$' код на Питоне?

M>Не помню, кто тут говорил (может и не ты), что библиотеками ДСЛ не заменить :))


VD>>Короче, ты явно однобоко смотришь на код.


M>Однобоко смотришь ты, но тебе можно простить, ты Джанго не знаешь.


Ну, спасибо за прощение. :))

M>В Джанго, по сути, есть ровно один DSL — это Django Template Language для вьюх. Но ведь вьюхами дело не заканчивается, так ведь ;)


Нет. Как и ДСЛ не один. Это мы уже видели выше. Ну, а то что ты явно видишь его в шаблонизаторе — это от того, что там встроенный ДСЛ не канает. Точнее канает, но выглядеть будет не комильфо.

M>Есть модели:

M>
M>class Article(models.Model):
M>    pub_date = models.DateTimeField()
M>    headline = models.CharField(max_length=200)
M>    content = models.TextField()
M>    reporter = models.ForeignKey(Reporter)

M>    def __unicode__(self):
M>        return self.headline
M>

M>Вролне себе декларативно-ДСЛеподобное описание модели/ORM'а, которое легко и просто разворачивается в
M>

Ага. Я бы даже был более смел и сказал бы - встроенный ДСЛ. Да еще и с метапрограммированием. На Яве так не прокатит.

>>>> from datetime import datetime
>>>> a = Article(pub_date=datetime.now(), headline='Django is cool',
M>...     content='Yeah.', reporter=r)
>>>> a.save()

M># Now the article is in the database.
>>>> Article.objects.all()
M>[<Article: Django is cool>]
M>

M>и прочую толпу методов При этом это как бы совсем не DSL, а просто ООП,

Ах это простое ООП? Ну, тогда тебя не затруднит объяснить мне как простой ООП превращает классы в записи БД? Или есть еще некий ДСЛ мапинга который осуществляет эту магию?

M>но для использования мозгов не требуется вообще:

M>
M>all_entries = Entry.objects.all()
M>Entry.objects.filter(pub_date__year=2006)
M>Entry.objects.filter(
M>     headline__startswith='What'
M> ).exclude(
M>     pub_date__gte=datetime.now()
M> ).filter(
M>     pub_date__gte=datetime(2005, 1, 1)
M> )
M>Book.objects.all().aggregate(Avg('price'))
M>


О, как? А о суффиксах этих (_year, _startswith, _gte) нужно телепатией догадываться? Их кто делает?
Они случаем не есть расширение языка за счет обработки отсутствующих методов?

M>и т.п. Так оно еще и ленивое (то есть выполняется общий конечный запрос, а не по запросу на каждый вызов метода).


Ну, дык видно же что пытались линк сэмулировать имеющимися средствами. А линк — это не встроенный ДСЛ часом? :))

Короче, молодец. Лучше меня опроверг свою позицию.


M>К чему я это? А, к этому:


Мне кажется ты просто хотел сказать, что не знаешь что ДСЛ может быть внутренним, сделанным средствами языка. Именно это и сделано в Джанго.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[50]: Языки общего назначения не имеют смысла!
От: Mamut Швеция http://dmitriid.com
Дата: 07.05.12 20:26
Оценка: :)
VD>>>
VD>>>urlpatterns = patterns('',
VD>>>    (r'^articles/(\d{4})/$', 'news.views.year_archive'),
VD>>>    (r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'),
VD>>>    (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'),
VD>>>)
VD>>>

VD>>>Вот еще ДСЛ-чик.

M>>Ничего, что это — вызов библиотечной функции?


VD>Ничего. Для встроенных ДСЛ-ей это характерно. Раз есть спец.синтаксис, то — это ДСЛ. Или вот это '^articles/(\d{4})/$' код на Питоне?


Это код на Питоне По сути, мы просто передаем RegExp, по которому матчим путь.

M>>Вролне себе декларативно-ДСЛеподобное описание модели/ORM'а, которое легко и просто разворачивается в

VD>Ага. Я бы даже был более смел и сказал бы — встроенный ДСЛ. Да еще и с метапрограммированием. На Яве так не прокатит.

Ну да. Раз в Яве не прокатит, то это — смело DSL

M>>и прочую толпу методов При этом это как бы совсем не DSL, а просто ООП,


VD>Ах это простое ООП? Ну, тогда тебя не затруднит объяснить мне как простой ООП превращает классы в записи БД? Или есть еще некий ДСЛ мапинга который осуществляет эту магию?


Как-как. Кодом. ООП. Например, https://github.com/django/django/blob/master/django/db/models/base.py, https://github.com/django/django/blob/master/django/db/models/query.py и т.п.

M>>но для использования мозгов не требуется вообще:

M>>
M>>Entry.objects.filter(
M>>     headline__startswith='What'
M>> ).exclude(
M>>     pub_date__gte=datetime.now()
M>> ).filter(
M>>     pub_date__gte=datetime(2005, 1, 1)
M>> )
M>>


VD>О, как? А о суффиксах этих (_year, _startswith, _gte) нужно телепатией догадываться?


Зачем же телепатией? Для этого документация есть
И все делается банальным кодом https://github.com/django/django/blob/master/django/db/models/fields/__init__.py
elif lookup_type in ('exact', 'gt', 'gte', 'lt', 'lte'):
            return self.get_prep_value(value)



VD>Их кто делает?

VD>Они случаем не есть расширение языка за счет обработки отсутствующих методов?

Вот оно как. Наличие в языке method_missing (как в Руби) ВНЕЗАПНО делает из него DSL? Что-то мне кажется, что ты сторонники DSL'изации всего и вся трактуют DSL так, как им выгодно. Не гворя о том, что никакой тут обработкой несуществующих методов и не пахнет. Вызывается функция с какими-то параметрами, количество которых в Питоне может быть неограниченно, и парсится название ключей (сорри, сейчас не найду точную строчку кода).

M>>и т.п. Так оно еще и ленивое (то есть выполняется общий конечный запрос, а не по запросу на каждый вызов метода).

VD>Ну, дык видно же что пытались линк сэмулировать имеющимися средствами. А линк — это не встроенный ДСЛ часом?

LINQ — DSL. Где ты тут видишь DSL? Или ты считаешь, что из утверждения «Linq — DSL, Django типа эмулирует Linq» моментально следует «то, как Django эмулирует значит, что это — DSL»? Не говоря о том, что Django нифига не эмулирует Linq, как бы тебе этого ни хотелось бы.

VD>Короче, молодец. Лучше меня опроверг свою позицию.


M>>К чему я это? А, к этому:


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


Мне кажется, что твоя фраза про «фреймворки так не смогут» неверна — это все, что я хочу сказать. И Джанго это прекрасно показывает. Или тогда возвращаемся к тому, что «DSL — это любой ЯП (язык программирования) использованный в некотором приложении которое специализируется на какой-то предметной области» (http://rsdn.ru/forum/philosophy/4703108.1.aspx
Автор: VladD2
Дата: 15.04.12
)


dmitriid.comGitHubLinkedIn
Re[50]: Языки общего назначения не имеют смысла!
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 08.05.12 06:46
Оценка:
Здравствуйте, oldjackal, Вы писали:

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


история в тему
Автор: мыщъх
Дата: 08.05.12
.
The God is real, unless declared integer.
Re[46]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.05.12 12:48
Оценка: +1
Здравствуйте, alex_public, Вы писали:

_>Для обработки последовательностей данных эту задачу когда-то решили авторы sql.


SQL не работает с последовательностями, он работает с кортежами и отношениями (TOP/LIMIT оставим за бортом).

VD>>Мил человек. В линке одна из самых важных составляющих — это возможность автоматически преобразовать код в его AST. Так вот это на С++ делать запаришся, так как язык убог неимоверно.


_>Эта особенность как раз всю кривизну и привносит, причём при отсутствие реальной необходимости.


Поподробнее раскроешь мысль, как expression tree привносят в linq кривизну?
... << RSDN@Home 1.2.0 alpha 5 rev. 52 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[51]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.05.12 20:54
Оценка:
Здравствуйте, Mamut, Вы писали:

VD>>Они случаем не есть расширение языка за счет обработки отсутствующих методов?


M>Вот оно как. Наличие в языке method_missing (как в Руби) ВНЕЗАПНО делает из него DSL?


Наличие в языке method_missing (как в Руби) ВНЕЗАПНО делает возможным изменение смысла конструкций хост-языка, что ВНЕЗАПНО упрощает создание внутренних DSL-й.

Советую тебе почитать книжку Фаулера про ДСЛ-и. Он в ней как раз этот метод описывает.

M>Что-то мне кажется, что ты сторонники DSL'изации всего и вся трактуют DSL так, как им выгодно.


Я просто потратил нное количество времени на то, чтобы разобраться в вопросе. Только и всего!
ДСЛ-и используются намного чаще чем может показаться на первый взгляд. В динамических языках ДСЛ-ли делать проще (удобнее), так как есть множество средств для этого. method_missing одно из таких средств.

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

M>Не гворя о том, что никакой тут обработкой несуществующих методов и не пахнет. Вызывается функция с какими-то параметрами, количество которых в Питоне может быть неограниченно, и парсится название ключей (сорри, сейчас не найду точную строчку кода).


Ключевое слово тут "парсится".

M>LINQ — DSL. Где ты тут видишь DSL?


Как где? Да вот же он:

Entry.objects.filter(
     headline__startswith='What'
 ).exclude(
     pub_date__gte=datetime.now()
 ).filter(
     pub_date__gte=datetime(2005, 1, 1)
 )


M>Или ты считаешь, что из утверждения «Linq — DSL, Django типа эмулирует Linq» моментально следует «то, как Django эмулирует значит, что это — DSL»?


Сори. Я не смог этого понять.

M>Не говоря о том, что Django нифига не эмулирует Linq, как бы тебе этого ни хотелось бы.


Можешь назвать это как хочешь, но язык запросов на лицо. Это явно не доступ к БД через АПИ.

M>Мне кажется, что твоя фраза про «фреймворки так не смогут» неверна — это все, что я хочу сказать.


В какой-то мере могу согласиться, так как большая часть фрэймворков как раз и привлекает ДСЛ-подход. Просто фрэймворки в понимании дотнета и явы частенько делают это крайне уродливо. Скажем за неимением гибких средств в языке или качественных средство вроде N2/Nemerle они скатываются к программированию в ХМЛ или жутким встроенным ДСЛ-ям.

У динамики с этим все намного лучше. Но все равно результат получается не идеальным. К тому же есть куча проблем связанных с самой динамикой. Тут тебе и недостаточная производительность, и некачественная поддержка IDE. Об автоматических рефакторингах вообще можно забыть.

M>И Джанго это прекрасно показывает.


Джанго показывает только то, что в динамических языках проще клепать ДСЛ-и.


M>Или тогда возвращаемся к тому, что «DSL — это любой ЯП (язык программирования) использованный в некотором приложении которое специализируется на какой-то предметной области» (http://rsdn.ru/forum/philosophy/4703108.1.aspx
Автор: VladD2
Дата: 15.04.12
)


А это просто заблуждение.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Языки общего назначения не имеют смысла?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.05.12 15:14
Оценка:
Здравствуйте, AndrewVK, Вы писали:

N>>А жаль. Это значит, что слишком много флеймов, где спорят, совершенно не согласовав, о чём вообще говорят.

AVK>Моя практика показывает, что как только разговор заходит о трактовке терминов, ветку сразу можно бросать читать, потому что ничего интересного в ней уже не будет, один пустой срач.

А моя — что с этого и начинается конструктив.
Хотя, конечно, если у тебя собеседники, как некоторые здешние апологеты уездных языков, то они в принципе не способны что-то сказать не на своём языке, который больше мало кто понимает. Из таких — да, надо вытаскивать на их языке. Но я лично не хочу работать психоаналитиком на форуме.
The God is real, unless declared integer.
Re[49]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.05.12 19:06
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Графическое представление не работает чуть менее чем всегда.

WH>Вон тот же AndrewVK пытался делать графические ДСЛ.

Почему пытался? Делал.

WH>На маленьких задачах все было отлично.


На реальных задачах тоже все неплохо получается. Просто надо было заменить уродский Netron на полноценный движок.
... << RSDN@Home 1.2.0 alpha 5 rev. 52 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[48]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.05.12 19:06
Оценка: +1
Здравствуйте, oldjackal, Вы писали:

O>>> Рефакторинг — зло. Чем скорее человечество забудет это гнусное слово, тем лучше.

WH>>И что вместо него?

O> Ручками, аккуратно, вдумчиво, страдая и мучаясь. Потому как если это будет слишком легко делать, этим будут злоупотреблять.


Рефакторинг, сделанный руками, перестает быть рефакторингом?
... << RSDN@Home 1.2.0 alpha 5 rev. 52 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[50]: Языки общего назначения не имеют смысла!
От: WolfHound  
Дата: 13.05.12 22:54
Оценка:
Здравствуйте, AndrewVK, Вы писали:

WH>>Графическое представление не работает чуть менее чем всегда.

WH>>Вон тот же AndrewVK пытался делать графические ДСЛ.
AVK>Почему пытался? Делал.
По тому что, то, что я видел, было ужасно.

WH>>На маленьких задачах все было отлично.

AVK>На реальных задачах тоже все неплохо получается. Просто надо было заменить уродский Netron на полноценный движок.
И чем же другой движок помогает от паутины стрелок?
Покажи скриншот.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[51]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.05.12 08:15
Оценка:
Здравствуйте, WolfHound, Вы писали:

AVK>>Почему пытался? Делал.

WH>По тому что, то, что я видел, было ужасно.

Ты видел не финальный вариант.

WH>>>На маленьких задачах все было отлично.

AVK>>На реальных задачах тоже все неплохо получается. Просто надо было заменить уродский Netron на полноценный движок.
WH>И чем же другой движок помогает от паутины стрелок?

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

WH>Покажи скриншот.


Лень, если честно.
... << RSDN@Home 1.2.0 alpha 5 rev. 52 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[52]: Языки общего назначения не имеют смысла!
От: WolfHound  
Дата: 14.05.12 09:27
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Нормальными алгоритмами роутинга этих стрелок.

От лапши никакой алгоритм роутинга не поможет.

AVK>Ну и добавление новых элементов позволило кардинально сократить количество стрелочек.

Это только немного оттягивает конец.
Графические ДСЛ не масштабируются.

WH>>Покажи скриншот.

AVK>Лень, если честно.
Понятно. Показывать нечего.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[53]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.05.12 09:34
Оценка:
Здравствуйте, WolfHound, Вы писали:

AVK>>Нормальными алгоритмами роутинга этих стрелок.

WH>От лапши никакой алгоритм роутинга не поможет.

Помогает вот.

AVK>>Ну и добавление новых элементов позволило кардинально сократить количество стрелочек.

WH>Это только немного оттягивает конец.

Нет никакого конца. Верхняя граница сложностив моем случае фиксирована.

WH>Графические ДСЛ не масштабируются.


И не нужно.

WH>>>Покажи скриншот.

AVK>>Лень, если честно.
WH>Понятно. Показывать нечего.

Ты действительно в это веришь?
... << RSDN@Home 1.2.0 alpha 5 rev. 52 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[52]: Языки общего назначения не имеют смысла!
От: Mamut Швеция http://dmitriid.com
Дата: 14.05.12 09:49
Оценка:
VD>>>Они случаем не есть расширение языка за счет обработки отсутствующих методов?
M>>Вот оно как. Наличие в языке method_missing (как в Руби) ВНЕЗАПНО делает из него DSL?
VD>Наличие в языке method_missing (как в Руби) ВНЕЗАПНО делает возможным изменение смысла конструкций хост-языка, что ВНЕЗАПНО упрощает создание внутренних DSL-й.
VD>Советую тебе почитать книжку Фаулера про ДСЛ-и. Он в ней как раз этот метод описывает.

Останусь при своем мнении:

M>>Что-то мне кажется, что ты сторонники DSL'изации всего и вся трактуют DSL так, как им выгодно.


M>>Не гворя о том, что никакой тут обработкой несуществующих методов и не пахнет. Вызывается функция с какими-то параметрами, количество которых в Питоне может быть неограниченно, и парсится название ключей (сорри, сейчас не найду точную строчку кода).


VD>Ключевое слово тут "парсится".


Да не там этого ключевого слова. От того, что ты передал в метод ассоциативный массив, ручками пробежался по ключам и написал диспатчер, состоящий из if'ов это стало DSL'ем? В общем, отцитированное выше.

M>>Или ты считаешь, что из утверждения «Linq — DSL, Django типа эмулирует Linq» моментально следует «то, как Django эмулирует значит, что это — DSL»?

VD>Сори. Я не смог этого понять.

Твоя фраза выглядела так: Django эмулирует Linq. Linq — DSL, следовательно в Джанго DSL. Я ставлю под сомнение это «следовательно»

M>>Не говоря о том, что Django нифига не эмулирует Linq, как бы тебе этого ни хотелось бы.

VD>Можешь назвать это как хочешь, но язык запросов на лицо. Это явно не доступ к БД через АПИ.

И? Открою СТРАШНУЮ тайну — любой ORM — это не доступ к БД через АПИ. Клепим ярлык «это DSL, а не фреймворк» на все ORM'ы?

M>>Мне кажется, что твоя фраза про «фреймворки так не смогут» неверна — это все, что я хочу сказать.


VD>В какой-то мере могу согласиться, так как большая часть фрэймворков как раз и привлекает ДСЛ-подход. Просто фрэймворки в понимании дотнета и явы частенько делают это крайне уродливо. Скажем за неимением гибких средств в языке или качественных средство вроде N2/Nemerle они скатываются к программированию в ХМЛ или жутким встроенным ДСЛ-ям.


VD>У динамики с этим все намного лучше. Но все равно результат получается не идеальным. К тому же есть куча проблем связанных с самой динамикой. Тут тебе и недостаточная производительность, и некачественная поддержка IDE. Об автоматических рефакторингах вообще можно забыть.



Какое отношение это к обсуждаемой теме известно только тебе


M>>И Джанго это прекрасно показывает.


VD>Джанго показывает только то, что в динамических языках проще клепать ДСЛ-и.


Грамотно ограниченный ДСЛ позволит использовать людей со слабой квалификацией и ограниченными возможностями. Фрэймворки и библиотеки такого же эффекта не дадут.


Джанго показывает, что с использованием фреймворка Джанго можно использовать людей со слабой квалификацией и ограниченными возможностями.

M>>Или тогда возвращаемся к тому, что «DSL — это любой ЯП (язык программирования) использованный в некотором приложении которое специализируется на какой-то предметной области» (http://rsdn.ru/forum/philosophy/4703108.1.aspx
Автор: VladD2
Дата: 15.04.12
)


VD>А это просто заблуждение.


Ну да, ну да. Django — приложение, используемое в некой предметной области (в вебе), в нем использован «любой ЯП» (Питон).

Тогда или давай полноценное формальное определение DSL, или перестань подгонять любую удобную тебе фичу любого удобного тебе языка под понятие DSL


dmitriid.comGitHubLinkedIn
Re[54]: Языки общего назначения не имеют смысла!
От: WolfHound  
Дата: 14.05.12 09:53
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ты действительно в это веришь?

Я еще не видел ни одного графического ДСЛ, который бы не скатывался в говно, но больших задачах.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[55]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.05.12 10:01
Оценка:
Здравствуйте, WolfHound, Вы писали:

AVK>>Ты действительно в это веришь?

WH>Я еще не видел ни одного графического ДСЛ, который бы не скатывался в говно, но больших задачах.

Будем обсуждать твой кругозор? И что насчет ситуации, когда большие задачи не нужны?
... << RSDN@Home 1.2.0 alpha 5 rev. 52 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[56]: Языки общего назначения не имеют смысла!
От: WolfHound  
Дата: 14.05.12 10:14
Оценка: :)
Здравствуйте, AndrewVK, Вы писали:

AVK>Будем обсуждать твой кругозор?

Ну, так покажи класс.

AVK>И что насчет ситуации, когда большие задачи не нужны?

Один хрен текст лучше.
Тем более что ненужность больших задач весьма сомнительна.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[57]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.05.12 10:19
Оценка:
Здравствуйте, WolfHound, Вы писали:

AVK>>Будем обсуждать твой кругозор?

WH>Ну, так покажи класс.

С ренисометрией, это не ко мне.

AVK>>И что насчет ситуации, когда большие задачи не нужны?

WH>Один хрен текст лучше.

Далеко не всегда.

WH>Тем более что ненужность больших задач весьма сомнительна.


Что, вот прям так во всех ситуациях сомнительна?
... << RSDN@Home 1.2.0 alpha 5 rev. 52 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[20]: Языки общего назначения не имеют смысла!
От: Gaperton http://gaperton.livejournal.com
Дата: 18.05.12 10:07
Оценка: 36 (1) :))
Здравствуйте, AndrewVK, Вы писали:

K>>Скорее так: годами и десятками лет пытаются выразить специфику неудобными конструкциями языков общего назначения. Колются, плачут, но продолжают мучиться.


AVK>Ну давай проведем эксперимент. Вот типовой серверный бизнес-код на универсальном языке — C#. Давай ты продемонстрируешь, как все будет круто на DSL?


Да без проблем.

rollback for each doc in XO


Одного не пойму — почему они все стушевались. Смешной вопрос для труъ-ценителей DSL, право .
Re[53]: Языки общего назначения не имеют смысла!
От: vdimas Россия  
Дата: 19.05.12 11:16
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Графические ДСЛ не масштабируются.


Почему?
Схемы электрические принципиальные, например, спокойно масштабируются. Вводи себе блоки с интерфейсами, вводи сущность "шина", объединяющая несколько связей и т.д.
Масштабирование зависит от поддержки языка и инструмента. В нормальных графических редакторах схем кликнул по блоку — и входишь в редактирование блока. Или выделил несколько элементов — и в контекстном меню сказал им "сделать из них блок" и т.д.

Иначе бы схемы из миллионов вентилей просто не взлетели бы...
Re[55]: Языки общего назначения не имеют смысла!
От: vdimas Россия  
Дата: 19.05.12 11:18
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


AVK>>Ты действительно в это веришь?

WH>Я еще не видел ни одного графического ДСЛ, который бы не скатывался в говно, но больших задачах.

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