Форум
Философия программирования
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, VladD2, Вы писали: VD>Здравствуйте, Sinclair, Вы писали: S>>И ты в поддержку этой точки зрения цитируешь Фаулера, для которого XSTL одновременно является и GPPL и DSL - в зависимости от задачи. :xz: VD>Ты обычно радуешь меня тем, что в отличии от других философов пытаешься глубоко вникнуть в тему. VD>К сожалению, в этот раз ты этого не потрудился сделать. Попробуй еще раз. VD>Фаулер тоже философствует. Критерии действительно не четки. И XSTL - это забавный пример. В принципе XSTL отлично подходит под определение ДСЛ-я, но в погоне за гибкостью в XSTL были включены фичи которые позволяют использовать (и довольно эффективно) его не по назначению. Если XSTL начинает использоваться не для преобразования текста - это он сразу же превращается в ЯОН. Главное здесь, то что использование XSTL для рассчетов - это внеполовое извращение. VD>С другой стороны язык 1Эс по своему дизайну позволяет писать код вне предметной области на которую он рассчитан. При этом никаких извращений предпринимать не нужно, так как 1Эс - это полноценный процедурный язык. В нем есть универсальные штатные средства - циклы, процедуры, операторы условного преехода. VD>>>И все это потому, что ДСЛ - это не о том, что язык для чего-то заточен, а о том, что язык предназначен только для чего-то. S>>Ок, так тоже можно. Но даже если мы будем судить о DSL-ности по тому, чего именно нельзя на этом языке, всё равно у нас будет континуум таких языков. VD>Нам нужно четко разделить ВБА, 1 Эс, SQL и регексы. SQL и регексы - это четкие представители того что я (и, как оказалось, Фаулер) называю ДСЛ-ем. ВБА - для меня вообще скрипт не имеющий к ДСЛ-ю никакого отношения. 1Эс - спорный вопрос, но я бы отнес его к специализированным ЯОН или даже к ЯОН с со встроенными ДСЛ-ями (хотя основную мощь в 1Эс определяет среда и встроенная модель). VD>Такое разделение нам необходимо для плодотворного обсуждения вопросов связанных с разработкой ДСЛ-ей. VD>На мой взгляд ДСЛ должен обладать одной моделью. Если язык штатно позволяет манипулировать несколькими моделями, то это уже ЯОН (или очень кривой ДСЛ). VD>Скажем моделью SQL является запрос к СУБД, ХСЛТ описывает модель трансформации ХМЛ, а моделью регексов - паттерн поиска подстроки в тексте. SQL, ХСЛТ и регексы всего лишь удобный синтаксис по заполнению соответствющих моделей. 1Эс же - это универсальный язык который позволяет в том числе манипулировать рядом моделей которые предоставляет среда 1Эс. VD>И это огромное различие. Под истенные ДСЛ можно подвести четкую иделогию: VD>1. Проектируем модель описывающую решаемую задачу. VD>2. Проектируем язык позволяющий максимально декларативно и понятно заполнить модель. VD>3. Делам компилятор или интерпретатор модели. VD>Все! Мы получили способ решения сложных проблем в любой области. VD>Для создания жерешений вроде 1Эс данная иделогия не применима, так как в 1Эс много моделей и связующего их кода. 1Эс можно представить как ряд ДСЛ-ей, часть из которых визуальные (формоклепство и описание отчетов). VD>>>Еще одним показателем ЯОН-а является то можно ли на нем (без использования других языков) написать целую систему. S>>Я уже в этой ветке писал, что это - не критерий. На языке C без использования других языков ничего полезного не напишешь, тупо потому, что в него кроме управляющих конструкций ничего не встроено. А библиотеки для него, обеспечивающие ему возможности для написания систем, написаны, очевидно, с использованием других языков. VD>Ты опять извращаешь реальность. Библиотеки ни разу не отдельная сущность для ЯОН. У любого языка можно отнять библиотеки и он станет ограниченным в возможностях. Но это ни разу не меняет реальность. VD>Это ты выдумал сам, что ЯОН без библиотек чудесным образом превращается в ДСЛ. Но это не так! ЯОН позволяет описать модели прямо внутри себя и решить любые задачи без использования библиотек. Библиотеки только позволяют общаться с внешним миром. VD>>>Это не имеет отношение к делу. Ты как и многие не верно (прямолинейно) толкуешь термин ДСЛ. Кстати, у Фаулера об этом хорошо сказано: S>>Прости, но Фаулер для меня не авторитет. Для тебя, кстати, тоже - см. противоречие выше. VD>У меня вообще нет авторитетов. Но мужик провел реальную работу по классификации я согласен с его выводами. Ну, и сам факт, что мое мнение не уникально уже косвенно подтверждает его правоту. VD>>>Меня не интересует этот вопрос. Да и реально толстого мы все определим без проблем. S>>Практика показывает, что толстость человека напрямую зависит от его окружения. В компании дистрофиков типа меня или Мерля любой покажется толстоватым. VD>Опять софистика. По фигу в какой компании находится человек страдающий ожирением третьей степени. Весящие складки жира на боках, 3-ий подбородок - это трудно не заметить.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …