Математика для программиста -15


Вступление

Приветствую. Я занимаюсь программированием и 3D-дизайнером, а также относительно недавно приступил к изучению основ кибербезопасности. Сейчас в процессе учебы столкнулся с интересной ситуацией, когда необходимо применять сложные математические алгоритмы для решения разных задач. Кроме того, подумал, о том, что раньше я по-другому смотрел на математику и не любил её. Следовательно, моё мнение об этом предмете изменилось, и я решил, что это может пригодиться другим, кто решил идти в программирование. Статья будет больше теоретической, но если будет интересно, пример подтверждения на практике сделаю в будущих статьях.

Основная мысль

Один из самых частых вопросов, который задают новички, люди, далёкие от программирования, и один из самых больших стереотипов современности: нужна ли математика программисту? И ведь точно на этот вопрос никто не даст полного ответа. Это связанно с тем, что направлений в программировании очень много.

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

Конечно, большинство современных разработчиков предпочитают уходить больше в Frontend, Backend и не создавать себе проблем с изучением языков никого уровня.

Программисты, которые работают в этих сферах и пишут на JavaScript, Python, PHP и т. д. зарабатывают хорошие деньги, работают в высокоуровневом программировании, знают несколько технологий и не выполняют сложных математических вычислений. В большинстве случаев. Всё это хорошо, особенно, когда люди знают, что хотят. И когда им задают вопрос, «Нужна ли математика» говорят, что нужна лишь базовая для такого рода работ, а вот для более сложных проектов и технологий стоит дополнительно изучать что-то и посложнее школьной программы.

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

Вполне логично. Однако стоит подумать про одну важную деталь, которую почти никто никогда не озвучивает. Дело в том, что ведь все компьютеры и ЭВМ работают с помощью математики. И что у истоков всего программирования стоит математика.

Вся программная арифметика связана с числами. В компьютерах используется бинарный код (1 и 0). Именно на этом коде и работают системы, начиная от операционных и заканчивая нейронными сетями. Всё, что связанно с вычислениями, всегда взаимодействует и цифрами.

Когда приходилось делать сложные вычисления, использовали карандаш, бумагу и ум. Но в процессе прогресса, понимая, что подобные решения требуют много времени. Потому и начали создавать ЭВМ для автоматизации определённых процессов. А чтобы эти процессы были автоматизированы, необходимо было разработать шаблоны. Ведь все компьютеризированные аппараты работают на основе созданных ранее паттернов. Так и вышло, что созданное сегодня информационное пространство - модернизированные шаблоны прошлого.

Вспомним, что все люди, которые создавали подобные вещи в вычислительных науках, всегда имели хорошие знания во всеми нелюбимом школьном предмете. А ведь современные компьютерные технологии никуда эту науку не убрали.

Все сложные низкоуровневые языки программирования базируются на математике, да и современные высокоуровневые тоже, ведь в них заложена основа из никого уровня. А ведь, чем выше уровень языка, тем тяжелее создать что-то сложное и большое.

Поэтому зачастую все стараются избежать изучения С/С++, Java и других подобных языков, а предпочитают уходить в веб-разработку, где процесс понимания направления и технологий более легкий, и платят не хуже.

Вывод

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

Отвечая на вопрос, «Нужна ли математика программисту? », я могу смело дать ответ: «Да». Каким бы ни был программист и что бы он ни делал, чем больше знаний в точных областях он будет знать, тем лучше для него, как специалиста.

Нельзя пренебрегать этой наукой, и уж точно нельзя говорить, что достаточно будет знать только сложения, вычитания, умножения и деления. А как вы считаете?




К сожалению, не доступен сервер mySQL