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

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

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

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

Date: 2005-11-08 11:51 am (UTC)
From: [identity profile] solomon2.livejournal.com
Да уж. Главный принцип программирования, мне кажется, "все хорошо в меру". Опытный программер как раз знает, где имеет смысл использовать готовую библиотеку, а где - изобрести велосипед. Как говорил Страуструп, замены уму и вкусу все равно нету.
В общем и целом, использование стандартных библиотек часто предпочтительнее - они и документированы и вылизаны насчет багов, их обычно кто-то поддерживает, совершенствует без доп. затрат программиста-пользователя.
И еще, если челу не нравится готовая библиотека, и он садиться писать customized solution, это терпимо. Но вот если вдруг садятся переписывать саму библиотеку - это уже подозрительно, скорее всего получится еще хуже :-)

Date: 2005-11-08 01:40 pm (UTC)
From: [identity profile] vadim-kataev.livejournal.com
совершенно верно

Date: 2005-11-08 03:41 pm (UTC)
From: [identity profile] psilogic.livejournal.com
согласен :)
ну разве что человек садится переписывать библиотеку в качестве тренировки (курсовик такой и т.п.)
Page generated Aug. 19th, 2025 06:07 am
Powered by Dreamwidth Studios