psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2005-11-08 12:31 pm

Созидатели или подражатели?

На эту тему писал недавно [livejournal.com profile] eugenebo: что вел он собеседование с программерами в штатах и ребята показали, что задачки решать совершенно не умеют, но знают много.

По мере того, как отрасль программирования развивается, квалификация программистов падает и начинается засилье "зубрил".

Для любой программы возникают обычные ножницы между сделать самому какой-то кусок, либо откопать-освоить чужое. Почему то всегда забывают, что откопать-освоить тоже занимает рабочее время и немалое. По идее, для каждого кусочка нужно решать вопрос об имплементации индивидуально. Но. Среди программистов становится все больше дебилов, для которых просто нет выбора. САМИ они написать ничего не могут в принципе. Я таких видел не раз: если вдруг они не могут найти в Сети подходящую библиотеку, то они начинают рыскать по форумам с воплями о помощи. Самим подумать нечем. Получив какие-то указания, начинают программировать - но не дай бог, если задачка в чем-то нестандартная. Тогда они начинают просить начальство объяснить им, КАК они должны программировать (т.е. фактически сделать за них часть работы). Если приходится все-таки делать самому, то в результате получается монстр, который ухитряется поставить раком все приложение (обычно в плане ресурсов и быстродействия). Попытка заставить такого дебила что-то написать самому в результате часто выливается в повышение технических требований ко всему приложению.

Я хочу сказать, что для некоторых программистов просто НЕТ ВАРИАНТОВ: написать самому или слизать у кого-то. И таких становится все больше, и они начинают подводить под свою деятельность идеологию, обсирая тех, кто умеет думать своей головой. Обычные отмазки: "не надо изобретать велосипед", "стандартный продукт легче освоить" и т.п. Между тем, эти отмазки работают только до поры. Изобретение велосипеда подчас дешевле (в смысле рабочего времени) и эффективнее (в смысле полученного результата) - но только если вы способны на это. А использование стандартных библиотек ведет к тому, что вместе с библиотекой вы получаете все ее возможности - но так же и сопутствующие требования к харду и софту, сопутствующие принципиальные ограничения и баги. Причем, пропатчить чужой код (исправить баг) - это задачка на порядок сложнее, чем исправить баг в своем коде. То есть, отмазка о том, что "стандартные библиотеки содержат меньше багов" тоже не катит. Да, багов там меньше, но каждый баг требует гораздо больше времени на исправление. Так что в сумме может получиться и так, и эдак.

Re: Ну-ну

[identity profile] psilogic.livejournal.com 2005-11-08 03:40 pm (UTC)(link)
Впредь лучше писать не анонимно. Не загрызу :)

[ Нельзя изобретать велосипед только потому, что Вы _можете_ это сделать. ]

Аналогично: нельзя запрещать самостоятельно делать что-то только потому, что Вы _можете_ это НЕ делать.
Если не можете, тогда понятно.

[ И работа с чужим кодом - тоже навык, притом полезный. ]

Разумеется. Но насколько бы ни был развит этот навык, а со своим кодом человек работать все равно будет быстрее.