Притча о том, как Господь Бог языки создавал 





Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Притча о том, как Господь Бог языки создавал



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

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

— А как же остальные? — удивились референты и апостолы. — Ведь им тоже нужны свои языки.

— Какие такие остальные?

— Ну все остальные, кроме программистов: физики, химики, геологи, медики, энергетики, атомщики, управленцы, экономисты, биологи, юристы всякие.

— Зачем им свои языки? Пусть пользуются языками программирования.

— Да они их не знают.

— Что значит не знают. Пускай выучат.

Наступило неловкое молчание. Наконец, апостол Павел дипломатично произнес:

— Ваше Божественное Всемогущество! Поскольку Вы сами создали все языки, для Вас выучить язык программирования — раз плюнуть. Но человек слаб.

— Это верно, он слаб, — подтвердил Господь.

— Поэтому для среднего работника умственного труда (не программиста), у которого своих забот выше крыши, разобраться в тонкостях программирования довольно трудно.

— Трудности можно преодолеть.

— Можно-то оно можно. Так ведь душа не лежит, потому как — противно, а главное — зачем? Нельзя же насильно заставлять человека учить то, что ему не нужно для работы. Для большинства людей язык программирования — это “собачий” язык, а написанные на нем программы — странная окрошка из египетских иероглифов. Они непонятны никому, кроме горстки их создателей.

— Что вы такое говорите! — возмутился Господь. — Сразу видно, что вы отстали от жизни. Академик Ершов учит, что “программирование — вторая грамотность”. Нынче даже школьники программы освоили. А студенты их, как орехи, щелкают. Запомните: программирование должны знать все! Это и будет общий язык для взаимопонимания между специалистами. И никаких других языков не нужно. Все. Совещание окончено. Выполняйте!

Однако, как это часто бывает, с реализацией руководящих указаний по неизвестным причинам возникла небольшая заминка. Или, наоборот, большая. Потому что лозунг “программирование — вторая грамотность”, подразумевающий чуть ли не поголовное умение программировать, воплотить в жизнь до сих пор не удалось. Практика показывает, что умеющие программировать составляют лишь около 10% от общей численности работников умственного труда. Поэтому сегодня в сообществе интеллектуальных работников образовался значительный языковый дисбаланс. Он заключается в том, что меньшинство (10% программистов) владеет огромным языковым богатством, включающим 3000 языков программирования. А подавляющее большинство (90% специалистов) кроме языка математики не имеют в своем распоряжении никакого другого широко распространенного и универсального формального средства.

Читатель. Так, может, этим специалистам и не нужны никакие языки?

Автор. Это не так. Язык — интеллектуальное оружие специалиста. Чем лучше язык, тем лучше работает мозг, тем выше производительность умственного труда.

Читатель. Как же быть?

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

Читатель. Где же выход?

Автор. Нужно устранить диспропорцию в обеспечении специалистов языковыми средствами. Поскольку меньшинство (т. е. программисты) уже располагает достаточным числом высокоэффективных языков, настало время подумать об остальных. Сегодня необходимо создать не очередной язык для меньшинства, а язык для всех, который позволит укрепить слабое звено и улучшить умственную продуктивность большинства специалистов. Для этого нужно построить формальный или частично формальный язык, который был бы не “собачьим” или “птичьим”, а “человечьим” — общедоступным, удобным и понятным для каждого. Язык ДРАКОН как раз и призван хотя бы отчасти заделать эту зияющую брешь. ДРАКОН — это язык не для элиты, а для широких масс, которые категорически не приемлют “птичьи” языки программирования.

Смена терминов
или изменение концепции?

Читатель. Стало быть, ДРАКОН — это не язык программирования, а что-то новенькое. Как же прикажете его величать?

Автор. Назвать можно как угодно. Например, “технологический язык”, сокращенно “техноязык”.

Читатель. Все-таки непонятно: зачем менять устоявшуюся терминологию, к которой все привыкли? Чем вам не нравится название “язык программирования”?

Автор. Речь не о смене терминов, а о коренном изменении концепции. Давайте начнем от печки. Мы говорим об ученых, врачах, технологах, педагогах и других работниках умственного труда. О тех, кто не программировал, не программирует и не собирается программировать. О тех, кому по характеру работы это просто не нужно. Потому что их работа заключается совсем в другом. Так вот, цель состоит в том, чтобы создать для этих людей новый язык, который помог бы им решать те задачи, которые они сегодня решают, но делать это более быстро и эффективно. Таким образом, речь идет не о программировании, а совсем о других видах деятельности. Поэтому название “язык программирования” здесь просто неуместно.

Читатель. Все равно непонятно.

Автор. Рассмотрим пример. Химик написал формулу

HCl + NaOH = NaCl + H2O

Какой язык здесь использован? Ясно, что это не язык программирования, а язык химических формул. Последний является “родным” языком химиков и помогает им успешно справляться со своими проблемами. Правда, этот язык не общий, а частный: он позволяет решать не все задачи, волнующие химиков, а только некоторые. А за рамками химии он вообще почти никому не интересен. В отличие от него техно­язык — это универсальный язык, пригодный для широкого класса задач практически в любых областях человеческой деятельности.

Самая сложная вещь на свете

Читатель. Что значит “в любых областях деятельности”? Что общего между деятельностью врача и конструктора, финансиста и агронома, металлурга и микробиолога?

Автор. Общее то, что все они работают, т. е. занимаются деятельностью. Человеческая деятельность — самая сложная вещь на свете.

Читатель. Что в ней такого уж сложного?

