Re[7]: Языки общего назначения не имеют смысла!
От: mrTwister Россия  
Дата: 09.04.12 16:45
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Он тебя спрашивает — станешь ли ты лезть в БД вручную (использовать ISAM), при наличии скуля?


Вообще-то сравнение с ISAM совершенно не в тему. SQL скорее надо сравнивать с CriteriaQuery, то есть с API, который построен на основе ЯП общего назначения.
лэт ми спик фром май харт
Re[11]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 16:46
Оценка: +1 -1
Здравствуйте, Gaperton, Вы писали:

G>Ты о скриптовой части, которая дает ему вычислительную полноту? Да какая разница, какая она?


Разница в том, что язык имеющий вычислительную полноту по тьюрингу и позволяющий писать код не через зад (как, например, SQL с рекурсивными расширениями) и является языком общего назначения.

1Эс — это ЯОН + среда ориентированная на бизнес-задачи. Того же самого можно было бы добиться создав библиотеки и внешние утилиты для явы или дотнета.

И ты глубоко заблуждаешся, если думаешь, что заточка для бизнес-задач сделала 1Эс популярным.
Популярным его сделало наличие множества готовых решений (следанных проффесионалами), и возможность их дорабатывать под себя.

G>Впрочем, 1С-сники специально сделали ее настолько простой, что на ней может писать бухгалтер.


Это полнейший гон. Ни одни бухгалтер (если он по совместительству не программист) не сможет написать на 1Эс нихрена.

G>А пока это не так, я отказываюсь называть твои DSL-и иначе, чем какашкой.


Он не собирается писать ДСЛ (кроме тех что нужны для разработки других ДСЛ-ей). Он собирается сделать процесс написания ДСЛ-ей во многие разы проще. Так чтобы их смогли разрабатывать те кто не шатир в языкостроении, но обладает талантом архитектора.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Языки общего назначения не имеют смысла!
От: VoidEx  
Дата: 09.04.12 17:45
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Разница в том, что язык имеющий вычислительную полноту по тьюрингу и позволяющий писать код не через зад (как, например, SQL с рекурсивными расширениями) и является языком общего назначения.


Вопрос "через зад — это как?" напрашивается сам собой.
Советую сразу брать такое определение: любой тьюринг полный язык — язык общего назначения, кроме SQL.

По-моему, SQL тут просто ярчайший пример того, что твоё определение несостоятельно. Потому что грань "через зад"/"не через зад" провести ты не сможешь.
Re[17]: Языки общего назначения не имеют смысла!
От: alex_public  
Дата: 09.04.12 18:12
Оценка:
Здравствуйте, WolfHound, Вы писали:

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

WH>Графические ДСЛ с моей точки зрения очень сомнительны. Но их сомнительность не отменяет того что они ДСЛ.

Ну для GUI и похожих задач по любому удобна визуализация.

WH>Лично я считаю, что текстовый ДСЛ с превьюшкой обновляющейся в реальном времени был бы лучше.

WH>Вот смотри:
WH>Если сделать 3 окошка.
WH>В одном ViewModel синхронизируемая в обе стороны с превьюшкой.
WH>В другом превьюшка в которой можно нажимать кнопки и редактировать текст. И в это время будет меняться состояние ViewModel в соседнем окне.
WH>В третьем маппинг ViewModel на контролы. Меняя который превьюшка автоматически перестраивается. При этом все данные остаются в ViewModel.
WH>Плюс возможность сохранить несколько состояний ViewModel. Для того чтобы можно было быстро переключаться между ними и смотреть как ведет себя ГУИ.

Если там можно будет писать какой-то достаточно сложный код (в рамках DSL, т.е. касающийся только GUI), а не просто делать размётку контролов, то да, это заметно удобнее было бы. А если у нас тут решается только задача "нарисовать" интерфейс, то все эти сущности уже лишними кажутся — проще кодогенерация из визуального редактора.
Re[15]: Языки общего назначения не имеют смысла!
От: alex_public  
Дата: 09.04.12 18:13
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>DSL бывают и графическими.


