Превратите программирование в религию (восклицательный знак)
Этот пост является лишь рассуждением на тему данного материала.
И хотя я солидарен с основной мыслью автора, что программирование должно быть инженерной культурой, а не карго культом, у меня есть некоторые замечания, которые я здесь и выскажу. Сразу отмечу, что по одному из образований я философ, а в прошлом еще и дьякон, поэтому и рассуждения здесь будут идти скорее о человеке, а не о технологиях.
Человек не может избежать мифологического мышления. И дело вовсе не в том, что мы обречены верить во всякие небылицы, вроде плоской земли, но в том, что наше мышление постоянно ищет пути оптимизации, чтобы не тратить ресурсы на постоянную верификацию невероятной сложности данных, а потому часто превращает эти данные в аксиомы, которые мы просто принимаем на веру. Иными словами, ради оптимизации вычислений мы отказываемся от обхода в глубину. Я вот ни разу не видел белую ворону, но верю, что они есть, просто потому что я, опять же, доверяю окружающему меня обществу и его культуре, где белая ворона считается чем-то существующим и даже именем нарицательным. Думается точно также когда-то люди верили в драконов и василисков и не стоит их за это винить. И с тех пор в нашем мышлении не так уж и много поменялось, потому что причина этого одна - для человеческого мозга экономия ресурсов фундаментально важна. Более того, я убежден, что наши познавательные способности настолько ограничены, что мы обречены делать расчёты лишь в рамках определенных систем и чем больше система, тем менее достоверными эти расчёты являются. В большинстве случаев нам остается только делать выводы на основе индуктивной логики, примерно так: каждый ворон, которого я видел - черный, а потому вероятно все вороны черные. Таким образом, вопрос стоит не в отказе от мифологического мышления, а в том, чтобы сделать это мифологическое мышление наиболее совершенным.
Тут-то нам на помощь приходит комьюнити, наука и технологии. Один человек не в силах выяснить многое, поэтому в научном сообществе и выращивают специалистов, а не эрудитов. Современные кластеры знаний разрослись настолько широко, что для того, чтобы просто начать хорошо разбираться в своей научной области потребуется десяток лет. Поэтому мы живем в мире, построенном специалистами, которые видят лишь свою часть и нам нужны другие специалисты, которые соберут эти части в относительно согласованную картину, без которой мы не можем нормально жить как разумные существа. В конечном итоге мы приходим к тому, с чего начали - нам приходится принимать многое на веру, и если мы и можем что-то сделать, то это ответственно подойти к своей вере и сделать ее настолько консистентной, насколько это возможно.
И поэтому нам нужны холивары. Религиозные споры и философские споры всегда были катализатором мысли человечества. Античность стала такой великой во многом благодаря тому, сколько различных философских школ претендовали на обладание истиной и каким важным это представлялось для древних греков. Именно оттуда, то есть из античных ликеев и средневековых университетов ведет свое родословие наше образование.
Говорить, что все парадигмы программирования одинаково хороши или все языки одинаково хороши, означает вставать на позицию агностицизма, которая ведет к потере интереса к сравнению этих языков и парадигм, а именно этот интерес и обеспечивает во многом рост наших знаний.
Более того, именно борьба с неугодными его фанатиками вынудила автора статьи «Прекратите превращать программирование в религию» написать такой длинный пост с рассуждениями о том, что такое хорошо и что такое плохо, и в конечном итоге сделать классный и интересный вклад в комьюнити Хабра.
Еще одним плюсом религиозного программирования является этическая сторона. Работать за деньги - это, конечно, классно. Но если ты работаешь за что-то, что тебе действительно дорого, то это совсем другое дело. Если мы взглянем на историю науки, то увидим, что по-настоящему гениальные исследования происходили вовсе не потому, что ученым платили много денег. Например, Ричард Фейнман описывает как он был свидетелем того, что группу ученых поместили в идеальные условия, вдали от города, снабдив большим количеством свободного времени и отличной зарплатой. В итоге эти ученые не смогли написать ничего интересно, что, по мнению, Фейнмана, связано с отсутствием контакта с академической средой и преподавательской деятельностью. Потому что для роста наших знаний нам жизненно важно вступать в диалог с какими-то концепциями, пускай даже они будут враждебными.
Наконец, надо сказать, что я вовсе не хочу превратить программирование в религию - название тут просто кликбейт. Хотя меня вдохновляет пример Терри Девиса с его TempleOS, которую он создал в качестве храма для Бога, я все же отношу себя к тем, кто исследует программирование не ради веры, но ради знаний, а потому религиозный фанатизм для меня важен как средство роста этих знаний и навыков, как источник мотивации и способ превратить работу в интересное занятие.