И снова достаточно распространенное мнение, что «программисту необходимо знание математики», однако здесь конкретику можно встретить еще реже. Я тоже не готов расписать, какая область математики где может пригодиться, потому что это больше зависит от предметной области, в которой вы будете работать, чем от стека технологий. Однако, здесь есть исключения. Например, считается, что в разработке игр математика — один из самых важных инструментов, но это не совсем так. Вернее, не каждому Unity-программисту она нужна, а если и нужна, то далеко не каждый день и лишь какими-то точечными моментами. С другой стороны, разрабатывая физический движок, с математикой придется сталкиваться, скорее всего, каждый день.
Я сейчас нахожусь на стороне тех, кому математика в каждодневной работе не пригождается, поэтому не обладаю полным виденьем картины. Все, что я хочу сказать, это то, что если вы не знаете математику, и совершенно не хотите ее изучать, это не является поводом отказываться от идеи стать программистом. Скорее, это просто ограничит круг предметных областей, в которых вы можете работать.
Хотелось бы порассуждать насчёт математики для программиста. Конечно, не всем она пригодится, но буду говорить как игровой разработчик-самоучка. Популярные движки, такие как UE или Юнька, содержат в себе очень много функционала, и конечно многое не нужна реализовывать самому. Но когда ты понимаешь, как работает под капотом та или иная система, использовать её куда проще. Тем более, в движках может не оказаться того, что нужно вам, и иногда знания, смежные с программированием, могут пригодится. Не нужно очень разбираться в математике, в большинстве случаев достаточно математики старших классов: тригонометрия, векторы, геометрия. Математика часто помогает в решении каких-то нетривиальных задач, что делает из тебя более крутого программиста. Возможно, кому-то не пригодится математика вовсе, но знания по этой науке точно лишними для специалиста не будут.
+ Хотелось бы посоветовать от себя еще каналы по Unity-разработке: Emerald Powder и Максим Крюков.
Очень хорошее замечание. Я делаю упор на то, что математика не обязательна, да и вообще на то, что входной порог по знаниям не настолько высокий, как все думают(именно из-за этого сейчас огромное засилье джунов, при большом пороге входа такого бы никогда не случилось)
Но вы определённо правы, математика тем и хороша, что позволяет, при понимании, совершенно по-другому взглянуть на обыденные системы, и очень часто позволяет добиться более аккуратного кода или лучшей оптимизации.
Я планировал затронуть эту тему в аналогичной статье по Юнити непосредственно, потому что здесь не хотелось погружаться в такие детали.
Я надеюсь увидеть вас снова в комментариях под ней
Хорошая вводная.
По математике, именно игровому разрабу хорошо бы знать - геометрию, тригонометрию хотя бы на уровне синус/косинус, как найти угол между тремя точками, вектора - обязательно (ничего сложного, можно без них, но с ними сильно проще), перемножение матриц, как найти неизвестную через заданную формулу, деление по модулю. Это то что должно быть хорошо знакомо, остальное гуглится. Еще можно кватернион, но этот орешек крепче чем то что надо повторить после школы.
Ну и мат логика - это любому пограммисту - и, или, xor, не - матрицы логических операторов. Всякие карты Карно и прочее мне не сильно пригодилось.
С другой стороны, я знаком с кучей пограммистов, для которых, все то что я выше написал - пустой звук, и они и так как-то пишут достаточно успешные игрульки (хотя иногда смеюсь с их решений, для вещей, которые решаются в одну формулу).
Самый важный навык пограммистов, после умения разбивать задачи и превращать их в общий вид - это искать решение для задачи. Будь то поиск в гугле или поиск в своей голове.
Про кватернион зацепило :-) Если говорить о математике для программиста в общем, то хочется сказать, что она скорее нужна. А парадокс в том, что по опыту с кватернионами хочется сказать: лезть к ним под капот - это просто бессмысленно. Ими надо просто уметь пользоваться, как серыми ящиками.
Комментарий недоступен
Я в целом люблю математику. Но Ваши мысли и мысли комментаторов натолкнули на 2 вывода:
На удивление хороший и конструктивный пост.
Насчеты второго пункта немного могу добавить от себя. Знание английского крайне упрощает поиск информации. И со временем умение составлять предложения приходит само собой. Раньше как-то прибегал к поиску чего-то на английском только, если не нашел инфу на русском. Но теперь уже на автомате сразу гуглю на английском. Хотя знание языка пока хромает на обе ноги. Но благо потихоньку учится.