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

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



Такой вопрос я иногда встречаю на просторах обсуждений.

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

На уровне джуна или, паче того, стажёра, особой нужды в математике, конечно, нет. Задачу поставят, алгоритм выберут, реализацию намекнут. Однако следует учесть, что даже до появления ИИ уровень джуна – это проходной этап, на котором долго засиживаться не надо. А в настоящее время, когда ИИ уже на равных советует мидам, джуны интересны только на вырост, а лучше этот этап вообще на собственных пет-проектах пролететь под руководством хорошего ментора.

А вот начиная с некрепкого мида, математика уже нужна. А какие именно разделы – вот тут зависит от сферы.

Основы дискретной математики, комбинаторики и алгебры (в некоторых узких случаях также матанализа хотя бы на уровне нахождения производной) нужны в любом случае – нормальный разраб должен уметь оценивать сложность алгоритма в О-нотации по времени работы и по требованиям к ресурсам. Если он этого не умеет, получится в лучшем случае яндекс, а то и его не выйдет. Да, яндекс коммерчески успешен – но во многих проектах вот вообще не за счёт качества разработки (желающим поспорить рекомендую поискать, сколько лет они не могут в яндекс-документах исправить элементарный баг с копипастом содержащего кастомные стили куска текста из одного места документа в другое). А для О-оценки указанные навыки нужны. Сплошь и рядом встречаются случаи, когда там, где можно сделать сложность N log N, а то и вообще N, используется шняга сложностью N?. Ну вы понимаете, да? Проверили алгоритм на тысяче объектов, он отработал за полсекунды, а проверили на ста тысячах, он не минуту думал, как можно было бы ожидать, а полтора-два часа.

Если разрабатывается программа в сфере логистики – нужно знать методы оптимизации: линейное программирование, динамическое программирование, алгоритм Дейкстры, вот это вот всё.

Если разрабатывается управление чем-то физическим – от роботов на двух сервомоторчиках до автопилотов электромобилей – абсолютно необходима тригонометрия, все вот эти вот «до сих пор жду, когда понадобятся синусы». Для пробы сил представьте задачу – вот есть у вас электрический манипулятор, моторчик в плече, моторчик в локте (для простоты пусть в 2D даже – для честного 3D там, конечно, посложнее будет), надо поставить кисть в нужную позицию (X; Y), где начало координат – плечевой моторчик. Моторчики самые обычные, то есть вы управляете только углом поворота. Такую элементарную по формулировке задачку, как ни странно, не каждый первый решает.

Если речь о «датасатаниздах», нейронках и тому подобном (очень актуальный домен, да) – теорвер, матстатистика, линейная алгебра. Без этого даже постановку задачи не каждый поймёт.

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

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

Резюмирую.

«Ворваться» в айти можно и без глубокой математики. Но когда определитесь с доменом – копайте соответствующую ему математику. В своём темпе, спокойно, но копайте. Пригодится.


Телеграм: t.me/ainewsline

Источник: vk.com

Комментарии: