DRAKON.SU

Текущее время: Среда, 24 Апрель, 2024 02:49

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Анатолий Левенчук о языке ДРАКОН
СообщениеДобавлено: Пятница, 01 Апрель, 2016 19:53 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5850
Откуда: Москва
Анатолий Левенчук о языке ДРАКОН

2009 год. Из Живого Журнала
http://ailev.livejournal.com/682893.html

Цитата:
Об ДРАКОНа

Последнюю пару недель много разговоров про ДРАКОН (Дружелюбный Русский Алгоритмический Язык, Который Обеспечивает Наглядность):

Ознакомительная статья с картинками -- http://www.transhumanism-russia.ru/cont ... w/331/116/
viewforum.php?f=62&start=0 -- родной форум разработчиков

http://www.computerra.ru/readitorial/418507/ -- краткая историческая справочка и http://www.computerra.ru/forum/index.ph ... TID=332361 -- 57 страниц дискуссии (с 13 апреля 2009г.), и конца дискуссии пока не видно.

Основные бурно обсуждаемые вопросы -- ДРАКОН как алгоритмический язык для непрограммистов, ДРАКОН как предтеча UML, ДРАКОН как российский космический язык (вариант: SysML для Бурана), ДРАКОН как удобная замена IDEF0, ДРАКОН как школьный алгоритмический язык, ДРАКОН как графическая нотация для Паскаля, Си и прочих Модул и т.д. и т.п.

Вот мои три копейки к этим дискуссиям:

1. Очень жалко, что много-много отечественных (да и не отечественных) языков конца 80-х померло, едва родившись. Так, я принял где-то в 1990-м году участие в разработке языка Pra, и до сих пор жалею, что идеи этого языка остались нереализованными -- даже спецификаций не сохранилось.

2. Увы, отечественные языки в большинстве своем остались на уровне "пакетных" (краткий миг между тогдашним процедурным прошлым и объект-ориентированным будущим -- Ада, Модула как примеры). Мейнстримный переход к объект-ориентированным языкам так и прошел незамеченным. ДРАКОНа этот вопрос даже не волнует, его волнует представление пробега точки исполнения по многовариантному будущему. Развертка во времени (планы), вот что для этого языка волнительно, а структура мира этим языком не описывается.

3. В языках есть три части: абстрактный синтаксис, представления (конкретный синтаксис: часто несколько -- текстовое, графическое, табличное и т.д.), стили -- правила хорошего тона (эргономика, как ее называют авторы ДРАКОНа: то, что безразлично компиляторам, кроме тех языков, в которых значимы элементы, традиционно относимые в других языках к чисто оформительским, например, значимые отступы). ДРАКОН неинтересен как язык, его абстрактный синтаксис примитивен. ДРАКОН неинтересен, как конкретный синтаксис -- это просто один из вариантов представления алгоритма его блок-схемой. ДРАКОН интересен его вниманием к эргономике.

4. Поэтому ДРАКОН я бы считал примером того, как из дерьма (блок-схем) какого-то однобокого процедурного view на систему можно пытаться делать конфетку, определяя стиль использования. Важен не конкретный ДРАКОН, важен метод, который красочно и ярко демонстрируют его создатели: алгоритм сам по себе ничто, а его выражение-представление-оформление-изложение -- всё. В этом месте у меня всплывает Кнутовское литературное программирование, хотя я понимаю всю кощунственность его поминания в этом контексте.

Вот взять, например, какой-нибудь SysML в графическом его конкретном синтаксисе использовать методы стилизации/"эргономизации", наработанные в ДРАКОНе и абстрагированные от ДРАКОНа.

5. Отдельный вопрос -- это сознательная ориентация ДРАКОНа на попсовость. ДРАКОН предлагает не мощные средства выражения, а понятные. У него нет задачи выразить что-то компактно/лаконично, или красиво, или встроить в себя какую-то другую нотацию/DSL. У него есть задача выразить последовательность шагов алгоритма понятно, снизить входной барьер. Это прямой антипод Форта/Лиспа (в их стековой парадигме и функциональной парадигме) и прямой наследник Бейсика в закреплении "народных операторов". Если одни языкостроители ломают (ну ладно -- не ломают, а разминают) мозги пятикурсников об свой язык, то другие языкостроители обламывают свои языки под мозг пятиклассников. И не нужно мне говорить, что "истина должна быть где-то посредине".

