Компьютерра - Журнал «Компьютерра» № 19 от 23 мая 2006 года Страница 29
Компьютерра - Журнал «Компьютерра» № 19 от 23 мая 2006 года читать онлайн бесплатно
Но что же тогда остается? — Л.Л.-М.
МЫСЛИ: Нематематическое программирование для кулхацкеров
Автор: Федор Смирнов
Разработчики курсов для программистов, особенно на фоне заявлений, что «нам нужны тысячи программистов» [Журнал «Электронная Россия» №3, 2004;www.e-rus.rudocs/20041230141049.pdf .], все чаще задумываются, а важен ли курс высшей математики для обучения этой профессии, может, достаточно дать основы программирования [Круглый стол, посвященный IT-образованию, тезисы — www.it-education.ru/2005/reports/Table_%B91.ppt ] — и вперед?
На форумах вузов и школ то и дело высказываются аналогичные сомнения: нужен ли студентам столь объемный курс математического анализа в их будущей профессиональной деятельности. Зачем нужны дифференциальные уравнения тем, кто будет программировать «1С:Бухгалтерию» и программу учета двух с половиной кофточек или глазированных сырков для тысяч российских ПБОЮЛ и ООО? Не говоря уже о тех, кто вообще не будет ничего программировать по окончании вуза. Более того, среди программистов немало выпускников гуманитарных вузов или людей вовсе без высшего образования. Во многих головах информационные технологии пополнили список «халявных» специальностей, где с минимальными усилиями можно занять довольно тепленькое местечко, а соломенное пугало под названием «математика» давно уже убрали с большого огорода, куда слетаются «компьютерные специалисты». Некоторые «бывалые» программисты даже авторитетно заявляют: «за все время работы максимум что мне понадобилось — это разность квадратов» или "все что нужно программисту — это школьный курс". Хорошо ли это, плохо ли, но подобные тенденции становятся все более заметными. Так, может быть, математика действительно не нужна программистам?!
В то же время информационные технологии никак не хотят делать паузу в своем изнурительном марш-броске. Это заставляет рынок труда из последних сил рваться вослед в поисках востребованных специальностей, с надеждой оглядываясь на плетущуюся следом старушку — систему образования. Меж тем именно от этой неторопливой (но уже бодрой на вид) бабульки во многом зависит судьба отечественного сектора ИТ. При этом рынок труда, уважая авторитет и преклонный возраст своей спутницы, тем не менее вынужден жить своей жизнью. Целиком полагаться на консервативную старушку было бы для него непозволительной роскошью.
— Все это рассуждение похоже на то, что вы прошли эту математику, а теперь вам обидно, если кто-то назовет себя программером, и не пройдя всю эту хренотень.
Для себя я точно уяснил, что математика для программистов — это, может быть, и было необходимостью лет 20 назад (я не пытаюсь сказать, что она не нужна, но читать каждому талмуды Кнута — маразм), теперь это нужно только узкому кругу программеров, а не всем подряд. Со всей ответственностью могу сказать, что я не изучал всякие теории автоматов, но это не помешало мне получить признание и квалификацию в сфере разработки софта, а также и поощрение в неплохом количестве удушенных енотов.
Ну объясните мне, как знание глубин математического программирования поможет мне лучше спроектировать интернет-систему для работы в кластере, например?
Взято из www.relib.com/forums/Topic775864-15-1.aspxЛирики российского программированияСверстать какой-нибудь «хоум пейдж» или переставить «винду» сможет любой мало-мальски смышленый гуманитарий. Спорить с этим не станут даже математические снобы, болезненно воспринимающие каждую удачу нематематика. Значит, человек без фундаментального математического образования легко устроит добрую половину российских работодателей. Разумеется, софтверные компании, провайдеры и прочие «требовательные» конторы в расчет можно не брать. Сейчас ИТ-зависимой является почти каждая организация, только запросы ее в большинстве случаев весьма скромны: поддерживать в работоспособном состоянии несколько компьютеров да помогать бухгалтеру мучить «1С».
Да и сами «корочки» в ИТ утратили свою магическую силу. Знакомый админ рассказывал, что удачно нашел себе помощника среди выпускников техникума. До этого ему пришлось пообщаться с десятком «специалистов», демонстрировавших вузовские дипломы и претендовавших на хорошие деньги. Однако их квалификация сильно не дотягивала до «парнишки из техникума». Таким образом, верить пенсионерке — системе образования — все опаснее: слишком уж неустойчива против ошибок стала комбинация из консерватизма и низкой зарплаты преподавателей.
Даже самые поверхностные тенденции на рынке труда заставляют задуматься о пользе математики. Зачем годами просиживать над решением дифференциальных уравнений, если эти знания окажутся мертвым грузом? Стоит ли проходить все круги «математического ада», если в дальнейшем придется конкурировать с каким-нибудь доморощенным кулхацкером?
Автор одного из учебников по такому сложному языку программирования, как С++, Ален Голуб, так говорит о роли гуманитарного и, в частности, лингвистического знания в процессе создания программ: «Программирование требует организаторских способностей и языковой подготовки, а не абстрактного мышления, необходимого для занятий математическим анализом». Далее Голуб развивает мысль в следующем направлении: зачастую в процессе подготовки специалистов в этой области слишком большое количество времени отводится предметам математического цикла, в то время как для проектирования необходимо как раз иное — «уметь написать последовательность действий на английском языке»[Цитата по php-coder.livejournal.com/22620.html, там же ссылка на оригинал в PDF]. И наконец делается вывод: «тот тип организационного мастерства и аналитических способностей, который нужен для программирования, связан полностью с гуманитарными науками».
Собака, которая зарыта слишком глубокоВсе это математическое богохульство наверняка уже вызвало у читателей-математиков желание отправить автора «фтопку». Программисты-математики в большинстве своем не мыслят жизнь вне «гимнастики ума», тем не менее со стороны эта уверенность кажется мало обоснованной.
Со времен Ломоносова нам известно, что «математика ум в порядок приводит». Однако этот аргумент напоминает больше хрестоматийную фразу. Почему нельзя шлифовать умы «компьютерщиков» чем-нибудь другим, скажем, изучением языков? Ведь сам процесс программирования — это написание кода.
Доступно и просто обосновать ценность математического образования — задача непростая. С ней сталкиваются еще школьные учителя математики, которым приходится втолковывать нерадивым ученикам, что без умения считать им — никуда. И если с младшими классами «прокатывают» примеры с деньгами, которые всем приходится считать во время похода в магазин, то со старшеклассниками, взявшимися за матанализ или геометрию, эта схема начинает давать осечки. Такому самоуверенному народу, как студенты, объяснить мировоззренческую ценность математики, как правило, вообще не удается. Поэтому никто особо и не пытается, следуя старой истине: вырастет — сам поймет.
Большинство удачливых «компьютерщиков», на самом деле, рано или поздно приходят к тому, что никакая математика в их жизни лишней не бывает. Знание это, похоже, чисто интуитивное, однако именно математическая броня есть основополагающее различие между «тяжелой артиллерией» и «криворукой пехотой». Сами преимущества, конечно, не в фундаментальных знаниях математики, а в том, что на этой почве выросло — умение решать нестандартные задачи, упорядоченный взгляд на вещи, склонность к универсальным решениям.
Математика в ИТ оказывается еще и предметом, который полезно изучать «про запас». Никогда не знаешь, когда в предстоящей работе возникнет необходимость в каких-нибудь экзотических математических познаниях. Многие потом с благодарностью вспоминают добросовестно отсиженные «бесполезные» лекции, прежние знания вдруг начинают «всплывать» и перестают казаться откровенным бредом.
Один знакомый чистосердечно признался, что в студенческие годы был не силен в дифференциальном исчислении. Став веб-программистом, он даже представить не мог, что пыльный университетский курс потребуется в одном из проектов. Так жизнь заставила его не просто воспользоваться «непрактичной» математикой, но и разобраться наконец в ее тонкостях.
Хотя, конечно, математика математике рознь. Какие-то разделы этой обширной науки жизненно необходимы в практике программирования, другие — складываются на «депозит», где и покоятся до поры до времени, пока очередной проект не вытащит их на поверхность.
— Математика — это не физкультура, чтобы была «сакцесс стори» о том, как умение подтягиваться помогло работать смотрителем крокодилов. Математические дисциплины необходимы, чтобы человек научился правильно думать. Если ты этому научиться не можешь, то с большой вероятностью не сможешь и разрабатывать софт.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.