Программирование в наше время охватывает огромное количество сфер деятельности: создание сайтов, разработка игр и приложений, анализ баз данных, а также прикладное решение зачастую бытовых задач.
Бытует мнение: уметь "ботать" не значит быть математиком.
Трудно не согласиться, ведь для разработки сайтов (Frontend и Backend) знание высшей математики и той же теории вероятности не является прямой необходимостью. Однако согласимся, что на таком узком направлении деятельности программирование не останавливается.
В этой статье мы с вами познакомимся с тремя основными направлениями, где жизнь в роли "кодера" без математики не покажется сказкой. Так что присаживаемся поудобнее за чашечкой чая, и погружаемся на 5 минут во вселенную Python . Сквозь призму данного языка программирования мы убедимся, что уметь "ботать" не значит значит быть математиком.
Разработка игр (Game Development)
В этом разделе мы не будем углубляться в особенности создания игр. С этим вы сможете ознакомиться самостоятельно, введя в интернете запрос: python game.
Мы обсудим причины, по которым знание даже элементарной математики и, на секундочку, математических моделей физических процессов здорово выручит разработчика при создании игр.
- Действия героя: Прыжки, передвижение, нанесение урона, взаимодействие с иными NPC : все игровые процессы несут в себе математические модели, зачастую основанные на законах физики. Так игра становится более логичной, приближенной к реальности, приятной для пользователя. Без знания основ математики никогда не получится детально прописать особенности игрового персонажа и игрового пространства, окружающего его.
- Появление объектов в игровом пространстве: добро пожаловать в мир теории вероятности, так как шанс появления, количество объектов, качество их прорисовки задаются формулами и закономерностями данного раздела математики.
- Модели объектов и персонажей: все элементы игры занимают определенную площадь, могут отбрасывать тень, имеют определенную форму. Python как и любой другой язык программирования не знает, как должен выглядеть кубик, модель главного героя и уж тем более каким образом объекты меняются при изменении источника свечения. Все это разработчик прописывает в коде, используя знания аналитической геометрии, правил золотого сечения, как минимум.
Анализ данных (Data Science)
Для нас с тобой не будет тайной, что весь мир, все его закономерности поддаются качественному и количественному анализу. Построение графиков, сравнение объемов спроса и предложение, обработка баз данных (big data): принципы и алгоритмы работы предполагают математику, а именно математическую статистику, алгоритмы сортировки данных, аппроксимацию результатов.
Классическим примером, подтверждающим вышеописанные мысли, является закон нормального распределения, который широко используется при подсчете целевой аудитории и отличного поддается программированию
Машинное обучение (Machine Learning)
Мне довелось на собственном опыте убедиться, что машинное обучение в его пошаговом представлении требует базовых знаний математики, когда я готовил курсовую работу, в которой описывал генетический алгоритм обучения. Последовательности, теория вероятности, а также векторная геометрия - без этих разделов математики трудно представить написание работоспособного и адаптивного кода
Заключение
Теперь, прочитав данную статью, мы с тобой убедились, как важны знания математики при работе с языками программирования и насколько тесно они могут быть связаны. Да, мы обсудили всё в общих чертах, вместе с тем на фотографиях каждого раздела я оставил для тебя примеры библиотек Python и направлений программирования, где используется математика как напрямую, так и косвенно.
Теперь у тебя появилась отличная возможность разобраться досконально, насколько сильно математика и программирование связаны, изучив самостоятельно один или несколько из представленных примеров
Спасибо за нашу беседу! Желаю успехов в погружении во вселенную программирования на Python!