ailev.ru

Обсуждение

В архиве: 20 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 30 августа 2009

немного off-topic

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

Имя не сохранено · 31 августа 2009

Комментарий

осилил несмотрячто многа букав. патамучто интересно. давно с интересом этот журнал читаю. не владею знанием обсуждаемого материала, и особо к этому не стремлюсь из-за (спорного) убеждения, что в поверхностном понимании есть плюсы. меня интересует одна мысль, которой я здесь не нахожу. (в моих каментах здесь она повсеместна). есть ли какие-то направления вот в такую сторону? щас я попытаюсь к мысли подвести. когда-то люди сделали большой шаг, поняв что [1,2,много] ("бу", "бу-бу", "буу!") применимо к любым вещам - хоть к коровам, хоть к баранам или хоть даже к людям. эта модель развивалась и в какой-то момент был сделан следующий большой шаг - возникло представление о числах, которые можно исследовать сами по себе. развивались языки, на которых проводились исследования. а."три, будучи повторённым два раза, будет то же что два, повторённое трижды" б."3*2=2*3" (просьба к качеству примера слишком всерьёз не относиться - находу придуман) мне кажется, с "языком" происходит что-то сродни пониманию "числа" как самомтоятельной категории. акцент делаю на сопоставлении масштабов 2х событий. никаких попыток "язык" так осмыслить долго не происходило. сейчас это есть, но происходит сродни примеру (а), как-то "рассказывательно". следующее утверждение специально ярко напишу. ваша мысль "языков должно быть много" я щитаю сродни системе ["бу", "бубу", "буу!"]. в значительной степени ускользает качественная сторона вопроса. или вопрос о качестве языков даже вообще отсутствует. там уже задал вопрос, щас сформулирую точнее - есть ли какое-то направление в сторону "исчисления языков", абсолютно любых языков? чтобы можно было вполне формально говорить о качественных сторонах. направление, где например центральной задачей можно было бы поставить вопрос "нахождения"/"вычисления" требуемого языка средствами применения к требуемым условиям каких-либо языков. понятия эффективности, оптимальности языка. "язык над языками" как "оператор над пространством" ("функция над числами"). ((а) и (б) - это "точки" в некотором (с). (а)+(б)=(в), в смысле (+), (=) из (д), "((а)+(б)=(в))" из (у)...) буду очень благодарен за какие-нибудь куда-нибудь наводки. или за аргументированное объяснение что я тупой и нужно знать обсуждаемый материал :).

Анатолий Левенчук · 31 августа 2009

Re: немного off-topic

Увы, это знание разбросано по самым разным местам (есле вообще можно считать, что это "знание", а не искусство -- не думаю, что где-нибудь найдется "пошаговая инструкция, как описать/моделировать предмет".). В принципе, созданием описаний для еще неизведанного занимается эпистемология. Так, в книжке Джона Гриндера "Шепот на ветру", в которой он описывает, как создавал нейролингвистическое программирование, слово "эпистемология" повторяется более чем часто. Эта книжка ("Шепот на ветру") является лучшим, что я встречал про моделирование.

Ответ на комментарий

Анатолий Левенчук · 31 августа 2009

Комментарий

Конечно, есть много разных направлений про "исчисление языков". Так, связью знаков и предметов мира занимается логика, а вот линеаризацией "структуры" в "цепочку слов" занимается лингвистика, разнопарадигмальностью выражений занимается computer science. Языки ведь многогранны, разные науки занимаются в них разным. А обсуждаемый материал нужно все-таки знать ;)

Ответ на комментарий

Имя не сохранено · 31 августа 2009

Комментарий

не, логика вроде другими вещами занимается (формальная практически числами-01(..k) и функциями-предикатами, остальная почти филосовствованием). про знаки вроде ближе к семиотикам. через них к лингвистикам. а там и до филологий с журналистиками недалеко. есть ещё нейрофизиология (из которой например очень интересная программистская вещь regexp появилась), меметики разные и далее в политтехнологии и психологии... видимо недооцениваю гениальность своей мысли, что "язык" - категория сопоставимая категории "число". :) интересует предметная область, которая у вас основная (не пишу "системная инженерия", вижу чтото более широкое). мне это очень давно интересно, но немного с другой стороны. если взять например обсуждаемый текст, всё так или иначе завязано на использовании понятия "язык", в каждом абзаце. но сам предмет "язык" абсолютно игнорируется. мне кажется уместным вопрос - "что такое язык?". вопрос "почему один язык эффективнее другого?" более чем рационален. и далее - существуют ли средства создания оптимального языка под любую конкретную задачу? и т.д. все эти "системы" и "модели" погружают в царство хаоса. понятие "язык" единственное имеет на этой глубине смысловую прочность и потенциал значимости/эффективности.

Ответ на комментарий

Имя не сохранено · 31 августа 2009

Комментарий

Виктор Батоврин в своей презентации в Светлогорске указал на такой тренд, как по мере перехода к рассмотрению сверхсложных систем "ограниченное применение традиционных методов аналитического и имитационного моделирования с одновременным повышением роли эталонных моделей". Я хотел бы с этим поспорить. Батоврин видимо не совсем понимает для чего используются современные модели. Они и вправду нужны для понимания и описания требований. Моделирование - это такая парадигма оперирования, порожденная тем, что компьютеры все дешевеют и дешевеют. И этим пытаются пользоваться разные люди. Что-то у них получается, что-то не получается, но самое пожалуй интересное, что когда не получается, то результаты интереснее выходят, ибо неожиданнее :).