6. Я вот ищу язык моделирования, с которым можно было бы прийти к инженерам и организаторам. И никаких дебютных идей по этому поводу я не вижу. ДРАКОН с его чиста конкретна процедурным заходом идет лесом, SysML с его "суженым расширеным" UML идет другим лесом, IDEF0 с его однобокостью идет третьим лесом.

Правильных текстовых языков на темы моделирования я не встречал. Нынешние симпатии мои на стороне безатрибутных языков (ORM, Gellish), плюс в качестве конкретного синтаксической одёжки для них DSL-шаблоны (про которые, конечно, пишут "думайте о шаблонах как о макросах"). Для этих языков нет ни хороших конкретных синтаксисов для разных удобных view, ни развитого инструментария, ни -- тем более -- инструкций по стилю типа тех, что можно найти в описаниях ДРАКОНа. Но какой-то нюх мне подсказывает, что искать всё мне потребное нужно именно в этом месте: мозгозаворачивательный безатрибутный холст, на котором нарисованы тщательно обломанные под народный уровень DSL.

Йа -- язычнег.

После этого идут 28 интересных комментариев
http://ailev.livejournal.com/682893.html


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 01 Апрель, 2016 19:59 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5850
Откуда: Москва
Прошло пять лет.
Фейсбук. 1 апреля 2016 года
https://www.facebook.com/osovskiy/posts ... 0608621551

