Созидатели или подражатели?
Nov. 8th, 2005 12:31 pmНа эту тему писал недавно
eugenebo: что вел он собеседование с программерами в штатах и ребята показали, что задачки решать совершенно не умеют, но знают много.
По мере того, как отрасль программирования развивается, квалификация программистов падает и начинается засилье "зубрил".
Для любой программы возникают обычные ножницы между сделать самому какой-то кусок, либо откопать-освоить чужое. Почему то всегда забывают, что откопать-освоить тоже занимает рабочее время и немалое. По идее, для каждого кусочка нужно решать вопрос об имплементации индивидуально. Но. Среди программистов становится все больше дебилов, для которых просто нет выбора. САМИ они написать ничего не могут в принципе. Я таких видел не раз: если вдруг они не могут найти в Сети подходящую библиотеку, то они начинают рыскать по форумам с воплями о помощи. Самим подумать нечем. Получив какие-то указания, начинают программировать - но не дай бог, если задачка в чем-то нестандартная. Тогда они начинают просить начальство объяснить им, КАК они должны программировать (т.е. фактически сделать за них часть работы). Если приходится все-таки делать самому, то в результате получается монстр, который ухитряется поставить раком все приложение (обычно в плане ресурсов и быстродействия). Попытка заставить такого дебила что-то написать самому в результате часто выливается в повышение технических требований ко всему приложению.
Я хочу сказать, что для некоторых программистов просто НЕТ ВАРИАНТОВ: написать самому или слизать у кого-то. И таких становится все больше, и они начинают подводить под свою деятельность идеологию, обсирая тех, кто умеет думать своей головой. Обычные отмазки: "не надо изобретать велосипед", "стандартный продукт легче освоить" и т.п. Между тем, эти отмазки работают только до поры. Изобретение велосипеда подчас дешевле (в смысле рабочего времени) и эффективнее (в смысле полученного результата) - но только если вы способны на это. А использование стандартных библиотек ведет к тому, что вместе с библиотекой вы получаете все ее возможности - но так же и сопутствующие требования к харду и софту, сопутствующие принципиальные ограничения и баги. Причем, пропатчить чужой код (исправить баг) - это задачка на порядок сложнее, чем исправить баг в своем коде. То есть, отмазка о том, что "стандартные библиотеки содержат меньше багов" тоже не катит. Да, багов там меньше, но каждый баг требует гораздо больше времени на исправление. Так что в сумме может получиться и так, и эдак.
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
По мере того, как отрасль программирования развивается, квалификация программистов падает и начинается засилье "зубрил".
Для любой программы возникают обычные ножницы между сделать самому какой-то кусок, либо откопать-освоить чужое. Почему то всегда забывают, что откопать-освоить тоже занимает рабочее время и немалое. По идее, для каждого кусочка нужно решать вопрос об имплементации индивидуально. Но. Среди программистов становится все больше дебилов, для которых просто нет выбора. САМИ они написать ничего не могут в принципе. Я таких видел не раз: если вдруг они не могут найти в Сети подходящую библиотеку, то они начинают рыскать по форумам с воплями о помощи. Самим подумать нечем. Получив какие-то указания, начинают программировать - но не дай бог, если задачка в чем-то нестандартная. Тогда они начинают просить начальство объяснить им, КАК они должны программировать (т.е. фактически сделать за них часть работы). Если приходится все-таки делать самому, то в результате получается монстр, который ухитряется поставить раком все приложение (обычно в плане ресурсов и быстродействия). Попытка заставить такого дебила что-то написать самому в результате часто выливается в повышение технических требований ко всему приложению.
Я хочу сказать, что для некоторых программистов просто НЕТ ВАРИАНТОВ: написать самому или слизать у кого-то. И таких становится все больше, и они начинают подводить под свою деятельность идеологию, обсирая тех, кто умеет думать своей головой. Обычные отмазки: "не надо изобретать велосипед", "стандартный продукт легче освоить" и т.п. Между тем, эти отмазки работают только до поры. Изобретение велосипеда подчас дешевле (в смысле рабочего времени) и эффективнее (в смысле полученного результата) - но только если вы способны на это. А использование стандартных библиотек ведет к тому, что вместе с библиотекой вы получаете все ее возможности - но так же и сопутствующие требования к харду и софту, сопутствующие принципиальные ограничения и баги. Причем, пропатчить чужой код (исправить баг) - это задачка на порядок сложнее, чем исправить баг в своем коде. То есть, отмазка о том, что "стандартные библиотеки содержат меньше багов" тоже не катит. Да, багов там меньше, но каждый баг требует гораздо больше времени на исправление. Так что в сумме может получиться и так, и эдак.