Ага. Интуитивно так и кажется. Но формально слово language тут уже несколько неуместно начинает выглядеть...
Re: Языки общего назначения не имеют смысла!
От: LaptevVV Россия  
Дата: 09.04.12 18:33
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

WH>Никак. Языки общего назначения не имеют смысла.

WH>Чем больше изучаю, тем сильнее утверждаюсь в этом мнении.
И что смешно!
Мы означенный подход применили еще году в 85.
Был договор с Питерской конторой.
Мы сначала соединили ПЛ-1+ЛИСП. Лисп обрабатывался препроцессором.
Потом заменили препроцессор библиотекой и вызывали лисповские функции непосредственно из ПЛ-1.
Потом был разработан специальный язык и на этом ПЛ-1 с лиспом был написан интерпретатор.
А потом уже на этом языке была со свистом реализована задача договора.
Только тогда никто не знал термина DSL...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[16]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.04.12 18:43
Оценка: +1
Здравствуйте, alex_public, Вы писали:

_>Ага. Интуитивно так и кажется. Но формально слово language тут уже несколько неуместно начинает выглядеть...


Формально тоже все в порядке. Выражения типа "язык танца" или "язык тела" не встречал? Языки вовсе не обязаны быть исключительно текстовыми.
... << RSDN@Home 1.2.0 alpha 5 rev. 27 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[17]: Языки общего назначения не имеют смысла!
От: alex_public  
Дата: 09.04.12 18:56
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Формально тоже все в порядке. Выражения типа "язык танца" или "язык тела" не встречал? Языки вовсе не обязаны быть исключительно текстовыми.


В программирование язык — это всё же вполне формальная сущность с синтаксисом, семантикой и т.п. А их довольно трудно разглядеть в GUI редакторе. )

А в общемупотребительной терминологии конечно проблем нет тогда. Там вообще можно увидеть фразу "найти общий язык с компьютером". )))
Re[18]: Языки общего назначения не имеют смысла!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.04.12 19:06
Оценка: +1
Здравствуйте, alex_public, Вы писали:

_>В программирование язык — это всё же вполне формальная сущность с синтаксисом, семантикой и т.п. А их довольно трудно разглядеть в GUI редакторе. )


http://en.wikipedia.org/wiki/Visual_programming_language

И грамматику для графического языка тоже можно написать ничуть не хуже, чем для тектового.
... << RSDN@Home 1.2.0 alpha 5 rev. 27 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[9]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 20:50
Оценка:
Здравствуйте, BrainSlug, Вы писали:

BS>vba — язык общего назначения? если нет, тогда 1С тоже нет. язык 1С замкнут на самой платформе, на которой решается определенный круг проблем. Все. Без дополнительных приблуд (типа подключение внешних библиотек) на нем больше ничего сделать нельзя.


Тут имеет место терминологическая путаница. Во многих местах языки вроде VBA названы ДСЛ-ями, так как они используются для решения специфичных задач (например, для написания макросов).

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

1Эс — это тоже язык общего назначения встроенный в предметную систему. Но в отличии от VBA он предназначен не для автоматизации основного приложения в рантайме, а для разработки в рамках интегрированной системы.

По сути 1Эс — это такой ФохПро или Эксес в который встроили специализированные библиотеки (и утилиты).

Главное что отличает настоящие ДСЛ-и от 1Эс и VBA — это то, что полноценные ДСЛ-ли позволяют описывать прикладную задачу на более высоком абстракнтом уровне.

1Эс можно заменить любым языком высокого уровня + набором компонентов и библиотек предоставляющих стандартные решения некоторых задач предметной области.

Мощь 1Эс не в языке (который там совсем примитивный диалект Бэйсика), а в наличии высокуорвневых библиотек и кучи готовых решений предоставляемых в исходных кодах. Это позволяет не писать продукт с нуля, а дорабатывать наиболее близкое решение.

Мощь же ДСЛ-ей заключается именно в повышение уровня описания решения — декларативности.

Если же называть и то, и другое ДСЛ-ями, то не ясно как отделять одно от другого.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 21:25
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Вопрос "через зад — это как?" напрашивается сам собой.

VE>Советую сразу брать такое определение: любой тьюринг полный язык — язык общего назначения, кроме SQL.