Автор. Деятельность состоит из действий, а последние зависят от условий. При данном условии я выполняю одни действия, при другом — другие. Если работа сложная, приходится учитывать сотни и тысячи условий, которые образуют невообразимое число сочетаний. И для каждого сочетания порою нужно делать совершенно разные цепочки операций.

Иногда работник действует интуитивно, “наощупь”, по обстоятельствам. Некоторые операции человек выполняет сам, другие поручает различным механизмам, роботам, компьютерам.

Проблема в том, что до сих пор отсутствует эффективный язык, позволяющий дать целостное и точное описание деятельности во всем ее красочном многообразии, богатстве и многосложности, выявить ее правила и структуру, учесть тончайшие отличия и особенности разных профессий (а их — тысячи), устранить путаницу и неразбериху, навести порядок, систематизировать знания о деятельности и представить их в наглядной и удобной форме. Нынешние многотомные руководства, содержащие описание деятельности, слишком трудны — мозги сломаешь, пока поймешь. К тому же они неполны — многие знания о деятельности нигде не записаны и хранятся только в головах людей. Вытащить их оттуда — сложнейшая задача. Отсутствие удобного языка для описания структуры деятельности сильно затрудняет обучение. Многие важные сведения вообще не зафиксированы в документах и передаются как эпос по принципу “из уст в уста”.

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

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

Читатель. Ага, так значит ДРАКОН — это все-таки язык программирования!

Автор. Послушайте, вы, по-моему, нарочно хотите поссорить меня с теми, ради кого написана эта книга. Надо же учитывать человеческую психологию! Если я скажу, что ДРАКОН — язык программирования, немалая часть потенциальных читателей тут же отшвырнет ее со словами: “Это для программистов, мне это не нужно!” Их можно понять, потому что сам термин “язык программирования” для многих уже давно превратился в красную тряпку, в ненавистное пугало.

Читатель. А я подозреваю, что вы сознательно пытаетесь обмануть людей, подсунув им старый товар в новой упаковке.

Зачем Дракону две головы?

 
 

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

 

Вторая функция состоит в том, что для программистов ДРАКОН действительно является языком программирования. Таким образом, ДРАКОН имеет две головы, обращенные к совершенно разным аудиториям. Причем каждая голова пытается угадать сокровенные потребности своей аудитории и по возможности удовлетворить их наилучшим образом.

Читатель. Стало быть, вы хотите угодить и нашим, и вашим?

Автор. Вот именно. В этом состоит одно из ключевых преимуществ, поскольку язык ДРАКОН можно использовать как удобный “мост взаимопонимания” между непрограммирующим большинством и программирующим меньшинством, между “бескомпьютерной” и компьютерной интеллектуальной деятельностью.

Справка о состоянии дел

Язык ДРАКОН разработан совместными усилиями Российского космического агентства (НПЦ автоматики и приборостроения, г. Москва) и Российской академии наук (Институт прикладной математики им. М.В. Келдыша, г. Москва) как обобщение опыта работ по созданию космического корабля “Буран”. На базе ДРАКОНА построена автоматизированная технология проектирования программных систем (CASE-технология) под названием “ГРАФИТ-ФЛОКС”. Она успешно используется в ряде крупных космических проектов: “Морской старт”, “Фрегат”, “Протон-М” и др.

ДРАКОН — очень легкий язык. Настолько легкий, что разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а обычные специалисты — по принципу “программирование без программистов”. Причина отказа от программистов проста. При решении практических прикладных задач специалисты досконально владеют материалом и прекрасно знают постановку задачи. В отличие от них программисты не знают “физику процесса” и становятся “лишними людьми”, без которых вполне можно обойтись. Это позволяет значительно сократить издержки, улучшить показатель “затраты—результат”, ускорить ход работ и полностью избавиться от ошибок “испорченного телефона”, вызванных взаимным непониманием между ПРОГРАММИСТАМИ и СПЕЦИАЛИСТАМИ.

ДРАКОН универсален. Он может применяться для наглядного представления и быстрой разработки алгоритмов не только в “космосе”, но и в “земных” видах человеческой деятельности. Практическая полезность ДРАКОНА получила высокую оценку. Министерство образования вклю­чило изучение языка ДРАКОН в программу курса информатики высшей школы (см.: Примерная программа дисциплины “Информатика”. Издание официальное. — М.: Госкомвуз, 1996. С. 3, 4, 15, 16).Ведется подготовка учебных книг для средней и высшей школы. Уже издана первая из них — игровое учебное пособие для детей младшего и среднего школьного возраста:

 
 

Глава 1:
На подступах к новому языку

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

Джордж Паджет Томсон

Зачем нужен язык Дракон?

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

Хотя ДРАКОН внешне очень напоминает обычные блок-схемы алгоритмов и программ, фактически он является оригинальной разработкой. Наиболее близким функциональным аналогом ДРАКОНА следует считать схемы действий (action diagrams) [1–4] и схемы деятельности (activity diagrams) [5].

Для дотошных читателей, которые любят подробности, аналогами ДРАКОНА — в той или иной степени — можно назвать и более дальних “родственников”. К их числу относятся: диаграммы Несси—Шней­дермана [6], HOS-схемы [1], схемы “гринпринт” [7], SPD-диаграммы фирмы NEC [8], PAD-схемы фирмы Хитачи [8], деревья и таблицы ре­шений, схемы декомпозиции [4], схемы зависимости [1], язык SDL и его производные, систему BLS, созданную А. Смоляниновым из Санкт-Петербургского электротехнического университета, R-схемы И. Вельбицкого, p-схемы В. Прохорова и т. д.





Последнее изменение этой страницы: 2016-09-20; просмотров: 145; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.87.250.158 (0.011 с.)