Консультант в сфере Big Data и исследователь Уолтер Ваннини написал эссе на Aeon о том, что представление программирования как лёгкого и приятного занятия — неправильно, а зачастую и опасно. Он также попытался разобраться в причинах того, откуда возникло такое отношение к созданию ПО. «Роем!» публикует эссе в переводе.
Программировать — проще пареной репы. По крайней мере в этом хотят убедить нас гуру цифрового мира. Начиная от некоммерческой организации Code.org, которая обещает, что «Научиться может каждый!», и заканчивая главой Apple Тимом Куком, который считает, что писать код это «весело и интерактивно», искусство и наука программного обеспечения доступна каждому как алфавит.
К сожалению, эта картина в розовых красках не имеет никакого отношения к реальности. Для начала, склад ума присущий программистам встречается у людей нечасто. Разработчикам ПО, кроме отличных способностей к анализу и креативности, нужна почти сверхчеловеческая концентрация, чтобы справляться со сложностью своих задач. Маниакальное внимание к деталям обязательно; неаккуратность запрещена. Чтобы поддерживать такой уровень концентрации, разум должен находиться в состоянии, которое можно назвать «потоком» — квазисимбиотическая связь между человеком и машиной, которая улучшает производительность и мотивацию.
Написание кода — не единственное занятие, которое требует усиленного внимания. Но вы никогда не услышите, что делать операцию на мозге — это «весело», а проектировать здания — «легко». Когда же дело доходит до программирования, почему политики и специалисты в области технологий утверждают обратное? Например, это помогает привлечь людей в эту сферу в то время, как программное обеспечение (по словам венчурного инвестора Марка Андриссена) «пожирает мир» — и таким образом, расширяя рынок труда, это поддерживает индустрию на ходу и не даёт расти зарплатам слишком высоко. Другая причина в том, что само слово «программирование» звучит рутинно, будто есть некое решение, которое разработчики применяют из раза в раз для решения любой проблемы. Не помогает и Голливуд, который изображает «кодеров» как неизбежно белого мужчину с проблемами в общении — хакера, который бездумно бьёт по клавишам и может взломать ЦРУ или разрушить планы нацистов.
Подчёркивать шарм и веселье программирования — плохой способ привлечь детей к нему. Это принижает их умственные способности и взращивает разрушительное знание того, что для развития не нужна дисциплина. Любой, кто имеет малейшее представление о программировании, знает, что минута практики требует час теории.
Лучше признать, что программирование — это сложно, технически и этически. Компьютеры сегодня могут лишь исполнять приказы разных уровней сложности. Поэтому разработчику нужно быть предельно ясным: машина делает то, что ты говоришь, а не то, что ты имеешь в виду. Всё больший груз ответственности возлагается на программы, включая ответственность за жизнь или смерть: взять ли беспилотные автомобили, полуавтоматическое оружие или Facebook и Google, которые вмешиваются в ваши супружеские отношения и физическое и психическое здоровье, чтобы продать их самому щедрому участнику аукциона. Несмотря на это, бизнес и государство нечасто поощряют любопытство людей, желающих знать, что стоит за этими процессами.
Всё это построено на исключительно технической базе. Но мы не можем сказать, что поднимаемые технологиями вопросы носят исключительно технический характер. Программирование — это не деталь, которая может оставаться за техническими специалистами на том основании, что их решения будут «по-научному нейтральными». Общества слишком сложны, их алгоритмы политичны. Автоматизация производства уже нанесла удар по низкоквалифицированным рабочим на фабриках и складах по всему миру. Белые воротнички — следующие в очереди. В сегодняшних ИТ-гигантах работает намного меньше людей по сравнению с рабочими промышленных гигантов прошлого, и ирония призыва людей в ряды программистов в том, что эти программисты медленно лишают рабочих мест самих себя.
В мире, который стал как никогда запутанным и сложным, где программы играют всё большую роль в ежедневной жизни, безответственно говорить о программировании как о легкомысленном занятии. Программа — это не просто строчки кода и это не банальный продукт технологий. Всего в течение нескольких лет понимание программирования будет обязательным для любого активного гражданина. Идея того, что программирование — это лёгкий путь к социальному признанию и личностному совершенству, работает ради выгоды растущей техноплутократии, которая скрывается за собственными технологиями.