Нужна ли математика программисту? Какая и где учить — разбирает преподаватель и математик
Говорят, «не будешь знать математику, не сможешь стать программистом». Преподаватель, программист и математик Никита Терентьев рассказывает, так ли это. А ещё: где в ИТ хватит базовой школьной программы, где нужны специфические знания. И какие именно направления математики пригодятся для работы в узких областях, вроде data science или gamedev.
Всегда найдутся люди, которые категорично заявляют, что в ИТ-индустрии не место тем, кто не знает криволинейный интеграл «или хотя бы векторное исчисление». Но:
большой вопрос, станут ли эти люди столь же категорично заявлять это прямо в лица своим коллегам, которые успешно справляются со своей работой, двигают вперёд проекты и индустрию в целом? Ответ: маловероятно.
базовой «школьной» математики вполне хватит для старта карьеры программиста, если вы выбрали наиболее общее (и, скорее всего, популярное) направление. К таким относятся, например, веб-разработка, разработка под интернет вещей или носимые устройства, разработка баз данных (поначалу), мобильная разработка.
Что действительно может вам понадобиться на этом этапе:
Основы алгебры. Понятие чисел и числового ряда, дробей и округления, базовых операции над числами так или иначе пригодятся всем программистам в любом направлении деятельности. Хорошим дополнением станет умение работать с разными системами счисления.
Функции и их обозначения. Многие языки программирования используют как само понятие функции, так и несколько разных видов обозначений (включая пресловутые lambda) как основу синтаксиса и соответственно расчётов.
Основы геометрии. Фигуры на плоскости, их площади и расстояния применяются при проектировании и реализации пользовательских интерфейсов.
Если вы не прогуляли в школе первые пять классов, то восстановить формальные понятия этих разделов можно буквально за один вечер. Более продвинутые концепции спокойно можно изучить на последующих этапах и по мере необходимости.
Мышление: логическое и абстрактное
Самое главное, что может дать базовая математика в школе — это умение думать и рассуждать, приходить к решению и отбрасывать неверные пути, находить граничные и исключительные ситуации. Именно эти навыки помогают программистам достигать успехов в любом направлении разработки. Все вышеперечисленные концепции можно объединить единым понятием логики. Именно еёмногие недополучают в школе/университете и этот дефицит придётся компенсировать на стороне.
Где нужна больше математика для программистов (+ ресурсы, где учить)
Есть несколько направлений в программировании, где хорошие познания в высшей математике все-таки жизненно необходимы. Не торопитесь бежать в онлайн библиотеку за полным комплектом трактатов Бурбаки, лучше спокойно проанализируйте требования по выбранному направлению. На старте хорошее понимание ограниченного количества концепций всегда лучше поверхностного формального знания математики «в ширину».
Проанализируйте требования в вакансиях, учитывайте не только запросы по новичкам, но и то, в какую сторону придётся двигаться по мере развития вашей карьеры. И фокусируйтесь на практике, это поможет не скиснуть от потока новых знаний, и получить полезные здесь и сейчас навыки.
Ниже привожу несколько популярных направлений и те разделы «вышки», которые вам понадобятся.
Data science и machine learning
Для решения задач здесь часто приходится прибегать к использованию головокружительных многомерных массивов, тензоров, статистических распределений и многих других продвинутых концепций. Фундаментом станут три раздела:
Статистика — используется для анализа и понимания данных, поиска скрытых паттернов и закономерностей. Для начала можно сфокусироваться на вероятностных функциях, распределении, сэмплинге и измерении погрешностей.
Линейная алгебра — помогает лучше понимать и проектировать алгоритмы, основанные на векторном и матричном исчислении. Стоит обратить внимание на векторные пространства и базовые операции над векторами и матрицами, дальше можно будет углубляться в работу со специальными матрицами.
Математический анализ (calculus по-английски) — явно или неявно он просто повсюду, от вычисления средних и граничных значений, до работы с последовательностями значений.
Вот хороший курс для получения базовых знаний по математике для data science.
GameDev
Математика в программировании — основа разработки игр, с её помощью описываются все правила, по которым существует виртуальный мир игры, от простейшей параболы, по которой летит злая птичка, до частиц грязи и пыли, разлетающихся с колёс раллийной машины. Что стоит знать, для проектирования игры:
Алгебра, кругом она — без линейных и векторных исчислений невозможно просчитывать перемещения объектов, направления взгляда, движения, стрельбы и так далее, список можно продолжать очень долго.
Не будут лишними кватернионы — специальная система исчисления, позволяющая удобно описывать вращения трёхмерного объекта с помощью четырёх измерений.
И отдельно стоит отметить мат анализ, с помощью которого можно реализовать физику перемещений и взаимодействий игровых объектов, впрочем, всё очень сильно зависит от игрового движка, иногда крепкие знания матана могут и не пригодится.
Она же компьютерная безопасность, направление, в котором решают задачи защиты чувствительной информации от несанкционированного доступа, кражи и т. д. С большего здесь используется общий для всех дисциплин мат аппарат — алгебра логики, мат анализ, специальные системы счислений. Отдельно я бы отметил две вещи:
Очень часто для разных вычислений в рамках алгоритмов применяются комплексные числа (complex numbers). В частности, с помощью них можно найти все три корня кубического уравнения, или корни квадратного в тех случаях, когда в школьной математике мы договаривались, что корней нет.
Ну и конечно важнейшей дисциплиной для этого направления считается криптография. Если совсем просто, то это наука о шифровании и дешифровании данных. С помощью методов криптографии можно обеспечивать целостность данных, проверять их подлинность, подписывать данные электронной цифровой подписью и так далее.
Продвинутая математика не является необходимой, но действительно даёт очень много преимуществ программисту. Все достаточно сложные математические концепции основываются на логике и символьном «языке», который функционирует по определённому набору правил. А это очень похоже на само программирование.
Номинально, чем больше продвинутых разделов математики знает человек, тем проще ему заниматься программированием. Но не потому, что где-то в программировании напрямую нужно применять, к примеру алгебраическую топологию или теорию поля, а потому что и там, и там — крайне похожие процессы. Опыт из одного легко перенести в другой и наоборот.
Существует очень много способов развить абстрактное мышление, от простейших, вроде просмотра фильмов и чтения книг, до полноценных занятий на уровне хобби — участие в театральных кружках, игра на музыкальных инструментах, сборка моделей и так далее.
Бонус: отличный канал на русском языке, на котором освещаются все основные концепции из курса вышки.
Делитесь в комментариях, какие направления математики вам нужны в работе. И источники, где можно найти лекции/упражнения/разборы — добавим в материал.
Эта история, как многие другие, появилась благодаря читателям devby. Уже 16-й год подряд мы объединяем и сохраняем беларуское ИТ-комьюнити. Мы быстро реагируем на любые, особенно тревожные, сообщения наших читателей. Объективно и взвешенно рассказываем, что происходит с индустрией: новые проекты, успехи и неудачи, лютый кринж и глитч надежды на фоне страшных кризисов, которые мы все переживаем.
Давайте пройдем этот путь вместе! Поддержите работу команды на любую сумму: на Patreon, через Donorbox (удобно из Беларуси) или криптой, чтобы мы могли делать больше и оперативней. Ежемесячные платежи делают планы редакции более прогнозируемыми, так мы можем планировать. Спасибо!
Страх или лень? Как не бояться ответственности на любом этапе карьеры
Умение принять ответственность отличает как взрослого от ребёнка, так и хорошего специалиста от просто специалиста. Отвечать за свою, а в перспективе и чужую, работу и карьеру трудно. И даже страшно. Но, как с любым страхом — с этим можно бороться.
Компания звонит по телефону — зовёт в ИТ без навыков и английского. У айтишников вопросы
Айтишники (и не только) жалуются, что им звонят по телефону из школы IT Overone и предлагают курсы для вхождения в ИТ без первоначальных навыков и английского.
большой вопрос, станут ли эти люди столь же категорично заявлять это прямо в лица своим коллегам, которые успешно справляются со своей работой, двигают вперёд проекты и индустрию в целом? Ответ: маловероятно.
А если проект связан с векторными или интегральными исчислениями? Ведь программист это не тот кто только onclick для кнопочки добавляет)
Я QA Automation в геймдеве. Математика не особо была нужна, до тех пор, пока не пришлось работать с позициями игрока (в игровом мире и на миникарте, например), дальностью видимости и т.д. Особенно пригодились геометрические алгоритмы (вхождение точки в многоугольник, положение точки относительно прямой и вот это всё. Да даже сейчас, работая на мобильном проекте, иногда есть необходимость взаимодействовать с расстоянием, положением объёктов (например, проверять, должен ли объект быть виден или нет; выцеплять координаты объекта на экране, имея лишь координаты объекта в сцене и несколько камер). Так что никогда не знаешь, когда математика пригодится :)
Говорят, «не будешь знать математику, не сможешь стать программистом».
Зависит исключительно от потребности рынка. Будет много вакансий - будут всех брать кто знает что такое объект, класс и переменная. И наоборот.
PS: Мой свежайший пример из Польши - меняю работу, вместо меня берут человека с экономическим образованием из Грузии, и оклад у него я примерно знаю - он ощутимо так больше моего. Рад за него и всего ему самого хорошего.
PPS: Стоит ли добавлять, что моя попытка внутри компании увеличить з/п провалилась.
Возможно, Ваш работодатель, читает dev.by и воспользовался своими знаниями математики, чтобы оценить сколько он вложил в спонсирование комментариев, и решил направить средства на решение производственных задач :-)
P.S. Извините, если задел. Просто дружественное подтрунивание, no offence. Без Вас тут будет скучно. Удачи в поисках нового спонсора, для наших комментариев.
Задеть меня?))))) Вы явно переоцениваете величие своего комментария )))
Тут даже и подтрунивания как такового нет. Что к чему вообще, лучше научитесь мысли более понятно излагать.
И поменьше фантазировать вам нужно.
Делитесь в комментариях, какие направления математики вам нужны в работе.
Делюсь. Умение продавать себя. Очень нужное.
Anonymous
28 мая 2022, 11:42
7
В 90% никакие. Базовое умение считать.
Я да же могу больше сказать, знания алгоритмов: сортировка, графы, поиск в ширину или глубину, деревья и тд, не требует знания высшей математики, только какие-то базовые понятия.
Для того чтобы сверстать форму или положить число в бд, математика не нужна.
Да же призовые места на олипиаде по информатике не всегда требуют математику. Так как не возможность решить задачу математические, не означает не возможность её решить алгоритмически. Знание как написать полный перебор, для любой задачи, решает её на 50%.
Пользователь отредактировал комментарий 28 мая 2022, 11:42
В маленьких компаниях - нужна, часто нужно за бухгалтером перепроверять правильность начисления зп.
В больших компаниях - нет, там с этим все окей, начислят без ошибок.
Вне игр, мл, обработки изображений, задач распознавания, мне в разных ситуациях за примерно 25 лет работы пригодились понимание теории графов, матрицы и линейная алгебра. Даже без конкретных теорем и численных методов в голове - понимание принципов и основ помогают найти и отоьрать нужную информацию
Необходимо просто знание о том что существует математический способ решения, а так же понимание уместности его применения.
Например, многие пытаются всунуть применение ml там где это не нужно, а где-то это даже опасно.
Anonymous
30 мая 2022, 19:18
3
Это точно. Причём всунуть пытаются не просто МЛ, а сразу Deep Learning модный из последних SOTA. В здоровенные хранилища заливаются петабайты информации, стопиццот индусов чистят и размечают выборки, дико дорогие теслы несколько недель учат всю эту фигню. А потом получается инференс такой, что под него отдельный кластер хочется развернуть. И в самом конце оказывается, что всю вот эту вот херню можно было сделать каскадами Хаара и косинусным расстоянием, а работать этот мелкий уродец может даже на компе времен мамки Стифлера.
Anonymous
Position в Noname
28 мая 2022, 18:22
1
главное, чтобы эта математика преподавалась без отрыва от реального сектора экономики и сельского хозяйства. иначе выходит такой специалист из своего ВУЗа - а толком ни сеять ни обмолачивать не умеет, только кнопки на компьютере нажимать
не нужна! и туда же: историю, философию, физику, химию, литературу. не нужна! ровно с того момента, когда произошла подмена слова "инженер-программист" на "айтишник". с того момента, когда образование стало услугой. не нужна!
Лично мне за последние примерно двадцать лет работы в разработке различного софта, задачи с необходимостью применения математики/геометрии - встречались относительно редко. Однако, именно подобные проекты (богатые на математику), я бы назвал наиболее яркими и интересными. Хотя, в то же время, и наиболее сложными. Это те проекты, участие в которых вызывает гордость, несмотря на то, что уже прошло немало лет.
Пользователь отредактировал комментарий 28 мая 2022, 23:06
В статье все верно изложено - главное, что даёт математика, - это умение решать задачи. Думаю, при решении упражнений из алгебры и геометрии задействованы те же области мозга, что и при решении алгоритмических задач. Поэтому, развивая мозг в школе на математике, вы подготавливаете свой мозг к программированию. Попробуйте сами - откройте задачку с leetcode и постройте для неё алгоритм. У меня это вызывает стойкое чувство дежавю, как когда-то я пытался упростить выражения с кучей скобок из учебника Сканави в школе.
As a kid, Wang was a math whiz who competed in national math and coding competitions. In 6th grade, he signed up for his first national math competition intent on securing a free ticket to Disney World. He didn’t win the competition, but he clinched his trip to the magic kingdom. By 17, he was working full-time coding at the question-and-answer site Quora, where he met Scale’s cofounder, Lucy Guo.
Шерлок Холмс не был ни программистом, ни математиком. Он был сыщиком. Однако его дедуктивный метод, который он использовал в процессе своих расследований очень помогал ему распутывать сложные комбинации происходящих событий.
Все думают, что любят математику, пока дело не коснется тензорного исчисления ))
Если ты не разрабатываешь базы данных, алгоритмы шифрования или игровые движки, то поверь, математика у тебя будет только на Википедии в свободное от работы время. Верхом твоих математических потуг на работе будет в лучшем случае нахождение медианы, а обычно и вовсе остаток от деления
Я не совсем понимаю, для какой аудитории пишет автор. Для школьников? Но у них есть уроки информатики, где о входе в ИТ расскажут более доступно. Для студентов ИТ специальностей? Так они уже в ИТ. Для людей, которые хотят поменять свою профессию на ИТ? Тогда это - подменить своими курсами стандартное образование. Похоже на то, как во время пандемии, начитавшись разной, в том числе и медицинской литературы, многие стали считать себя вирусологами. То есть, по сути, врачами. Мы хотим иметь врачей с таким образованием?
Программированию обучают в специализированных вузах уже больше 50 лет, и, судя по всему, довольно успешно. Причем, по моему мнению, какой-либо язык программирования - один из самых простых, хотя и необычных для новичка, предметов. В основном же, там преподаются математические дисциплины, которые подготавливают к будущей профессии, потому что да, "математика ум в порядок приводит" (с)
Честно говоря, я уже не помню ни одной теоремы, но помню впечатления от их доказательств - как пройти длинную-длинную цепочку рассуждений, не сбиться и прийти к однозначному всегда работающему утверждению.
И еще, помню очарование точностью. Без умения быть точным не напишешь программу. Возможно, чтобы написать программу, которая выведет "Hello world" разными цветами в пределах ЯП, это не очень критично. Но чтобы написать программу, реализующую множество сценариев, которые не будут конфликтовать между собой, и не сломают ничего существующего, нужно иметь специальное мышление, которое формируется довольно долго, в особых условиях - и не на курсах.
"Не навреди" - правило любой профессии.
Пользователь отредактировал комментарий 30 мая 2022, 12:12
Чтобы писать хороший код - нужно кодить. Универы, математика и т. д. не обязательны, даже иногда могут мешать.
Многие топовые эксперты/преподаватели в своих областях топят против универов, я с ними солидарен 😁
они топят против универов потому что за 4-6 лет вложили времени в образование как 3 универа, а те кто ссылаются на их утверждения обычно поработали кое как 8 часов и учесали в бар
Никто не будет спорить, что для больших компаний, где кодеры делают формочки (а апогеем профессионализма является сохранение содержимого формочки в файл или базу), справедливо утверждение, что универ, для функций кодера, не обязятелен. Эти компании меняют кодеров также, как расходники к принтерам. Но есть и разработчики - программисты. На этих профессионалах строится весь процесс. Это уже не расходный материал. Это тот высоко-потенциальный профессиональный базис, на котором держится разработка. Как правило, для таких разарботчиков курс универа действительно даёт как твёрдый фундамент для дальнейшего развития, так и возможность обзавестись хорошими связями в IT профессиональном мире.
Пользователь отредактировал комментарий 3 июня 2022, 15:41
Насчет шахмат не совсем согласен. По сути это - тренировка "нейросети" в мозге под узкую специфическую задачу. И зубрежка дебютов.
Для "обычного" программирования полезны основы: структуры данных и основные алгоритмы. Все программы на 99% состоят из этого, плюс еще 1% из математических формул.
Что еще полезно, на мой взгляд - это понимание ОС и железа. То есть, не программировать сферическую программу в виртуальном вакууме, а понимать что будет происходить "под капотом".
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
А если проект связан с векторными или интегральными исчислениями? Ведь программист это не тот кто только onclick для кнопочки добавляет)
Я QA Automation в геймдеве. Математика не особо была нужна, до тех пор, пока не пришлось работать с позициями игрока (в игровом мире и на миникарте, например), дальностью видимости и т.д. Особенно пригодились геометрические алгоритмы (вхождение точки в многоугольник, положение точки относительно прямой и вот это всё. Да даже сейчас, работая на мобильном проекте, иногда есть необходимость взаимодействовать с расстоянием, положением объёктов (например, проверять, должен ли объект быть виден или нет; выцеплять координаты объекта на экране, имея лишь координаты объекта в сцене и несколько камер). Так что никогда не знаешь, когда математика пригодится :)
Зависит исключительно от потребности рынка. Будет много вакансий - будут всех брать кто знает что такое объект, класс и переменная. И наоборот.
PS: Мой свежайший пример из Польши - меняю работу, вместо меня берут человека с экономическим образованием из Грузии, и оклад у него я примерно знаю - он ощутимо так больше моего. Рад за него и всего ему самого хорошего.
PPS: Стоит ли добавлять, что моя попытка внутри компании увеличить з/п провалилась.
Это Грузин или миграционный Беларус?
Реальность такова что для повышения зп сейчас легче сменить работу чем добиться что бы её подняли на текущем месте..
Возможно, Ваш работодатель, читает dev.by и воспользовался своими знаниями математики, чтобы оценить сколько он вложил в спонсирование комментариев, и решил направить средства на решение производственных задач :-)
P.S. Извините, если задел. Просто дружественное подтрунивание, no offence. Без Вас тут будет скучно. Удачи в поисках нового спонсора, для наших комментариев.
Задеть меня?))))) Вы явно переоцениваете величие своего комментария )))
Тут даже и подтрунивания как такового нет. Что к чему вообще, лучше научитесь мысли более понятно излагать.
И поменьше фантазировать вам нужно.
Делюсь. Умение продавать себя. Очень нужное.
В 90% никакие. Базовое умение считать.
Я да же могу больше сказать, знания алгоритмов: сортировка, графы, поиск в ширину или глубину, деревья и тд, не требует знания высшей математики, только какие-то базовые понятия.
Для того чтобы сверстать форму или положить число в бд, математика не нужна.
Да же призовые места на олипиаде по информатике не всегда требуют математику. Так как не возможность решить задачу математические, не означает не возможность её решить алгоритмически. Знание как написать полный перебор, для любой задачи, решает её на 50%.
Пользователь отредактировал комментарий 28 мая 2022, 11:42
Даже пишется слитно. Невозможность в данном контексте тоже.
Учи математику, а то так и будешь джейсоны до пенсии парсить и по базе раскладывать!
Как будто что-то плохое
скучно же
Учи математику, студент, будешь как и я в индусском гов#окоде копаться. А иначе так и останешься каким-то бизнесменишкой.
Пользователь отредактировал комментарий 28 мая 2022, 14:04
В маленьких компаниях - нужна, часто нужно за бухгалтером перепроверять правильность начисления зп.
В больших компаниях - нет, там с этим все окей, начислят без ошибок.
в больших тем более нужна: чтобы солидного корпобухгалтера ущучить
Айтишники в очередной раз пытаются притянуть что-то умное к себе без смс.
Мы уже и так поняли, что вы спецы вообще во всем.
К сожалению большая часть айтишников не способна даже посчитать налоги и проценты по кредиту
ну, скока уже можно про джунов виронита?!
Очень зависит от сферы.
Вне игр, мл, обработки изображений, задач распознавания, мне в разных ситуациях за примерно 25 лет работы пригодились понимание теории графов, матрицы и линейная алгебра. Даже без конкретных теорем и численных методов в голове - понимание принципов и основ помогают найти и отоьрать нужную информацию
Необходимо просто знание о том что существует математический способ решения, а так же понимание уместности его применения.
Например, многие пытаются всунуть применение ml там где это не нужно, а где-то это даже опасно.
Это точно. Причём всунуть пытаются не просто МЛ, а сразу Deep Learning модный из последних SOTA. В здоровенные хранилища заливаются петабайты информации, стопиццот индусов чистят и размечают выборки, дико дорогие теслы несколько недель учат всю эту фигню. А потом получается инференс такой, что под него отдельный кластер хочется развернуть. И в самом конце оказывается, что всю вот эту вот херню можно было сделать каскадами Хаара и косинусным расстоянием, а работать этот мелкий уродец может даже на компе времен мамки Стифлера.
главное, чтобы эта математика преподавалась без отрыва от реального сектора экономики и сельского хозяйства. иначе выходит такой специалист из своего ВУЗа - а толком ни сеять ни обмолачивать не умеет, только кнопки на компьютере нажимать
не нужна! и туда же: историю, философию, физику, химию, литературу. не нужна! ровно с того момента, когда произошла подмена слова "инженер-программист" на "айтишник". с того момента, когда образование стало услугой. не нужна!
Лично мне за последние примерно двадцать лет работы в разработке различного софта, задачи с необходимостью применения математики/геометрии - встречались относительно редко. Однако, именно подобные проекты (богатые на математику), я бы назвал наиболее яркими и интересными. Хотя, в то же время, и наиболее сложными. Это те проекты, участие в которых вызывает гордость, несмотря на то, что уже прошло немало лет.
Пользователь отредактировал комментарий 28 мая 2022, 23:06
Купил за два рубля, продал за пять. Вот на этих три процента и живём (с)
В статье все верно изложено - главное, что даёт математика, - это умение решать задачи. Думаю, при решении упражнений из алгебры и геометрии задействованы те же области мозга, что и при решении алгоритмических задач. Поэтому, развивая мозг в школе на математике, вы подготавливаете свой мозг к программированию. Попробуйте сами - откройте задачку с leetcode и постройте для неё алгоритм. У меня это вызывает стойкое чувство дежавю, как когда-то я пытался упростить выражения с кучей скобок из учебника Сканави в школе.
Математику уж за тем знать нужно, что она ум в порядок приводит. (Ломоносов)
Вроде даже с бодунища помогала Михаилу Васильевичу
" в ИТ-индустрии не место тем, кто не знает криволинейный интеграл «или хотя бы векторное исчислениe."
Естессно, для тех кто работает на Boeing, NASA, HP etc. Конечно OnLine Stories можно програмировать и без этого в уме.
Статья в тему, о человеке который стал милиардером в 25 лет благодаря своим математическим способностям:
https://www.forbes.com/sites/colehorton/2022/05/25/the-new-youngest-self-made-billionaire-in-the-world-is-a-25-year-old-college-dropout/?sh=32dc6df4494b
Отрывок из статьи:
As a kid, Wang was a math whiz who competed in national math and coding competitions. In 6th grade, he signed up for his first national math competition intent on securing a free ticket to Disney World. He didn’t win the competition, but he clinched his trip to the magic kingdom. By 17, he was working full-time coding at the question-and-answer site Quora, where he met Scale’s cofounder, Lucy Guo.
Шерлок Холмс не был ни программистом, ни математиком. Он был сыщиком. Однако его дедуктивный метод, который он использовал в процессе своих расследований очень помогал ему распутывать сложные комбинации происходящих событий.
Начнем с того, что Шерлок Холмс был фантазией в одной голове.
Все думают, что любят математику, пока дело не коснется тензорного исчисления ))
Если ты не разрабатываешь базы данных, алгоритмы шифрования или игровые движки, то поверь, математика у тебя будет только на Википедии в свободное от работы время. Верхом твоих математических потуг на работе будет в лучшем случае нахождение медианы, а обычно и вовсе остаток от деления
Я не совсем понимаю, для какой аудитории пишет автор. Для школьников? Но у них есть уроки информатики, где о входе в ИТ расскажут более доступно. Для студентов ИТ специальностей? Так они уже в ИТ. Для людей, которые хотят поменять свою профессию на ИТ? Тогда это - подменить своими курсами стандартное образование. Похоже на то, как во время пандемии, начитавшись разной, в том числе и медицинской литературы, многие стали считать себя вирусологами. То есть, по сути, врачами. Мы хотим иметь врачей с таким образованием?
Программированию обучают в специализированных вузах уже больше 50 лет, и, судя по всему, довольно успешно. Причем, по моему мнению, какой-либо язык программирования - один из самых простых, хотя и необычных для новичка, предметов. В основном же, там преподаются математические дисциплины, которые подготавливают к будущей профессии, потому что да, "математика ум в порядок приводит" (с)
Честно говоря, я уже не помню ни одной теоремы, но помню впечатления от их доказательств - как пройти длинную-длинную цепочку рассуждений, не сбиться и прийти к однозначному всегда работающему утверждению.
И еще, помню очарование точностью. Без умения быть точным не напишешь программу. Возможно, чтобы написать программу, которая выведет "Hello world" разными цветами в пределах ЯП, это не очень критично. Но чтобы написать программу, реализующую множество сценариев, которые не будут конфликтовать между собой, и не сломают ничего существующего, нужно иметь специальное мышление, которое формируется довольно долго, в особых условиях - и не на курсах.
"Не навреди" - правило любой профессии.
Пользователь отредактировал комментарий 30 мая 2022, 12:12
Чтобы писать хороший код - нужно кодить. Универы, математика и т. д. не обязательны, даже иногда могут мешать.
Многие топовые эксперты/преподаватели в своих областях топят против универов, я с ними солидарен 😁
они топят против универов потому что за 4-6 лет вложили времени в образование как 3 универа, а те кто ссылаются на их утверждения обычно поработали кое как 8 часов и учесали в бар
Никто не будет спорить, что для больших компаний, где кодеры делают формочки (а апогеем профессионализма является сохранение содержимого формочки в файл или базу), справедливо утверждение, что универ, для функций кодера, не обязятелен. Эти компании меняют кодеров также, как расходники к принтерам. Но есть и разработчики - программисты. На этих профессионалах строится весь процесс. Это уже не расходный материал. Это тот высоко-потенциальный профессиональный базис, на котором держится разработка. Как правило, для таких разарботчиков курс универа действительно даёт как твёрдый фундамент для дальнейшего развития, так и возможность обзавестись хорошими связями в IT профессиональном мире.
Пользователь отредактировал комментарий 3 июня 2022, 15:41
Насчет шахмат не совсем согласен. По сути это - тренировка "нейросети" в мозге под узкую специфическую задачу. И зубрежка дебютов.
Для "обычного" программирования полезны основы: структуры данных и основные алгоритмы. Все программы на 99% состоят из этого, плюс еще 1% из математических формул.
Что еще полезно, на мой взгляд - это понимание ОС и железа. То есть, не программировать сферическую программу в виртуальном вакууме, а понимать что будет происходить "под капотом".