Программисту не нужна математика
Нет, серьезно - зачем? Есть команды, есть инструкции, переменные, условия, циклы. И компьютер послушно выполнит все, что от него требуется. Даже логика не очень нужна - “И”, “ИЛИ”, “НЕ” хватит всем.
Ну, хорошо. Если вы пишите трехмерный движок, потребуется геометрия. Перспектива там, угол падения равен углу отражения и все такое. Даже физика - все эти баллистические траектории, движение под влиянием нескольких сил. Но и все.
Но ведь есть еще и матан, интегралы там всякие, первые-вторые производные. Это-то кому нужно? Или теория чисел - множества, графы, группы, кольца, ассоциативность-коммутативность. Или аналитическая геометрия со всеми ее многомерными поверхностями. При чем тут вообще программирование?
А потом оказывается, что первая производная от формулы движения - это скорость, а вторая - ускорение. Что “задача коммивояжера” это это нахождение гамильтонова цикла минимального веса в полном взвешенном графе (ничего себе определение, да?) Что для написания программы, которая не проигрывает в “крестики - нолики” проще всего построить дерево вариантов от пустого поля к заполненному и выбирать ветки, не ведущих к поражению. Что без знания алгебры и геометрии не построить ни один шифр сложнее подстановочного, а его при помощи частотного анализа можно расколоть в считанные секунды.
Базы данных, уж на что программистская область, и те требуют понимания теории множеств. Свалить оракловые кластер неудачным запросом легко, а вот как понять, что он неудачный? Сколько раз вы будете перегружать свою базу данных, прежде чем напишите тот самый, правильный запрос?
А рекурсия? “Чтобы понять рекурсию, надо сначала понять рекурсию”, все знают эту шутку. Но многие ли хоть раз в жизни рисовали фрактальные рисунки, ту же снежинку?
А распределенные сети, крипта эта пресловутая? А торренты, пиратский флаг современности? Вы знаете, как все это устроено? Все это алгебра, теория чисел, графы и деревья. Это разве не программирование?
И ведь все это не специальные знания из предметной области заказчика, это то, ради чего люди идут в программирование - игры, криптография, базы данных.
А так - да. Программисту не нужна математика. Достаточно инструмента и кого-то еще, кто будет думать вместо него. Вот только уже сейчас говорят, что скоро AI заменит программистов и они будут не нужны. Таких программистов - заменит.
И правильно!