Как стать автором
Обновить

Begin /* Снова о математике для программиста

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.2K
Kandinsky 2.1. Коза с баяном. 2023. Telegram, artization.
Kandinsky 2.1. Коза с баяном. 2023. Telegram, artization.

Всегда забавляют разные формулировки на тему нужна ли программисту математика. Учитывая что алгоритмы и логика, собственно и есть математика в самой её основе, тут впору поставить вопрос о том, что является первичным для современной математики: арифметика, алгебра и геометрия или алгоритмы и логика. Программист, как специалист по применению алгоритмов и логики, есть математик. А математик, в каком-то смысле, и есть программист. Нужна ли математика математику?

Другое дело вопрос: что имеется ввиду нынче под "математикой для программиста"? Или какие разделы математики актуальны нынче в институтах по специальностям связанным с программированием? Чем в итоге чаще всего придется пользоваться? В каких специализациях? Об этом хотелось бы и повторить.

Житейское

Много копий сломано на тему о том насколько нужна математика, неважно школьная или институтская, в повседневной жизни. Тут многие забывают уточнить первое и главное: что является повседневной жизнью в конкретной дискуссии. В чьей повседневной жизни? В жизни академика или уборщицы? Поэтому для начала предлагаю определиться.

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

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

С другой стороны, если относиться к математике как не к конкретным её практическим приложениям, а как к образу мышления, то, возвращаясь к началу, выясняется, что методики тестирования, анализа производительности, управления проектами, оптимизации накладных расходов, сплошь сводятся к пониманию того как устроены и работают абстрактные сущности. Абстракция - подход программистов, например к железу, как условному виртуальному вычислителю, что это как не математика в чистом виде? Кибернетика, информатика, автоматы, формальные грамматики - называйте как хотите.

То что человек пользуется математическим арсеналом, не зная как это всё называется, вовсе не говорит о том, что математика ему не пригодилась. Как известно, незнание закона не освобождает от ответственности. Так и тут - то что человек не понимает, что программа и машина являются вместе конечным детерминированным автоматом не означает, что он им не пользуется. Другой вопрос - настолько ли это полезно знать эти термины и понимать что на самом деле происходит. Делает ли знание законов человека более приспособленным к жизни? Или можно обойтись общей моралью и интуицией?

Академическое

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

А какой объем знаний необходим и достаточен, что бы человек мог считаться таким специалистом зависит не от каких-то идеализированных стремлений к всеобщему просвещению, а от текущей экономической обстановки в мире и в стране. Если в восьмидесятые годы для работы с дорогим оборудованием нужны были специалисты одного уровня, то теперь, когда железа в распоряжении каждого как у дурака махорки, достаточно и несколько менее высокого уровня подготовки.

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

Можно ли отдельному студенту адаптироваться к реалиям так, что бы и бумажку заветную ухватить и выучиться не на сферического программиста в вакууме, а на пригодного к применению специалиста? Насчет этого тоже ходит масса споров, которые обычно заканчиваются тем, что каждому специалисту по своей узкой специализации. Дескать, тому кто решил заниматься исключительно трехмерными играми нужно что-то из аналитической геометрии, для связистов из теории вероятностей и рядов, а рядовому сотруднику отдела автоматизации бухгалтерии, коих большинство, и вовсе не надо ничего.

Индивидуальное

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

Да, наверное где-то можно урезать базу и начинать специализироваться раньше, но вряд ли специализацию должна диктовать мода. Есть достаточно незыблемые и общие профессиональные навыки, которые не лишним было бы преподавать уже в институте.

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

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

Во-вторых, в сфере образования в целом происходит медленный, но уверенный переход к межотраслевому взаимодействию. Напрашивается такой подход давно, но памятуя об инертности сложных и больших систем, получается так как получается. Поэтому студентам нынче нужно задумываться не только о специализации в области информатики, но и о специализации в предметной области. До сих пор приложениями информатики являлись, либо математика, либо физика. Реже экономика и статистика. Тоже, между прочим, математическая. Ну или наоборот прикладная математика считалась информатикой в области вычислительных методов.

Нынче же, как математика, так и информатика, проникли во все сферы деятельности человека. То есть не мешало бы студентам специализироваться и в том отношении в какое предприятие, сферу экономики, они хотят потом пойти работать. Добыча, финансы, медицина, сельское хозяйство, военная промышленность, космос ну и прочее. Может действительно не так важно знать кто такой лагранжиан, но ловко сводить дебет с кредитом, или что-то соображать в анатомии глаза, чем решать задачки по ламинарным потокам.

Вывод

Предупреждая реакцию читателя еще раз обращаю внимание на то что материал - личное мнение и некое послание для себя 20 или 30-летнего. Если вы методист из министерства образования не стоит относиться к моим словам как к указанию на пробелы в вашей деятельности. Я знаю, что вы знаете гораздо больше меня. А для начинающих программистов, думаю, не помешает.

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

А еще не принимайте никогда участие в бессмысленных спорах о том нужна ли математика программисту!

*/

End.

Запощено под Ordinary day - Dolores O'Riordan

Теги:
Хабы:
Всего голосов 13: ↑10 и ↓3+7
Комментарии50

Публикации

Истории

Ближайшие события