Нужна ли математика программисту?
Понятие математики достаточно широкое. Думаю, не стоит говорить о том, что знать математику на школьном уровне обязательно. Но нужно ли программисту дальше углубляться в мир формул, учиться интегральному исчислению и решению дифференциальных уравнений? Мнения расходятся. Давайте разбираться.
В ВУЗах в программу обучения "Программная инженерия" включены такие дисциплины: математический анализ, линейная алгебра, геометрия, дискретная математика, теория вероятностей и математическая статистика.
Изучение всех этих предметов объясняется тем, что математика - это каркас, на который нанизываются все прочие знания. Без этой базы невозможно стать компетентным специалистом. Но это не так. В 95% случаев не требуется глубокое понимание математики.
Математика применяется в программировании для:
- Математических операций +, - , *, /, %, ^
2. Выполнения пагинации
3. Вычисления дистанции между объектами
4. Работы со временем
Эти задачи не требуют от человека никаких ресурсов, вычислениями занимается компьютер. А задачи потруднее, как работа с геоданными решаются с помощью внешних библиотек. Также все необходимые формулы гуглятся за 2 минуты. Остается встроить их в код.
Но почему же тогда существует расхождение во мнениях? В определенных отраслях программирования все же требуется знание математики. Системные программисты, которые занимаются разработкой графических движков, драйверов, модулей операционной системы без математики обойтись не могут. 3D-программистам нужно знать тригонометрию. Без тригонометрических функций не заставить объект двигаться, не рассчитать координаты.
Если хотите стать web-разработчиком, писать программы, или создавать игры на существующих движках, то забудьте о мире математики. Data science, low-lewel-программирование и GameDev уже потребуют изучения математики.