Цитата:
Анатолий Левенчук Я писал про ДРАКОН в 2009 (http://ailev.livejournal.com/682893.html), с тех пор не слишком много изменилось. Разве что стало более понятным про неявно там высказываемый принцип "скрипки Энгельбарта": вся технология (включая языки) не должны усиливать возможности человека, побеждает примитивизация (скрипка из одной струны, например) и автоматизация (вместо меня на скрипке играет робот).

Из языков-наследников линии фортран-ДРАКОН сейчас интересен "сделанный для вычисляющих людей, а не компьютерных учёных" Julia, но это тоже во многом скрипка Энгельбарта.

Отдельный сюжет -- это почему блок-схемы в программировании сдохли, несмотря на всю наглядность. И вообще, диаграммные языки не взлетели, несмотря на тысячи и тысячи попыток (кроме, может быть, LabVIEW). На заре программирования блок-схемы использовали все и всегда, а сейчас никто и никогда. Если рассматривать судьбы визуальных языков, то вопрос о блок-схемах -- это очень хороший кейс.


Цитата:
Владимир Паронджанов. Я дорожу мнением Анатолия Левенчука (еще с 2009 года). Но у меня ответ иной. Я пришел к выводу, что ДРАКОН не имеет конкурентов для представления медицинских алгоритмов. Вдохновленный поддержкой литовских врачей, я написал книгу на эту тему: http://drakon.su/_media/pochemu_vrachi_ ... entov_.pdf

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 01 Апрель, 2016 20:04 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5850
Откуда: Москва
https://www.facebook.com/osovskiy/posts ... 0608621551

Фейсбук. Отзыв Анатолия Левенчука о моей книге по медицинским алгоритмам.
Цитата:
Анатолий Левенчук У меня по этой книге буквально пара замечаний:

1. Это по факту предложение использовать ДРАКОН вместо BPMN 2.0. Ну, и как какую-то алгоритмизацию для чеклистов (это требует отдельного рассмотрения -- см. книжку Атул Гаванде "Чек-лист: Как избежать глупых ошибок, ведущих к фатальным последствиям").

2. И при этом мы тут же попадаем в дискуссию между любителями BPM и сторонниками case-management про возможность up-front планирования в хоть сколько-нибудь сложных случаях. То есть какие-то короткие шаблоны/паттерны действий и решений выживают, а хоть сколько-нибудь длинные нет. В этой связи предлагаются совсем другие варианты нотаций, например http://www.omg.org/spec/CMMN/ -- но очень многие склоняются к тому, что эта нотация "тот же BPMN 2.0, только в профиль" (что не совсем верно, ибо под CMMN другая теория исполнимости, нежели под BPMN 2.0, тем не менее).

Дальше можно обсуждать, какая нотация (ДРАКОН, BPMN, CMMN) лучше, и почему. Какие нотации лучше для чеклистов, и почему. И как это всё приложимо к деятельности врача.

Заодно можно приплести, нотации тут нужны врачам с чеклистами и планами, или машинный интеллект с прямыми подсказками, который врача в экстренных случаях и матом может обложить, да ещё и сирену включить для пущей выразительности.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 01 Апрель, 2016 20:13 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5850
Откуда: Москва
Я обратил внимание на слова Анатолия Левенчука про язык Julia

http://ru.wikipedia.org/?oldid=77202416
Цитата:
Графическая реализация[править | править вики-текст]

В декабре 2011 года Стефан Бойер предложил идею графической реализации языка, которая облегчит работу с ним математикам и другим учёным, не обладающими навыками программирования и работы в UNIX-средах. Идея Бойера заключалась в переходе от отправки команд вычислительному кластеру к простой работе с браузером. При этом, клиентская часть, реализующая в том числе и графический интерфейс и платформу для построения графиков, может быть реализована при помощи таких современных (на тот момент) технологий как HTML5, SVG и AJAX[8].

Для реализации своей идеи Бойер использовал серверную часть, написанную на языке Julia, которая при помощи специального менеджера сессий протокола SCGI взаимодействует с веб-сервером на базе lighttpd. Подобный подход позволил довольно несложным путем реализовать концепцию REPL, обладающую следующими возможностями: построение графиков на основе вычислений функций, одномерных массивов и наборов точек любого числового типа; удобство работы со средой (автоматическое определение размера окон и т. д.); расширяемость и кросс-платформенность между браузерами. Функции для построения графиков в такой среде могут задаваться несколькими способами:

plot(sin, -pi, pi)
или

plot([0.0, 0.1, 0.4, 0.3, 0.4])
[8].


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 02 Апрель, 2016 09:34 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Просмотрел навскидку первые 4 поста этой темы и материалы по ссылкам
и решил отложить всю срочную горячку на неотложное их первичное осмысление.
По горячим впечатлениям
(которые, как известно, очень верные в чем-то там, пока не замылились, и пыл не запал).

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

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

2
В частности, это относится к ссылкам на часть VII:
Теоретические основы языка Дракон
http://drakon.su/_media/biblioteka/chast_7._425-472_teoreticheskie_osnovy_jazyka_drakon.pdf
На самом деле - это:
Теоретические основы последовательной парадигмы языка Дракон.

3
В данном отношении общим недостатком такой традиции является следующее:
1)
По уровню проблематики:
-- все аспекты, характерные для последовательных парадигм,
на порядок сложнее в рамках параллельных парадигм
(в диапазоне от двоичного до десятичного порядка и более).
-- в параллельных парадигмах появляются качественно новые аспекты и проблемы,
отсутствующие в последовательных парадигмах
(или они представлены как вырожденные частные случаи,
наличие которых, к тому же, четко проявляется только с параллельных позиций).
2)
Фактически из этой традиции выпадает наличный параллельный потенциал Дракона.
3)
Это обстоятельство, в частности, сдерживает желание автора этого поста
вытянуть на форум обсуждение "Теоретические основы Дракона".
Не сами по себе (в последовательной парадигме), а с позиций
прикладной структурной теории параллельных (и, в частности, последовательных) алгоритмов.
4)
Пока не видятся явно теоретические основы параллельного Дракона.
А это - большой минус хотя бы, например,
для приложений Дракона в популярной (и остро актуальной) сейчас образовательной робототехнике:
-- в школе и дома;
-- в ее продвижении в на первые курсы вызов
(в продолжение образовательной информатики) и т.д.

Все это пока не смертельно для традиционной последовательной парадигмы Дракона
(и слава богу).
Но перспективы должны всех напрягать - и в позитиве и в (наличном) негативе.

4
Уже в первом посте этой темы
http://forum.oberoncore.ru/viewtopic.php?p=95203#p95203
много интересных аспектов.
Они часто представлены в хлестком оценочном стиле крутого гуру
(который может себе это позволить).
Это и хорошо - колет глаз,
и в тоже время - это частная личная интерпретация разной конкретной фактуры
(не обязательно абсолютная истина).

