Миф и наука находятся в необычайно тесном взаимодействии. Как говорил А.Ф. Лосев, «наука не рождается из мифа, но наука не существует без мифа, наука всегда мифологична» [1]. Несмотря на существенные различия мифа и науки, (миф «практичен, насущен, всегда эмоционален, аффективен, жизненен», наука «хлопотлива, полна сует», требует «наблюдать, запоминать, анализировать, синтезировать»; миф «непосредственен, наивен, общепонятен», наука «требует длительной выучки и абстрактных навыков») [1], они имеют и аналогичные черты. Так исследователь мифа, видный методолог науки, Курт Хюбнер, выделял несколько уровней в построении науки [2], которые можно назвать: «априорные сведения», «факты» и «наука» непосредственно. Он весьма точно отметил, что в процессе перехода от фактов к научной теории большое влияние имеет личность исследователя, процесс его истолкования фактов. На основе различного набора фактов об априорных установках и в зависимости от процесса истолкования может образоваться несколько научных теорий (физика Ньютона, физика Эйнштейна, физика Планка). Научная теория, как опытная система, проходит через эти этапы.
Данная схема отлично применима и к понятию мифа, который проходит все те же этапы в процессе формирования. Сравнительный пример приведён у Хюбнера в виде мифа о Персее [2], которому явилась Афина. В зависимости от толкования, действия могут быть описаны как с мифической, так и с научной точки зрения. В большинстве случаев именно процесс толкования продуцирует науку или миф на основе тех или иных фактов. Таким образом, можно отметить, что миф является такой же опытной системой, как и наука; другими словами, миф, как и наука, может опираться на эмпирическую основу.
Если вернуться к программированию, то в нём имеет место та же схема. При разработке некоторой программы, некоторой модели, знания о предметной области определённым образом формализуются. Процесс формализации – тот же процесс толкования, в результате которого могут возникать различные модели. Более живой пример – это парадигмы программирования. На основе одних и тех же эмпирических основах возникают различные модели программирования, такие как функциональная, объектно-ориентированная, императивная.
Современное программирование обладает рядом устойчивых черт, среди которых можно выделить следующие черты как наиболее важные:
Невероятно высокая скорость развития данной области технознания.
Чрезвычайная сложность систем.
Данные свойства выводят на одну общую для всех наук проблему – проблему поиска смысла, первопричины, основания.. В программировании данная проблема может иметь вид от «почему моя программа не работает» до «в чём смысл искусственного интеллекта». Однако описанные же выше свойства отрасли и мешают человеку решить проблемы «привычным» на сегодняшний день способом – логикой, рассуждениями, силой разума. Разум пасует.
Простым примером подобной ситуации может быть следующая: когда у пользователя перестаёт работать ПК, то часто вызывается специалист, системный администратор. Чаще всего, он совершает действия, неизвестные, непонятные пользователю, так что система кажется «магическим образом» починившейся. Таким образом, формируются различные мифы о ПК и компьютерных специалистах. Другой пример, из профессиональной области – сложно-обнаруживаемая ошибка в ПО. В силу крайне высокой сложности современных систем, над которыми работают десятки тысяч человек, большим количеством взаимосвязанных компонентов, некоторые дефекты становится трудно диагностировать, в то время как некоторые действия могут «замаскировать» проблему, внешнее проявление программного дефекта. Поэтому в таких случаях может возникнуть следующий миф: «пересборку исходного кода решает проблема», в то время как проблема скрывается. Важно то, что однажды появившись, данный миф продолжит существовать в умах специалистов и влиять на результат работы.
Высокая скорость развития области оказывает огромное влияние на мифы о процессах разработки ПО, которые задают глобальное направление движения. Удивительно, как мифы и проблемы, поднятые более 40 лет назад, например, Фредериком Бруксом [3], остаются популярными и сегодня. Появляются и новые мифы, такие как популярность тех или иных методологий разработки ПО (Agile, Lean). Во многих случаях, именно необходимость успевать за последними трендами, необходимость разработки системы быстрее конкурентов служат причиной появления таких мифов.
Не стоит считать, что данные проявления мифа негативны. Миф в разработке ПО – удивительное средство абстракции, которое позволяет дифференцировать части системы и облегчить её восприятие в целом. Фактически, основа современного программирования, да и в целом физико-математических наук – это абстрагирование. Как было показано выше, парадигмы программирования, эти схемы представления предметной области, являют ярчайшие примеры мифа в компьютерных науках. Программная модель, на основе которой строится ПО, есть абстракция. Миф является в своей сути непосредственно данным свойством программирования.
Так мы можем видеть, что миф – это не только выдумка, заблуждение, имеющее незначительные связи с реальностью. Миф скорее представляет собой такую же эмпирическую систему, как и наука. Для программирования же миф является самой сущностью. В силу сказанного такое явление применимо не только к сфере информационных технологий, но тем или иным способом миф проникает во многие сферы мира XXI века. Ведь его основная функция – это функция конструирования общности в языковом, этническом и прочем культурном отношениях. Этим «прочим» в нашем случае является конструирование профессиональной общности, чрезвычайно востребованной современным миром и удивительно быстро растущей в последнее десятилетие, – IT- сообщества.
Список литературы
Лосев, А.Ф. Диалектика мифа; Сост., подг. текста, общ. ред. А. А. Тахо-Годи, В. П. Троицкого /А.Ф. Лосев. – М.: Мысль, 2001.- 558, [1] с, 1 л. портр.- (Филос. Наследие).
Хюбнер, К. Прогресс от мифа через логос к науке как теоретико-познавательная проблема. Разум и экзистенция: Анализ научных и вненаучных форм мышления; ред.: И. Т. Касавин, В. Порус/ К.Хюбнер. – СПб: Изд-во Русского христианского гуманитарного института, 1999. – С. 114-125.
Брукс, Ф. Мифический человеко-месяц или Как создаются программные системы /Ф. Брукс. – М.: Символ-Плюс, 2010.- 304. — (Профессионально).