Мне с детства нравится наука. Здорово читать в научно-популярных журналах о том, как исследование различных закономерностей позволяет создавать новые приборы, лекарства, защищает от различных катаклизмов и, в целом, помогает огромному количеству людей. Это не может не вдохновлять.
Жизнь сложилась так, что защитив диссертацию по теоретической физике, я переключился на программирование. «Научность» здесь заключается в поиске наиболее полезных техник, позволяющих минимальной ценой создавать и сопровождать качественные программы.
Но чем больше я погружался что в физику, что в программирование, тем больше замечал сколько в них скопилось абсурдных догм, не просто бесполезных, но даже вредных, антинаучных по своей сути.
Предлагаю обсудить эту проблему для того, чтобы в дальнейшем стало проще отделять вредных мух от полезных котлет.
Философия
В начале, как известно, было слово. Позднее появились «словолюбы» — философы. Хотя формально они всё же «любители мудрствовать», но в те дремучие времена философом могли назвать любого, кто ловко жонглировал словами (см. Софистика).
Требуется большое количество свободного времени, чтобы отточить навыки риторики. Его было в достатке у зажиточных граждан, которым не приходилось постоянно думать об улучшении благосостояния или о собственном выживании. Они могли свободно прожигать время на философствования, даже не задумываясь о хоть какой-то их «полезности».
Но прогресс не стоит на месте. Эволюция экономических отношений приводит к постепенному сдвигу общественного сознания. Всё больше говорят о ценности времени и о том, как потратить его с пользой. И вот — от общей массы философских рассуждений начинает отпочковываться научный метод, акцентирующийся именно на полезности знаний, применимости их в материальном мире.
Сейчас науки вроде как отделены от философии, но это не точно. До сих пор в ВУЗах есть кафедры и целые факультеты, посвящённые философии. Под этим ярлыком можно найти несколько слабо связанных научных дисциплин, но они сильно разбавлены бесполезным «словолюбием», а иногда ещё и приправлены какой-нибудь теологией. С другой стороны, в Болонской системе всех достойных учёных принято обзывать «докторами философии» (PhD)… Но давайте сейчас не будем смеяться над англо-саксами и их почитателями, тем более что и они считают эту традицию скорее данью истории.
Не будем также погружаться в диспуты о формализации научного метода и его принципиально важных аспектах. Противопоставление позитивизма, прагматизма, материализма, эмпириокритицизма, инструментализма и тому подобных «-измов» друг другу — всё это больше напоминает детсадовские войны за внимание воспитательницы. Наиболее же обобщённым критерием «научности» является именно полезность знаний, возможность их применения во благо всего человечества.
Полезные знания опираются на наблюдения за материальным миром и могут быть применены для предсказания различных процессов, происходящих в природе. А наука, изучающая природу, называется
Физика
Природа всеобъемлюща и многолика. Это колебание маятников и явления погоды, тектоника литосферных плит и взаимодействие элементарных частиц, движение планет и процессы в живых организмах. И несмотря на возможные возмущения некоторых философов, неотъемлемой частью природы являются и люди со всей сложностью взаимоотношений между ними. С этой точки зрения можно считать, что биология, социология, экономика, лингвистика, история, культурология и другие дисциплины — всё это лишь подразделы физики, науки о природе. Методы получения и использования научных знаний у них схожи, и конкретные исследования зачастую невозможно отнести лишь к единственной дисциплине.
Физика, как правило, очень прагматична. На основе множества наблюдений/измерений строится подходящая модель, с помощью которой осуществляются прогнозирование и поиск оптимальных параметров, дающих наилучшие результаты. Критерии истинности определяются статистикой — вероятностные прогнозы рассчитываются с учётом статистической достоверности исходных данных. Если же данных не достаточно, то в модели встраиваются предположения, гипотезы. Этот процесс неизбежен и в нём нет ничего плохого.
Но исторически сложилось так, что многие учёные верили в сотворение мира, и целью своих исследований они ставили выяснение «божественных законов», умышлено установленных неким Создателем. И когда ярлык «божественности» прилипает к удачной гипотезе, снять его становится практически не реально.
Проблемы возникают, когда тысячекратно озвученные гипотезы превращаются в непреложные догмы.
Такими догмами, к примеру, стали копенгагенская (боровская) трактовка квантовой механики и общая теория относительности. В первом случае говорится что-то вроде «квантовая механика не сводима к классической ПОТОМУ ЧТО!». ОТО же, несмотря на значительные успехи, всё же противоречит как экспериментальным данным, так и здравому смыслу (провокационный вброс, но уместный). Впрочем, это смущает слишком мало учёных из-за «математической красоты» уравнений Эйнштейна.