5
В частности:
Цитата:
5. Отдельный вопрос -- это сознательная ориентация ДРАКОНа на попсовость.

ДРАКОН предлагает не мощные средства выражения, а понятные.

У него нет задачи выразить что-то компактно/лаконично, или красиво, или встроить в себя какую-то другую нотацию/DSL.

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

Это прямой антипод Форта/Лиспа (в их стековой парадигме и функциональной парадигме) и прямой наследник Бейсика в закреплении "народных операторов".

Если одни языкостроители ломают (ну ладно -- не ломают, а разминают) мозги пятикурсников об свой язык, то другие языкостроители обламывают свои языки под мозг пятиклассников.

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

Специально раздельно перечислил отдельные фразы одного многопрофильного абзаца.
Каждая - не в бровь, а в глаз.

5.1
Это в отрицательном оценочном отношении - авторитетная частная интерпретация.
Лично неоднократно высказывал некоторые аналогичные претензии - другими словами.

5.2
Однако все эти выказывания с благодарность принимаю и в свой адрес.
Причем в позитиве.
Может быть в обработке другими - учеными словами.
Но в представленных выше выражениях - это очень точно и неожиданно.

5.3
Например:
сознательная ориентация ДРАКОНа на попсовость.

1)
Отлично сказано.

2)
Лично неоднократно подчеркивал, что Дракон ориентирован и заточен
на "детский сад" алгоритмизации - для всех взрослых возрастов разных специальностей.
И возникают проблемы для его применения
в первичной вводной профессиональной подготовке
в области прикладной (структурной) теории параллельных алгоритмов
технических (в частности технологических и робототехнических) систем.

3)
Но этот аспект в негативной оценке
"сознательная ориентация на попсовость"
с благодарностью принимают - но в позитиве
и к собственной вводной проф-подготовке по прикладной (технической) теории параллельных алгоритмов.
В реализации тенденции ее продвижения:
-- от пятых курсов к первым курсам (первашам) разных специальностей;
-- и далее от старших школьных классов (был опыт в ПТУ) к пятым классам и далее.

4)
" ... другие языкостроители обламывают свои языки под мозг пятиклассников:

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

Путем высокоуровневых логико-алгоритмических надстроек
(в явной реализацией человеческой логики понятийного и образного мышления)
над объективно необходимыми низкоуровневыми математическими и программными базисами,
которые
"ломают (ну ладно -- не ломают, а разминают) мозги пятикурсников".

6
Ни и на конец этого содержательного абзаца (по п.5):
Цитата:
И не нужно мне говорить, что "истина должна быть где-то посредине".
Это так.
Если в тоскливом негативе искать простую истину где-то посередине.

А можно и по другому:
интегрировать разные подходы и истины в многоуровневые и многоаспектные системы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 02 Апрель, 2016 10:37 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5850
Откуда: Москва
Цитата:
Фактически из этой традиции выпадает наличный параллельный потенциал Дракона.
Не совсем так.
Слово параллельный можно понимать по-разному.

Для бортового космического программирования в ДРАКОНе есть параллельность.

1. Бортовая ЦВМ (БЦВМ) работает в режиме разделения времени.

2. Циклограмма БЦВМ делится на такты длительностью, например, 50 миллисекунд. Так было у БЦВМ AP101M фирмы IBM на орбитальном корабле Orbiter американского проекта Space Shuttle.

3. Каждый такт (50 мс) делится на части, например, на 20 частей.

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

5. Такты (50 мс) следуют друг за другом непрерывно. Если на участке довыведения ракета работает например 10 минут, значит, всего будет 10минут х 60 секунд х 1000 мс / 50 мс = 12000 тактов.

5. Пронумеруем все 20 программ: П1, П2, ... П20.

6. В пределах одного такта программы П1, П2, ... П20 работают последовательно,друг за другом.

7. Каждая программа (условно) работает 12000 тактов, повторяя (условно) одну и ту же работу для разных входных данных.

8. На протяжении 12000 тактов программы П1, П2, ... П20 работают одновременно и параллельно. При этом они обмениваются сигналами и командами друг с другом. И изменяют свою работу вследствие этих сигналов и команд.

