В 60-х годах программирование стало отдельной специальностью (до этого вообще такой профессии не было, были инженеры, электронщики и пр.). Чтобы запрограммировать большие ЭВМ, которые использовали в то время, нужно было очень хорошо знать математику, во многих случаях и физику. Нередко нужно было уметь паять, дабы чинить то, что перегорело (и этим всем в то время занимались программисты). Даже во времена, когда я поступал в институт (начало 90-х) многие считали, что программист, не умеющий паять — это вообще не программист.
Любую задачу, которую ставят перед человеком, он старается свести ее к той задаче, которую он знает как решать. Соответственно когда перед учебными заведениями стала задача выпускать программистов, логика была примерно такой: «Программисты — это технари. Технари — это математика и теория вероятности». Поэтому все курсы по обучению программистов были напичканы математикой. Так вот. Я, как человек, который получил высшее образование именно по профессии программирования (а не смежной), могу сказать, что за 20-ть с лишним лет стажа программирования знания математики мне пригодилось ровно один раз. Причем не конкретно математики, а теории вероятности (совсем на базовом уровне). Естественно, всю учебную программу я благополучно забыл, поэтому просто загуглил… А сейчас вам даже это скорее всего не понадобится. Кроме того, я знаю множество программистов, которые вообще никогда не углублялись в изучения математики дальше школьной программы. Конечно, если вы дата-сайентист, то вам потребуется математика на продвинутом уровне. Возможно, понадобится в GameDev. На этом все.
Мораль моего повествования такова: если вам начинают внушать, что вы не станете программистом без хорошего знания математики, шлите таких умников куда подальше. Я действительно уверен, что математика не нужна (достаточно уровня средней школы). Возможно вам немного понадобится бинарная алгебра, но это учится условно за 3 минуты, поверьте. Может где-то вам понадобятся сдвиги. Но такую информацию гораздо проще нагуглить при потребности, чем учить целиком всю математическую теорию. Так что вы смело можете учиться программированию без знаний математики. Можете ссылаться на меня 🙂 Ставлю свою репутацию на кон.