Не реже классических «кто виноват?» и «что делать?» бывает актуален еще один вопрос - «а зачем?». Например, меня частенько спрашивают - зачем я пишу программки, утилитки, скриптики, если те же функции можно найти в других программах. Пора, по-моему, окончательно внести ясность.
Представьте себе, что вам нужно купить открывалку. Простую открывалку, открывать консервные банки. Как можно меньше, чтобы не занимала места в рюкзаке (предположим, вы в поход собираетесь). Но среди обширнейших залежей всяческих открывалок с режимом перемешивания и подогрева, электрооткрывалок, вакуумных гидровысасывателей содержимого через дырочку, фигурных вырезателей по жести, утилизаторов банок, телепортаторов банки в нужную точку вселенной, перебивателей даты годности на крышке, рисователей этикеток для банок с функцией выкладывания нарисованного в Интернет и голосования за лучшую этикетку по SMS... В общем, простой открывалки, этой элементарной железной заточенной хреновины с ручкой просто нет. Ну нет и все! Нет, можно взять аннигилятор жести и в походе, ставя банку в плошку и расщепляя банку на атомы, добывать содержимое. Но во-первых, у нее аккумуляторы еще размером с хороший апельсин. Во-вторых, их подзаряжать каждые две-три банки придется. А в-третьих, не факт, что аннигилятор не будет что-нибудь побочно излучать. Что-нибудь невредное, но, например, пеленгуемое с расстояния десять-двадцать километров. Оно мне надо?
В общем, аналогию уловили? Современные программы содержат совершенно дикое количество иногда не очень совместимых функций, навроде гибрида туалетного «ежика» с половником. Простую, маленькую и действительно «по руке» программу для решения какой-то конкретной узкой задачи найти зачастую просто нереально. Проще за пару часов набросать свою. Именно так, как надо лично тебе. Как удобно именно тебе. И гарантированно без «черных ходов», служебных паролей, непонятных отчетов куда-то в Интернет и прочих малопонятных вещей. К тому же можно в любой момент программу или скрипт изменить под свои изменившиеся нужды, а не лопатить снова Интернет в поисках новой программы.
С другой стороны... Конечно, если мне будет очень нужен именно гидроштамповщик пластмассовых вилок на реактивной тяге, скорее всего я не буду изобретать его заново, а приобрету готовый.
Еще момент: у меня есть утилиты, которые сродни ножу: применить сотней способов, в тысяче случаев, но для этого надо точно знать, что именно и для чего ты делаешь. У этих утилит нет толком имени и они никогда не выкладывались в общий доступ, потому что дать им конкретное название - значит сократить область применения до указанной в названии. Сейчас, когда программы сами ведут человека, как ребенка, от шага к шагу, средний пользователь просто не сообразит, на кой ляд такая программа нужна. Просто потому, что в те ситуации, в которых она нужна, он никогда не попадет.
И последнее. В случае, когда программа каким-либо боком касается безопасности компьютера бывает, что сделанная «на заказ» программа имеет преимущества по сравнению с более именитыми «коллегами». Распространенная, популярная программа при желании легко уязвима, потому что ее изучают многие люди и ее слабые места и принципы работы становятся широко известны. А «штучную работу» приходится «колоть» с нуля. В качестве примера могу привести такой факт: некоторые вирусы обнаруживают и нарушают работу некоторых особо распространенных антивирусов. Как говорится, тут популярность играет в минус.
|