9. Программа П1 — это бортовая операционная система реального времени. В каждом такте она (в частности) запускает прикладные программы П2, ... П20.

10. Язык ДРАКОН полностью поддерживает такую параллельную работу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 03 Апрель, 2016 19:51 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5850
Откуда: Москва
http://ailev.livejournal.com/1158826.html
Цитата:
Anatoly Levenchuk (ailev) wrote,
2015-01-10 22:21:00

Никто не хочет учиться играть на XYZ.

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

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

Наиболее часто обсуждается это в программистских кругах -- ибо в случае софта это наиболее очевидно. Вот несколько примеров этой одной и той же истории в разных её исполнениях.

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

Под "усилением человеческого интеллекта" он понимал усиление возможностей человека взаимодейстовать со сложной проблемной ситуацией, понимать её для удовлетворения собственных потребностей, а также получать в рассуждении решение проблемы. "Усилить" -- это быстрее по времени и лучше по качеству (http://www.dougengelbart.org/pubs/augment-3906.html).

В его лаборатории было придумано много всякого, чем мы пользуемся до сих пор (мышка, гипертекст и т.д., а демонстрация всего этого в далёком 1968 году называется ни больше ни меньше как The Mother of All Demos -- вполне заслуженно, http://en.wikipedia.org/wiki/The_Mother_of_All_Demos, http://web.stanford.edu/dept/SUL/librar ... 8Demo.html).

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

Его метафора была -- бульдозер/экскаватор, в кабине которого было много-много органов управления, позволяющих лихо этим инструментом управляться и подчинять его власти человека (http://www.youtube.com/watch?v=doNmniQrhBU, http://www.youtube.com/watch?v=9M_FnVvbJsE) против метафоры тепловоза, где человеку предоставлялось поучаствовать в настройке параметров того, что происходит и без него (http://www.contemporary-home-computing. ... analogies/).

Невзирая на огромный потенциал всех его новинок и изобретение им основ современного компьютерного интерфейса ещё в конце 60-х, в целом дело Doug Engelbart провалилось. Например, аккордовая клавиатура (вместо клавиатуры пишущей машинки).

Alan Kay сказал об этом просто "Энгельбарт, к лучшему или худшему, пытался сделать скрипку, но большинство людей не хотят учиться играть на скрипке" (http://com2710.dedalon.net/S_11_files/B ... r_User.rtf).

Какой критерий вместо "инструмент повышает производительность профессионала" приводил к успеху? Критерий "даже дурак сможет этим инструментом овладеть".

Наиболее красочный и известный рассказ о провале аккордовой клавиатуры в Сети, со множеством ссылок и фотографий, так и называется -- "Скрипка Энгельбарта" Станислава Дацковского: http://www.loper-os.org/?p=861

2. При создании языков программирования всегда стоит дилемма: должен ли быть этот язык мощным или лёгким. Иногда их даже называют LFSP (languages designed for smart peope), навроде Lisp, и LFM (languages designed for masses), навроде C++ -- http://paulgraham.com/vanlfsp.html. Дальше подставляйте сюда любые пары -- Haskell и Java, например. Заканчивайте каким-нибудь Coq.

Ответ в логике "мощь для профи против простоты для масс" понятен: языки для профи (выразительные, но требующие научения) останутся нишевыми.

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

Эта же дискуссия про "стильные языки" против "агглютинативных" в изложении того же Alan Kay (который сам всю жизнь изобретал скрипки, хоть и ругал за это Энгельбарта): "Стильные языки (APL, Lisp, Smalltalk) и агглютинативные ("клейкие") языки типа PL/1.

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

Кроме того, стильные языки обычно позднего связывания, а агглютинативные языки -- раннего, что приводит к совершенно разным процессам отладки, дает абсолютно разные типы ошибок. И для стильных языков не нужно беспокоиться об архитектуре фон Неймана. Это раздел двух культур, через эти различия в стилях невозможно общаться" -- пункт 8 из http://ailev.livejournal.com/469995.html.

И тут же дискуссия про bootstraping и взаимозаменяемость программистов , про разворачивание собственных подходов и инструментальных сред (Steps Toward Expressive Programming Systems тут: http://vpri.org/html/writings.php, сага о создании офисного пакета на 20тыс. строк), мемуар Михаила Донского, который описывает, что сильный программистский коллектив сам себе разрабатывает фреймворк -- чуть ли не от уровня железа.

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

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

И тот же Донской мне рассказал, что язык программирования только по недоразумению называют языком, настоящий язык -- это собственноручно созданные библиотеки и фреймоворки, на которых и создаётся большая система, и только если у тебя есть такой "свой язык", то безопасно входить в большие проекты, которые идут больше года (http://ailev.livejournal.com/613067.html).

И отчаянный крик души Алана Кея про то, что компьютерная наука не идёт по пути развития эффективных и мощных средств, а сваливается в предложение всё более и более убогих "для масс" -- и массы тупеют.

С его точки зрения, люди должны (но не хотят, и нужно что-то с этим делать!) учиться, чтобы осваивать трудные языки -- вкладывать много-много часов, чтобы добиться беглости чтения и говорения на этих языках. И когда софт будет поддерживать таких людей, то в этот момент и будет компьютерная революция -- http://www.vpri.org/pdf/future_of_reading.pdf

3. Закон стандартов John Sowa 1991 года (http://en.wikipedia.org/wiki/John_F._So ... _standards) -- успешен становится не предлагаемый официальный проработанный до мелочей стандарт, а широко распространённая его упрощённая недоспецифицированная версия, она становится стандартом де-факто. Сложность со всей её мощью проигрывает простоте и недоспецифицированности.

4. Интересно, что этот же подход "мощь для профи против лёгкости для масс" может быть применён к целым отраслям знания.

Так, ван Бентем вообще договаривается до того, что вся логика -- это "наука, цель которой в значительной мере определяется поиском определенного баланса между выразительной силой формальных языков и многосложностью их использования при решении таких задач как осуществление контроля за согласованностью, адекватностью моделирования и правильностью вывода" (http://ailev.livejournal.com/915253.html).

То есть некоторые логики считают ответственными за проигрыш профессиональных языков перед простыми языками себя: именно логики не предложили способы сделать мощные языки доступными обычным интеллектуальным задохликам, а не интеллектуальным качкам.

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

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

"Профессиональный автомобиль" -- это возможность газовать каждым отдельным колесом, 8 передних передач и 20 задних. Автомобиль для тупых -- с автоматической коробкой передач и ABS, а в пределе так и вообще с автопилотом. Профессиональная функция отпадает.

Это же всё относится к роботам любого вида: изобретение конвейера не столько "усилило" человека и сделало его более обученным и способным, сколько привело к резкому снижению требуемой квалификации рабочего, "деградация работы в двадцатом веке": http://www.amazon.com/gp/product/0853459401/.

Хорошо обобщено это (с поминанием той же скрипки Энгельбарта и призывом не забывать о программе что-то делать и для умных людей, а не только тупых -- делать интерфейс между машиной и человеком более сложным, чтобы у человека был шанс вмешаться в работу машины) в рассказе http://www.macroresilience.com/2013/07/ ... ts-vision/. Atul Varma говорит о полностью автономной кофеварке, которая отлично справляется с задачей -- но в тот момент, когда что-то идёт не так, "кофеварка для тупых" терпит полное фиаско.

Если бы у человека был шанс вмешаться и человек был бы достаточно умён, то можно было бы что-то ещё сделать -- http://www.toolness.com/wp/2012/03/coff ... community/ (но для этого нужно бы "научиться играть на кофеварке", а люди не любят "учиться играть на XYZ". Но некоторые всё-таки будут учиться!).

Впрочем, и с "что-то идёт не так" тоже много чего по пути происходит: happy path становится всё разнообразнее и разнообразнее, плюс появляются resilience systems, задача которых быстро обнаруживать, что что-то идёт не так и пытаться выжить в этих условиях -- вплоть до полной перестройки того, что осталось от системы после поломки "изнутри системы".

* * *

C .15926 Editor мы сделали то же самое -- скрипку, на которой никто не хочет учиться играть. Это же относится не только к инструменту, но и к дисциплине: занятие онтологией требует времени для освоения, в каком-то смысле это освоение нового языка-основы и языка-библиотеки, как об этом говорил М.Донской (там ведь и обширная библиотека справочных данных).

Эффективно ли решать задачи интеграции данных, построения концептуальных моделей данных освоившему этот инструментарий человеку? Да, эффективно. Прост ли редактор (и заодно дисциплина, которую он поддерживает) в освоении? Нет, ибо там и 4D extensionalism, и RDL, и Python и много чего ещё. Люди не любят "учиться играть на XYZ", иструменты и языки для smart people не имеют шансов вне рамок выращивания их в каком-то узком комьюнити какого-то многолетнего проекта.

И к системной инженерии это тоже вполне относится. Знаниевые инструменты -- они такие же, как и любые другие. Играть на системноинженерой скрипке нужно долго учиться, но кто-то всё-таки научается. И это не мейнстрим!

Мейнстрим -- это автоматизация системной инженерии, а системные инженеры будущего это те, кто программирует системноинженерный софт, системноинженерную скрипку-самоиграйку, системноинженерную кофе-машинку с одной кнопкой "сделай мне красиво".

Smart people выжимаются в автоматизацию и делают автоматические скрипки с одной кнопкой Start (используя для этого профессиональные инструменты с огромным временем освоения и доработки до надлежащего уровня), оставшиеся наедине с одной кнопкой masses потом в среднем тупеют, как рабочие на конвейере -- будь то конвейер по сборке автомобилей, разработке софта или созданию ракет для покорения Марса.

И это всё растянуто на длиииинную цепочку творцов-программистов-кодеров-быдлокодеров-операторов-быдлооператоров-роботов.
POST A NEW COMMENT 28 comments
Далее идут 28 комментариев
http://ailev.livejournal.com/1158826.html


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 04 Апрель, 2016 16:26 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Владимир Паронджанов писал(а):
Цитата:
Фактически из этой традиции выпадает наличный параллельный потенциал Дракона.
Не совсем так.
Слово параллельный можно понимать по-разному.

Для бортового космического программирования в ДРАКОНе есть параллельность.
.................
.................
................

1
Имелось в виду:
из теоретических основ Дракона и представленных выше традиций обсуждения
выпадает параллельный потенциал Дракона.

2
А такой потенциал в Драконе есть:
2.1
В Драконе первоначально графически отражался
один из режим псевдопараллелизма процессов:
быстрое поочередное переключение управления относительно медленными процессами.
При этом описывается некоторая низкоуровневая реализация параллелизма
с порождением и замыканием параллельны ветвей.
2.2
Позднее были введены высокоуровневые графические средства параллелизма:
с явными указанием универсальных узлов разделения и соединения потоков управления
независимо от способов низкоуровневой реализации параллелизма.
2.3
Если покопать, то еще что-то есть - по взаимодействию процессов и т.п.

3
Все это выпадает из теоретических основ Дракона и его традиционных обсуждений (и критики).

4
Но это не такая простая и традиционная штука - потому и выпадает:
все аспекты на порядок сложнее.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 04 Апрель, 2016 17:20 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Владимир Паронджанов писал(а):
http://ailev.livejournal.com/1158826.html
Цитата:
Anatoly Levenchuk (ailev) wrote,
2015-01-10 22:21:00

Никто не хочет учиться играть на XYZ.
..................
..................
..................

Обширное многоаспектное изложение некоторой актуальной проблематики.
В основном безнадежно пессимистического турбулентного типа:
в среде безнадежной и беспросветной всеобщей тупости.

Но хотелось бы конкретизировать:
тему, цели, четкую позицию автора
(не просто критика всего - в оппозиции всему в презумпции неоспоримого превосходства) и т.п.,
конструктивные выводы и главное:
чЁ нам делать-то?

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

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

При этом нужны также:
1)
Обобщенные подходы для сходных методов и средств программирования,
а обобщения связаны с выковыриванием и осмыслением все более глубокой сути
(многих глубоких и мощных сутей).
2)
Интеграция разных, внешне несовместимых - ортогональных подходов:
обеспечивается закон необходимого разнообразия - преодоление монотеизма в программировании.
3)
И все это необходимо периодически укрупнять, ужимать и упрощать:
в соответствии с естественным все более высокоуровневым мышлением.
Вот в чем вопрос.
--------------------
И все это тоже периодически делается кем-то - по объективной необходимости.
Так что не все так безнадежно и беспросветно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB