Найти тему

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

Оглавление

«С программированием у меня порядок, а математику мы в первом классе проходили!». Конечно, это утрированное мнение, однако возникает вопрос – какое место в жизни любого программиста занимает царица всех наук?

Об этом мы говорим с Ильнаром Шафигуллиным, кандидатом физико-математических наук, преподавателем в Казанском Федеральном Университете / Институте математики и механики им. Н.И. Лобачевского. В Хекслет Ильнар преподает Java.

1. Нужна ли программисту математика?

В программировании есть много тем, в которых так или иначе затрагиваются термины из математики. Например, это касается вопросов оценки сложности алгоритмов. Для этого используется термин «О большое» (англ Big O), который очень хорошо знаком математикам и подробно изучается в рамках математического анализа.

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

2. В каком объеме она нужна?

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

А если мы начнём смотреть в сторону data science, то там уже и математический анализ, и алгебра, и статистика появляются на горизонте. Но, повторюсь, минимального стартового объёма нет. Если хотите стать программистами, то учитесь программировать, а математика — на факультативной основе.

3. Если я хочу серьезно изучать математику после школы, с чего мне начать?

С самых основ. Знаете, на первом курсе мехмата на лекциях по математическому анализу доказывают что 2 + 2 = 4. Важно не то, сколько тем вы прочитали. Важно то, сколько из них вы поняли так же, как 2 + 2 = 4.

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

4. Что делать, если я гуманитарий?

Радоваться тому, что у вас есть свой набор преимуществ .

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

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

5. Есть ли разница в математических познаниях между фронтенд- и бэкенд-программистами?

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

Какое место в вашей работе занимает математика? Планируете ли ее углубленно изучать?