Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

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

ОбразованиеТехнологии+4
Анонимный вопрос
  · 10,0 K
Образовательная платформа Хекслет  · 20 окт 2022  · ru.hexlet.io
Для работы программиста достаточно знаний школьной базы математики. Я бы сказал даже, что даже без неё можно работать. Без физики тем более. Но! Это в общем случае. Просто нужно понимать, что не все пишут шедевры, как Микеланджело, иногда требуется просто покрасить стены, т.е. быть обычным труженником. И с этим можно справляться.
Где требуется математика и физика? Там где такая предметная область. Например то и другое нужно в разработке игр. Чтобы описать анимацию движения, описать алгоритм поиска пути, графические шейдеры и так далее.
Для более сложных вещей (в отрыве от предметной области) требуется немного математической подготовки. Например алгоритмы, структуры данных. Понимание того, насколько один алгоритм эффективнее другого. Логика создавалась для нужд математики и требуется также в программировании. Логическое мышление - важный навык.
Но хороший программист выходит из стандартных рамок, т.е. ему мало того, что он сейчас знает. Давайте представим, что завтра будет задача, с которой мы никогда не работали. Потребуется время для исследования ,изучения темы. Например программисту Фейсбука дадут задачу найти сколько рукопожатий от пользователя до Марка Цукерберга, искать их будет по друзьям друзей. В дело вступают графы, А графы это тоже математическая область (но не из школьной базы). Т,е. идем к тому, что требуются знания математики.
Есть еще такая штука как теория множеств, конечные автоматы, про них тоже можно рассказывать, что они требуются (но опять же не для всех).
Как обычно бывает, 90% задач типичные и решаются 10% знаний. Но есть 10% специфичных задач, которые решаются оставшимися 90% знаниями. Нельзя ко всему быть готовым, но но нужно не останавливаться на достигнутых знаниях и прокачиваться, изучать новое.
Хороший программист хорошо знает фундаментальные (базовые) вещи, которые с годами не устаревают. Понимание принципов важнее знания инструментов. А в математике много вещей, которые не устареют (теория множеств, логика, дискретная математика, лямбда-исчисления), поэтому математка важнее для программиста широго профиля, чем физика. Но глубина знаний варьируется из рабочих задач (но не нужно ограничивать себя ими, нужно выходить за рамки).  
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
Диванный философ, по совместительству инженер  · 6 авг 2021
Физику точно не обязательно. Только если Ваша предметная область не физические расчеты. Но с тем же успехом тогда можно сказать что "хороший программист должен отлично знать бухгалтерию". И это выражение даже ближе к истине поскольку в современной России бухгалтерией и прочим учетом занимается несоизмеримо больше программистов нежели физикой. С математикой здесь... Читать далее
Skysmart – онлайн-школа для учеников 1–11 классов и тех, кто только готовится к учебе   · 22 апр 2020  · skysmart.ru
Отвечает
Yanchauskayte
Зависит от того, какой это программист. Например, для фронтенд-разработки высшая математика не обязательна, а вот на машинном обучении без продвинутого знания теории вероятностей не обойтись. В целом хорошее знание высшей математики помогает писать более оптимальный и производительный код — и делать это быстрее. Студентам мы рекомендуем уделить внимание дискретной... Читать далее
3 эксперта согласны
С математикой однозначно не поспоришь,ведь иначе вам придется ломать голову часами и днями над тем,что можно решить за 5-10 минут. Если у вас проблемы в этих сферах,то это совсем не значит что путь вам закрыт. А вот физика она вроде как вообще желательна человеку любому,да и в ней часто встречается материал математики,только немного под другим уколоном. Кому-то он... Читать далее
Недоучка-программист ,который немного шарит в с\с++ ,python и фильмах.  · 6 авг 2016

Физика нужна больше для общего развития.А вот  высшая математика конечно нужна.Дискретная математика,млита - must have.Ну и конечно же  не стоит забывать об алгоритмах.

а что такое млита?

Смотря в каких сферах программист. Если это веб-разработка, бекенд, фронтенд, приложения и т.д., то достаточно базовой математики и знания алгоритмов, а вот если это машинное обучение, разработка проф. ПО или каких-нибудь сложных систем, то тут нужны "профессиональные" знания математики. Насчёт физики не знаю, но наверно она тоже для машинного обуч. и прочего нужна.