Ломать — не строить: как был утрачен истинный смысл слова «хакер»
Можно поспорить, но лично мне думается, что мало какому слову из айтишного лексикона повезло меньше, чем «хакеру». Известное лишь узкому кругу специалистов тридцать лет назад, сегодня оно торчит буквально из всех щелей, по поводу и без. Что плохого? Вместе с популярностью был утрачен первоначальный смысл — знание которого добавляет очень полезный навык к нашему набору жизненных «скиллов». Так что я предлагаю поиграть в педантов и в следующие пять минут докопаться до правды.
Средства массовой информации хакеров обожают. Тут не нужно даже ничего придумывать, достаточно открыть любой новостной агрегатор. Читаю с листа! Кто-то влез в базу данных British Airways? Хакеры. Научились обходить блокировку «Айфона»? Хакеры опять. Сконструировали железку для автоматического обнаружения уязвимостей в автомобильном софте? Кар-хакеры. Изобрели глазные капли, дающие ночное видение? Биохакеры. Научились разогревать остывшую пиццу? Лайф-хакеры. И это ещё не всё, есть ещё хакеры от индустрии красоты, от путешествий, кулинарии, и пр. и пр.
Устав от СМИ, логично обратиться к энциклопедиям, но и там царит совершенный раздрай. Впрочем, из энциклопедий мы по крайней мере узнаём, что хакер — человек не просто копающийся в коде/железе/чём угодно ещё, но и непременно получающий от этого удовольствие, а кроме того, существуют хакеры белые и чёрные, копающиеся, соответственно, в своём или чужом. Наконец, рисуется историческая перспектива: корни уходят в 60-е, когда хакерами становились, расширяя границы возможностей древних ИТ-систем.
Уже немало. Теперь мы знаем, по крайней мере, что хакерство — не тупая пилёжка, а скорее интеллектуальная дуэль, и что хакерить как будто бы можно не только на компьютерах, но и вообще в любой области человеческой деятельности. Однако стоит копнуть ещё глубже. В ветхозаветном источнике под названием Jargon file (словарь компьютерного сленга, составлять который начали айтишники-семидесятники) в статье «Hacker» читаем: «4. A person who is good at programming quickly». Человек, хорошо программирующий быстро. И это как раз то, что нам нужно. Жемчужина среди словесного хлама!
«Хакеры верят, что любую вещь можно сделать лучше, что ничто и никогда не завершено. Нужно только исправлять недостатки — и делать это даже вопреки людям, которые крутят пальцем у виска или натр@хались вдоволь и теперь ленятся» (Марк Цукерберг)
На первый взгляд талант быстро программировать кажется преимуществом сомнительным. Даже энциклопедические источники (включая и Jargon file) считают, что торопиться, не вникать в детали, знать только необходимый минимум — удел дилетанта, тогда как хакер есть образованный специалист, осведомлённый в своей теме о самых тонких нюансах. Однако хакеры, добившиеся успеха, могли бы с этим поспорить — если бы у них было время спорить, конечно. Примеров много, но мне нравятся истории Линуса Торвальдса и Марка Цукерберга — которые, хоть и занимаются будто бы совершенно разным, оба эксплуатируют один и тот же подход. Да, хакерский!
Что роднит Линуса и Цука? Принцип fast and dirty, как это говорят американцы: «быстро и грязно». Помните, как выросла Linux? Торвальдс задумал её как UNIX-совместимую систему, но не пытался обеспечить стопроцентную совместимость сразу, а добавлял одну функцию за другой, приближаясь к идеалу по асимптоте. Точно так же и Цукерберг не пытался вместить в Facebook все типичные функции социальной сети, а добавлял элемент за элементом.
В процессе такой разработки продукт, бывает, ужасает пользователя: операционка виснет, даёт неожиданные результаты, теряет данные, а сайт пугает дизайном и сыростью функций. И всё-таки процесс идёт: новую фишку пробуют на небольшом количестве пользователей, потом делается релиз для всех, и всё повторяется, итерация за итерацией, до тех пор, пока результат не будет достаточно близок к ожидаемому. Так они разрабатывались в первые годы и точно той же схеме следуют по сей день.
«Знаете, я задумал Linux как операционку для десктопа. И, гори она в аду, это единственное, чего она до сих пор не умеет!» (Линус Торвальдс)
Это хакерский метод, хакерский подход в чистом виде, и на упомянутых примерах очевидно его главное преимущество перед подходом, так сказать, классическим, то есть инженерным, научным: преимущество это — в скорости. Хакер не обязан и не пытается знать всё, он действует во многом наудачу, не боится ошибиться. Что, в свою очередь, обеспечивает ему сравнительно высокую скорость продвижения вперёд. Linux и Facebook стали номерами первыми не только потому, что у них такие талантливые основатели. Линус и Цук, конечно, большие трудяги и гении, но где бы они были без хакерского принципа?
И вот тут мы подходим к главному. Попробуйте ответить на вопрос, почему Торвальдс и Цукерберг могут себе позволить много ошибаться? Ответ прост: они оба имеют дело с содержимым компьютерной памяти, которое с абсолютной точностью может быть восстановлено в любой момент. Если что-то пойдёт не так, если цифровые данные вдруг испортятся, их всегда можно быстро, бесплатно, с нулевыми затратами труда восстановить.
Биржевики сказали бы: у Линуса и Цукерберга есть возможность проигрывать дёшево — и они ею пользуются. К сожалению, отсюда же следует и грустный вывод: чистое хакерство возможно только в информационных технологиях — потому что в любой другой области знаний цена ошибки обычно слишком высока, чтобы её можно было позволить совершать просто так, заради fun’a.
Хакер, ваяющий на скорую руку, легко откатится к прошлой версии программы, в крайнем случае перезагрузит систему. Но «биохакеры», ставящие опыт на живом человеке, ваять по-быстрому позволить себе уже не вправе: ошибки могут аукнуться необратимыми изменениями в организме подопытного. Они не хакеры. «Биохакеров» не бывает. Как не бывает и лайф-хакеров, фэшн-хакеров, фуд-хакеров и многих других, выдуманных журналистами. Называйте их как угодно, только не трожьте святое.
©computerra