Должен ли программист в совершенстве знать математику или это не обязательно? Многих новичков, желающих начать изучать программирование этот вопрос пугает, как впрочем и еще один, - должен ли программист знать английский.
Ну что-ж, пришла пора честно ответить и на этот вопрос. Если вы попробуете зайти на любую образовательную платформу, выберете какой-нибудь курс по программированию и зададите вопрос - а нужна ли мне будет математика?, то скорее всего, вас будут уверять, что стать программистом можно и без нее.
Отчасти это так, но менеджеры, продающие курсы по программированию, все-таки немного лукавят. Если человек планирует стать хорошим программистом, то знать математику в рамках школьно-университетского курса он просто обязан.
Зачем программисту знать математику
Очень сложный вопрос! В принципе, можно писать код не зная ее, достаточно ведь просто выучить язык программирования и научиться применять его. Но хорошему программисту важно понимать, что он все-таки пишет. И понимать детально.
К тому-же, часто на собеседованиях в крупные it-компании, соискателям предлагают решить сложные математические задачи. У того, кто не знает математику шансов устроиться нет.
Постараемся еще объяснить на простом примере, зачем программисту нужна математика. Допустим, есть 2 профессии - художник и маляр. Оба работают с кистями и красками. Только первый творит искусство и в перспективе, его работы могут стоить миллионы долларов. А второй - просто красит стены и всю жизнь будет получать несколько десятков тысяч рублей. Без всяких перспектив вырасти.
Теперь перенесем этот пример на профессию программиста. Программист, знающий математику, способен в перспективе стать настоящим художником в своей области, творить шедевры и даже работать к крупной it-компании (хоть в Яндексе, хоть в Гугле), а не знающий математику, так и будет писать каляку-маляку, в виде простейшего кода.
Подытоживая, можно сделать такой вывод: для решения простых прикладных задач в программировании, знания математики не нужны. Писать код вполне можно без нее. А вот для решения высокотехнологичных задач, которые ставятся перед программистами работающими в крупных компаниях, типа Яндекса, без математики уже не обойтись!
Но ведь программисты работают не только в Яндексе))😄
Для каких задач нужна программисту математика и какие ее разделы
Логика.
Базовые знания логики — так называемую булеву алгебру — используют почти все программисты. Но это несложный раздел математики, изучить его можно самостоятельно.
Глубокие знания нужны айтишникам, которые работают с искусственным интеллектом, например с поисковиками. Они пишут программы, которые обрабатывают информацию, а потом делают из нее вывод. Например, какие страницы показать в браузере, когда человек ищет рецепт или расписание автобуса. Всё это работает на математической логике.
Еще продвинутые разделы нужны спецам, которые работают с базами данных — хранилищами информации. Чтобы вытащить конкретные данные, их надо отсортировать. Это делают через язык запросов SQL.
Математический анализ и дискретная математика.
Матанализ используют дата-сайентисты — те, кто работает с большими данными. А еще спецы, которые занимаются машинным обучением, анализируют массивы данных, делают прогнозы.
Дискретная математика.
Нужна, чтобы писать базы данных и создавать поисковые системы. Еще — для логистики и построения маршрутов.
Линейная алгебра.
Раздел математики о векторах, векторных пространствах, координатах и расчетах. В программировании линейную алгебру используют дата-сайентисты при разработке алгоритмов машинного обучения и искусственного интеллекта. А еще разработчики игр, чтобы перемещать в игровом пространстве персонажей, менять положение камеры, кнопок и мыши.
Комбинаторика и статистика.
Комбинаторика вычисляет количество возможных комбинаций, которые приведут к достижению цели. Ее используют спецы, которые занимаются маршрутизацией в сетях, разрабатывают искусственные нейронные сети и интеллект.
Статистика — это математика, в которой данные собирают, а потом исследуют. Ее используют разработчики программ и приложений, дата-сайентисты и аналитики данных, когда проводят исследования и пытаются найти закономерности.
Теория алгоритмов.
Этот раздел математики изучает общие свойства и закономерности. Программисты используют алгоритмы, когда ищут ошибку в коде, сортируют данные. Такие задачи появляются у всех специалистов — от веб-разработчиков до дата-сайентистов.
В первом случае — чтобы обратиться к базам данных. Посчитать, сколько стоит заказ с учетом скидки, а затем показать финальную стоимость покупки. Во втором — чтобы написать программу распознавания лиц или номеров машин.
Криптография.
Она помогает шифровать данные. В IT используют не саму криптографию, а криптографические алгоритмы. С ними работают спецы, которые защищают данные от атак, иначе говоря — занимаются кибербезопасностью. Через криптографические алгоритмы программисты создают специальные протоколы и мешают мошенникам перехватить данные.
Взято с сайта: https://sky.pro/media/matematika-dlya-programmistov/?ysclid=lcaq67vima89172791
Прочитайте еще комментарий практикующего программиста под статьей, где обсуждался этот - же вопрос. Взято с ресурса habr.com/ru.
От себя замечу, что мне на разных местах работы пригодился почти весь курс математики, особенно линейная алгебра, аналитическая геометрия, математический анализ, математическая статистика, теория вероятностей и, конечно же, численные методы с дифференциальными уравнениями.
Пожалуй только функциональный анализ и топология не пригодились вообще. Хотя, возможно, я просто не побывал на такой позиции где и это тоже нужно.
Если интересно, могу расписать где какая прикладная задача потребовала каких знаний. Ну кроме линейной алгебры, аналитической геометрии и математического анализа, которые вообще везде нужны, особенно если 3D часто появляется.
В результате, не так давно, принял решение продолжать обучение и расти как математик. Поступил в свой родной университет, вот, доучиваюсь до магистра Йоды с претензией расти выше и выше.
Рекомендуем также ознакомиться с нашей статьей: "Математика для программистов - что учить и где учить.
Можно ли стать программистом не зная математики
Стать посредственным программистом без знания математики конечно можно, а вот стать хорошим программистом, аналитиком данных или дата-сайентистом - вряд ли получится! Только вот посредственные программисты мало кому нужны.
Тогда зачем тратить драгоценное время на учебу? Все-таки, программирование - достаточно сложная в освоении наука. Может лучше попробовать освоить профессию, в которой математика вообще не нужна, дизайн, например, или копирайтинг. А ведь есть еще профессии связанные с маркетингом - таргетолог, например или СММщик. Выбор то довольно большой!
Тут есть еще один нюанс. Если вы не дружите с математикой, вообще не понимали ее ни в школе, ни в институте, то изучать программирование вам будет неимоверно сложно и скучно. Стоит ли насиловать себя? Тут пусть каждый ответит для себя сам, а наше дело честно рассказать вам об этом.
Подписывайтесь на наш телеграмм, в котором мы публикуем анонсы новых курсов, новости, акции и скидки на обучении более чем 50 российских онлайн-школ и вы всегда будете в курсе того, что происходит на российском рынке онлайн-образования!
Удачи всем, в освоении новых профессий и воплощения мечты!