Тут проблема в тремине "тьюринг полнота". Сама по себе она еще не дает возможности присать полезные программы. Вот на VBA можно прочесть файл и вывести данные на любое устройство. А на SQL или на шаблонах С++ нельзя. Хотя оба вроде как теоретически полны по тьюрингу.

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

Иначе в этом делении нет никакого смысла и все языки программирования становятся ДСЛ-ями. Ведь в какой-то мере все языки заточны на что-то.

VE>По-моему, SQL тут просто ярчайший пример того, что твоё определение несостоятельно. Потому что грань "через зад"/"не через зад" провести ты не сможешь.


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

Кроме того отличным фактором является отрезанность от мира. SQL без процедурных расширений не позволяет производить универсальный ввод/вывод, в то время как любой ЯОН позволяет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Языки общего назначения не имеют смысла!
От: Vain Россия google.ru
Дата: 09.04.12 21:25
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

V>>А какие факты?

WH>Многократное снижение издержек вот какие.
Это будет после того как вложишься и с вероятностью "0.0~1" дойдешь до саксесса, что вообще-то и не факт.

V>>Факты про то что многие языки общего назначения являются промышленным стандартом?

WH>Миллион мух не может ошибаться.
Это вы программистов на C/C++/java и т.д. как как щас назвали?

V>>Факты про то что ни один старап не будет рисковать своим проектом и как следствие кошельком чтобы проверять выстрелит ли дсл?

WH> Это вообще бред сивой кобылы.
WH>Многие стартапы как раз и поднялись на ДСЛях.
А вы считали сколько из них не поднялись и не собирались использоваться? Думаю процентик то поболе будет.

V>>Факты про то что существует куча уже написанного и, главное, отлаженного временем кода который никто не захочет менять на написание какого-то там дсл?

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

V>>Факты про то что программистов с языком общего назначения на порядок больше чем дсл писателей, что сказывается на их цене?

WH>Смешной ты человек.
WH>Вот ты на SQL пишешь?
Ну так я его и не поддерживаю, за меня его поддерживают, это какбе огрооомный плюс, что ставит этот дсл просто в угол ко всем языкам.

WH>А это ДСЛ.

А какой именно? Щас много всяких диалектов. Я в своё время писАл на sybase диалекте, помню помню, ещё тот геморрой был — шаг в сторону и нихрена уже не работает.

WH>ДСЛ вообще изучить очень просто.

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

V>>Эти факты как раз все против дсл.

WH>Это не факты. Это мифы.
кому как.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[8]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 21:31
Оценка: +1
Здравствуйте, mrTwister, Вы писали:

VD>>Он тебя спрашивает — станешь ли ты лезть в БД вручную (использовать ISAM), при наличии скуля?


T>Вообще-то сравнение с ISAM совершенно не в тему. SQL скорее надо сравнивать с CriteriaQuery, то есть с API, который построен на основе ЯП общего назначения.


Нет. Именно в тему. SQL — это специализированный язык запросов который создает языковый абстрактный уровень над ядром СУБД, который имеет ISAM-организацию (в большинстве случаев).

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

Тут же речь идет именно о разнице между использованием ДСЛ-я и ручном кодировании того же самого.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Языки общего назначения не имеют смысла!
От: WolfHound  
Дата: 09.04.12 21:46
Оценка:
Здравствуйте, Vain, Вы писали:

V>Это будет после того как вложишься и с вероятностью "0.0~1" дойдешь до саксесса, что вообще-то и не факт.

У меня 100% успеха.
Что я делаю не так?

V>Это вы программистов на C/C++/java и т.д. как как щас назвали?

Это я к тому что аппеляция к большенству примитивная демагогия.

WH>>Обычно намного проще чем библиотеку которой его пытаются заменить.

V>Это спорное утверждение.
Ну, давай изучи АПИ для прямых обращений к физической структуре БД.
Удачи.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[15]: Языки общего назначения не имеют смысла!
От: Vain Россия google.ru
Дата: 09.04.12 22:30
Оценка: :))
Здравствуйте, WolfHound, Вы писали:

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


V>>Это будет после того как вложишься и с вероятностью "0.0~1" дойдешь до саксесса, что вообще-то и не факт.