Анатолий Левенчук · 31 августа 2009

Комментарий

Та логика, которая ближе к философии -- это и есть про "язык". А то, что вы пишете, очень близко к проблемам, изучаемым эпистемологией, ибо про "знания" (эпистемы). "Что такое язык" -- это не вопрос, ибо сколько заинтересованных сторон, столько ответов на этот вопрос. "А что вы хотите потом с этим языком делать? В зависимости от этих операций и дадим определение языка, как удобного для этих операций". Системы и модели не погружают в царство хаоса, а выводят из него. Но у каждой системы есть множество описаний (моделей). Каждое описание подразумевает метод описания, включающий язык. Одной из составляющих языка является онтология (подразумеваемое существование объектов и свойств, для которых в языке есть название). Ну, далее опять же философия и логика со всеми остановками. Царских путей "в язык через язык" я как-то не встречал.

Ответ на комментарий

Имя не сохранено · 31 августа 2009

Комментарий

Если основа статична, то капище получается многоязыковым. Если же она расширяема, то вместо создания DSL можно ограничиться добавлением нескольких понятий к базовому через импорт библиотек. Одна часть библиотеки предназначена для языка (синтаксический сахар для новых понятий и/или обработка новых сущностей в графическом представлении), другая для IDE (если для новых понятий появляются новые режимы редактирования), третья - runtime. Тогда при пересечении двух предметных областей можно одновременно использовать в языке две библиотеки. При том, что сами они, помимо базы, могут использовать общую библиотеку символьных вычислений (language+IDE+runtime), например.

Анатолий Левенчук · 31 августа 2009

Комментарий

Там гораздо больше всякие опций. Например, не факт, что речь идет о "библиотеках" (которые вызывают), а не о "фреймворках" (из которых вызывают). И фокус в том, что не про "синтаксический сахар" говорится, а про определение новых типов операций, а может и о добавлении новых парадигм (логической, функциональной и т.д.). Но то, что при этом приходится расширять IDE и иметь "редактор языков" вместо "редактора языка", в который встроен компилятор из конкретного синтаксиса в абстрактный, так это факт и одно из основных отличий.

Ответ на комментарий

Имя не сохранено · 31 августа 2009

Комментарий

>>Системы и модели не погружают в царство хаоса, а выводят из него. извините, что я экспрессивно(отчасти даже провокационно). сложные мысли. чтоб кратко и понятно написать. >>Царских путей "в язык через язык" я как-то не встречал спасибо. это ответ на мой вопрос.

Ответ на комментарий

Имя не сохранено · 31 августа 2009

Комментарий

Мне кажется в случае моделирования, это даже более интересный результат. Ведь если модель не сошлась с реальностью, ну и покопаться в причинах, то фактически ты делаешь открытие :). Т.е. находишь новый значимый фактор, которые другие не учитывают - модель ведь строится на основе common sence. И это уже твое конкурентное преимущество. На биржевых игрищах это хорошо видно. Если нашел ценовую аномалию, то часто ее можно монетизировать, играя против рынка. Сорос это хорошо расписывает.

Ответ на комментарий

Имя не сохранено · 31 августа 2009

Комментарий

Вообще речь именно об этом - добавление новой парадигмы и есть добавление библиотеки. Для добавления логической (FOL в варианте Пролога) импортируются понятия фактов и правил вывода. Причём, как в базовый язык, так, при желании, и в "пустой" язык, получая на выходе незамутнённый Пролог. Есть выбор. Из чего следует возможность IDE поддерживать синтезированный здесь и сейчас язык, так как эта поддержка уже включена в библиотеки, из которых он синтезирован.

Ответ на комментарий

Анатолий Левенчук · 31 августа 2009

Комментарий

Мне трудно в терминах "библиотеки". Все-таки в языке есть много того, что не входит в "библиотеки" (хотя для процедурных языков какие-то "библиотеки" обычно включаются). Я думаю, вы просто пытаетесь использовать этот библиотечный способ говорения, когда пытаетесь в системе-капище выделить основные архитектурные элементы. Я рекомендую либо использовать системный язык при описании элементов, либо что-то из терминологии, используемой нынешними разработчиками помянутых систем. Они про "библиотеки", насколько я помню, не пишут: у них там архитектура в других терминах определяется. Библиотеки там задний винтик в дополнительном колесе, не главное.

Ответ на комментарий

Имя не сохранено · 31 августа 2009

Комментарий

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

Ответ на комментарий

Анатолий Левенчук · 31 августа 2009

Комментарий

Я бы сказал наоборот: для других практик другие лексики. Все-таки первичны практики, лексики идут позже, когда практики эти нужно кому-то объяснить (себе или другим).

Ответ на комментарий

Имя не сохранено · 31 августа 2009

Комментарий

Чтобы другая лексика стала родной требуется заниматься другими практиками. Про это я вас просил в почте. :)

Ответ на комментарий

Анатолий Левенчук · 1 сентября 2009

Re: немного off-topic

Да, это про НЛП и как его делали (как создали новую предметную область). Это про эпистемологию, книжка ученика Грегори Бейтсона.

Ответ на комментарий

Анатолий Левенчук · 24 января 2013

Комментарий

Кстати, вышла такая вот книжка: http://dslbook.org/ -- хотя там, конечно, довольно специфичный взгляд на проблему и на средства её решения. Этот подход явно не ко всем предметным областям и не ко всем проблемам этих областей.

Ответ на комментарий