В реферируемых журналах нет-нет да и появляются альтернативные трактовки квантовой механики. Но за любые сомнения в ОТО запросто могут и отлучить от академической секты. Дело в том, что в закреплении догм большую роль играет редакционная политика реферируемых журналов. Неосторожная попытка опубликовать провокационное мнение не только не пройдёт редакционный отбор, но и вовсе может поставить крест на карьере учёного.
Помимо консервативности реферируемых журналов, отрицательную роль играют «жёлтая» журналистика и система финансирования исследователей. Под влиянием многочисленных громких заголовков деньги выдаются на изучение «горизонтов чёрных дыр», «первой секунды после большого взрыва», суперструн, бран и т.п. Не то чтобы эти спекуляции имели отношение к физике, зато они опираются на существующие догмы и тем самым поддерживают их…
Последнее время на Хабре появляется много статей с альтернативными теориями «вселенной и всего такого». Далеко не все они безнадёжно ужасны. Наоборот, есть множество малоизвестных теорий, которые не хуже общепринятых лишь по той причине, что и те и другие основаны на идеях «с потолка», не имеющих объективного фундамента. И во всех случаях расхождения с экспериментом можно привычно подбить дополнительными костылями.
Такое разнообразие говорит скорее о том, что ещё не найдена начальная теория (в категории теорий)). Нынешним академическим устоям определённо не хватает фундаментальности, чтобы выделяться среди прочих. И преждевременная фиксация каких-то догм попросту антинаучна.
В любом случае, физика со всеми своими дисциплинами опирается на математику, с «научностью» которой проблем ещё больше.
Математика
Ещё со времён Пифагора распространялась идея о том, что миром правит математика. Не удивительно, что среди математиков современности это убеждение стало доминирующим. «Царица наук, для которой важна лишь внутренняя эстетика, а не какая-то там полезность!»
Подавляющее большинство статей и книг по математике просто избегают темы практического применения описываемых там абстракций. Типичная структура изложения материала такая: «Смотрите, какая красота! Давайте полюбуемся ею». Вместо научной полезности читатель получает бесполезное красование.
Между тем математика бесспорно остаётся ключевым инструментом науки. Но из-за типичной антинаучной подачи её польза так и остаётся скрытой от многих, кто хочет найти ей применение. Именно пренебрежение прямой пользой часто называют основной причиной, почему математикам отказывают в Нобелевской премии.
Антинаучность идеализации математики проявляется не только в способе её подачи, но и во внутренней структуре. Например, выделяется блок конструктивной или интуиционистской математики (различия между терминами скорее философские и потому не принципиальны). Здесь не задействуются аксиома выбора, закон исключения третьего и тому подобные правила, а доказательством истинности всегда является алгоритм, процедура построения свидетельства истинности. Только конструктивная математика обладает признаками научной полезности.
Вот простой пример. Есть утверждение «Мне нравятся все котики, что я видел». Применение неконструктивного закона исключения третьего приводит к такому утверждению: «Могут существовать такие котики, что мне не понравятся». Но какова практическая польза от самого факта, что эти котики «могут существовать»? Верно, никакой. А конструктивное доказательство обязано было бы предоставить такого страшного котика, вывести его из условия задачи.

Впрочем, от неконструктивной математики тоже есть некоторая польза. Она может дать интуицию, подсказки о том, как получить конструктивный вывод свидетельства истинности. Но только лишь этот вывод достоин считаться конечным результатом, обладающим научной ценностью.
И лишь конструктивная математика лежит в основе науки о программировании.
Программирование
Вообще, программирование выросло из математики и считается её дочерней дисциплиной. Мне же, ввиду вышесказанного, удобнее относить его именно к физике, так как программирование ориентировано на решение практических задач реального мира.
Парадоксально то, что множество программистов вообще не считают свою профессию хоть сколько-нибудь научной)). У программистов, так же? как и, например, у электриков, есть свои методички, «лучшие практики», набор часто используемых инструментов. Так зачем вообще задумываться, когда кто-то уже решил все вопросы за вас?
Если не задумываться, то за вас всё решат в первую очередь маркетологи и PR-щики. Именно так рождаются антинаучные догмы в программировании. Авторы книг придумывают громкие заголовки и аббревиатуры (вроде SOLID), затем лично и через знакомых раскручивают тему на различных конференциях. Крупные корпорации (вроде Sun Microsystems) для повышения продаж своих продуктов (вроде экосистемы Java) вливают огромные деньги в популяризацию сомнительных техник (вроде ООП). У тех, кто «не хочет задумываться», просто не остаётся выбора, как довериться авторитетным мнениям.

Коммерциализированная популяризация идей имеет катастрофический эффект. Такие идеи активно внедряются в кодовую базу, под них перестраивается система обучения и найма специалистов, а следом и рынок труда. Причём всё это происходит из-за удачности не столько самих идей, сколько их раскрутки! В итоге получаем, что большинство программистов вынуждено перелопачивать тяжёлое многословное «legacy», в которое быстро превращается даже относительно новый код.
Конечно, эти идеи не все однозначно вредны или бесполезны. Но в любом случае, при агрессивном маркетинге они превращаются в те самые антинаучные догмы, тормозящие развитие науки программирования.
Да-да, именно науки. Так же, как и прочие разделы физики, программирование решает задачи реального мира — автоматизация вычислений и управления потоками информации. Очевидно, что в процессе решения используется и аналогичный инструментарий, который предоставляет математика.
Обеспечить стабильность, выразительность, качество кода помогает прежде всего полиморфное типизированное лямбда-исчисление. Эта дисциплина формализует рассуждения о корректности алгоритмов и предоставляет наиболее минималистичные фундаментальные абстракции для программирования. И, естественно, конструктивное лямбда-исчисление оказывается значительно полезнее неконструктивной теории множеств.
К сожалению, накопившиеся популярные догмы отвлекают внимание сообщества от научно обоснованных эффективных техник программирования.
Заключение
Научность идеи связана с её статистически значимой полезностью, но под этикеткой «научности» популяризируется слишком уж много бесполезных идей. А со временем они превращаются в антинаучные догмы, тормозящие прогресс.
Таковые современные реалии. Единственное, что можем сделать мы сами — сохранять ясность критического мышления, принимать решения, полагаясь не на мнения авторитетов, а на собственный опыт и знания и делясь ими с окружающими.