WH>У меня 100% успеха.
Не верю (C)

V>>Это вы программистов на C/C++/java и т.д. как как щас назвали?

WH>Это я к тому что аппеляция к большенству примитивная демагогия.


WH>>>Обычно намного проще чем библиотеку которой его пытаются заменить.

V>>Это спорное утверждение.
WH>Ну, давай изучи АПИ для прямых обращений к физической структуре БД.
А в чём проблема? MFC, ADO, DAO?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[11]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 22:45
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>И что? DSL как правило менее мощный, нежели сравнительно универсальный язык, каковым является SQL.


По сути согласен с тобой. По форме — нет.

Мощный тут не поределено. Да и SQL — это тоже DSL.

Тут правильнее было бы говорить об уровне специализации DSL-я. Более специализированные DSL-и (при правильном их использовании) являются более выразительными, но менее универсальными.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 22:51
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Возьми пару известных систем и покажи где там eSQL

AVK>>1C 8 подойдет?
G>Ага, там совершенно тупая трансляция в SQL.

Способ реализации DSL-я не влияет на его свойства. По любому DSL будет удобнее, а код на нем короче. Иначе никто не стал бы лепить DSL-и, над другими языками (и уже тем более над другими DSL-ями как в случае с SQL).

G>>>Покажи некривой. Только реальный, не академический.

AVK>>Ну вот Парус 10 такой Реальный, не академический.
G>Ну пример приведи, я не пользуюсь парусом.

Это твои проблемы. Иначе на основании того, что ты ничем не пользуешься можно "доказать" все что угодно.

Ты логику вообще проходил?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 23:00
Оценка:
Здравствуйте, VoidEx, Вы писали:

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


1. Клинические идиоты скорее всего принисут один убыток.
2. Прибыть можно получать тупо уменьшив количество занятых в разработке программистов, ведь основные затраты на разработку ПО — это заработная плата.
3. Людям с ограниченными умственными способностями куда безопаснее и эффективнее давать DSL-и или визуальные дизайнеры. Это позволяет их лучше контролировать и снизить на них нагрузку.

VE>Поэтому для одних есть сложные инструменты, и их это устраивает, а для других инструменты попроще, и их тоже это устраивает.


DSL-подход позволяет задействовать башковитых людей при разработке DSL-ей, а тех что по тупее в качестве пользователей DSL-ей.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 23:05
Оценка:
Здравствуйте, Хвост, Вы писали:

Х>я вот чот не вдупляю чем твои дсли лучше либы/пекейджа/сборки с набором неймспейсов/классов/функций, специфичных для этого самого domain? тем что у них fancy синтаксис? ололошеньки.


Много вы в ДжетБрэйнсе напридумывали библиотек, чтобы сделать разработку поддержки новых языков для Решарпера более простой задачей?

А много вам дали библиотеки при написании тех же рефакторингов?

Нет, не подумай, что мы тут маньяки. Если задача решается либой сносно, то городить огород с DSL-ями смысла нет. Но есть куча задач (во всех без исключения областях), которые не решаются библиотеками или решаются не достаточно качественно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Языки общего назначения не имеют смысла!
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.12 23:14
Оценка:
Здравствуйте, Хвост, Вы писали:

WH>>А ты перечитай сообщение, на которое отвечаешь. Оно короткое. Там все написано. С цифрами, между прочим.

WH>>И это далеко не единичный случай.

Х>А ещё есть куда большее количество случаев когда один и тот же функционал на одном и том же языке написан разными людьми/командами с разительными различиями в плане отношения затрат к результату, только мне и это не интересно. Мне интересно именно то что я у тебя спросил. Циферьки оставь эффективным менеджерам.


А сбацай нам парсер какого-нить не сложного языка вроде джейсона. Сравним его со генерированным PegGrammar-ом по объему кода и скорости работы. Ты же профи в этой области!

Проверим, так сказать, на практике и циферки, и твои сомнения. Если ты прав, то без труда запихаешь все в библиотеку, кода у тебя будет хотя бы столько же как в вариенте PegGrammar-а. Ну, и скоростью похвастаешься. Хэнд-мэйд все таки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.