Математика - основа современного программирования

Посмотрите вокруг, вы видите, что наш с вами мир никогда не стоит на месте - он меняется, меняется и наше окружение.

Если в недалеком прошлом, точнее в прошлом столетии, для людей обычным делом были телевизоры, радио, домашние телефоны, книги и пр., то сейчас все это легко может заменить одна единственная вещь – компьютер.

Развитие новых технологий происходит очень быстро, а научно-технический прогресс, в свою очередь, вызывает появление новых профессий, одной из которых есть программист.

Программист – человек, который занимается программированием, занимается разработкой программного обеспечения для различных программных устройств, которые как правило, содержать один или более процессор

Мир с каждым днем заполняется все большим количеством данных, если раньше программисты работали с относительно не большими их порциями, то сейчас программы должны эффективно работать с огромными массивами данных. Особенно это касается портативного программирования.

Мой прогноз – анализ алгоритмов станет куда важнее для обычного программиста, что уже просто отвык от непосредственного кодирования, с этими фреймворками, чем это было раньше. А чтобы быть достойным алгоритмистом – будут просто необходимы знания с математики. Кроме этого математика позволяет объективно оценивать эффективность алгоритмов решая задачу их оптимизации.

Современное программирование – это искусство, описать задачу, которая возникает перед человеком и заставить компьютер ее решать. Как и много других видов человеческой деятельности, программирование можно представить в виде сооружения. Главной частью которого будет прочный фундамент. Под фундаментом в программировании понимается – математика, математические основы, даже самые элементарные действия для обработки данных – то уже математика.

Математика является объектом применения в разных сферах информационных технологий:

  • криптография;
  • искусственный интеллект в играх;
  • 3D графика;
  • алгоритмы сбора, сжатия;
  • генетические алгоритмы.

Криптография – наука про математические методы обеспечения конфиденциальности (невозможности прочтения информации посторонними) и аутентичности (целостности и подлинности авторства) информации. Развивалась с практической потребности передавать важные сообщения самым надежным способом. Для математического анализа криптография использует инструментарий абстрактной алгебры.

Одним из элементарных примеров можно считать кредитную карту с возможностями смарт-карты. Смарт-карты стараются объединить портативность с достаточной мощностью для обеспечения современных криптографических алгоритмов.

На счет 3D графики, можно привести следующие примеры:

  • без математики невозможно решить задачу с теории массового обслуживания - построить модель движения машин с заданной плотностью потока автомобилей на участке дороги с заданным количеством светофоров, которые работают по определенному графику.
  • простейшее моделирование фигур с помощью программ 3D дизайна;
  • для создания анимации также необходима математика.

Искусственный интеллект в играх

Искусственный интеллект – это набор программных методик, которые используются в компьютерных играх для создания иллюзии интеллекта в поведении персонажей, управляемых компьютером. Игровой ИП, кроме методов традиционного искусственного интеллекта включает также алгоритмы теории управления робототехники, компьютерной графики и информатики в целом.

С течением времени мы можем увидеть, как меняется внутренний мир игр, как компьютерные юниты приобретают реалистические человеческие черты, виртуальная природа становиться все более и более разнообразной не уступая настоящей.

Как доказательство, того что математика и программирование не могут существовать отдельно, является то что большинство из общепризнанных авторитетов в области программирования также являются и прекрасным математиками – Дональд Кнут, Эдгсер В. Дейкстра, Ноам Хомский, Питер Норвиг. Это значит, что математик сведущий в компьютерной науке, имеет больше шансов стать отличным программистом, нежели разработчик, который не знает математических основ.

Существует выражение:

«Вам не нужна математика, чтобы быть нормальным программистом, но необходима чтобы стать отличным»

Давайте представим, чтобы было если бы программисты не учили бы математику, а только лишь использовали знания алгоритмических языков и снов программирования, чтобы тогда случилось бы с нашим научно-техническим прогрессом, как далеко зашла бы разработка искусственного интеллекта существовала бы вообще компьютерная графика, не говоря уже про 3D графику.

Если бы все это было правда, тогда виртуальный мир не занимал бы такую важную часть нашей современной жизни.

Профессия программиста – это одна из тех профессий, которая не позволяет стоять на месте, необходимо постоянно развиваться и шагать в ногу со временем, но при этом есть одно «но» - какое бы время не было каждому придется начинать с математики.