Хакерский взгляд на жизнь — это важно, но мастерство — многократно важнее. Позиция не заменит компетентности, и существует определенный набор базовых навыков, которыми вам необходимо обладать, прежде чем любой из хакеров помыслит назвать хакером и вас. Этот базовый набор со временем потихоньку изменяется по мере того, как технология порождает новые навыки и делает ненужными устаревшие. Например, обычно упоминалось программирование на машинном языке, но, вплоть до недавнего времени, в набор не включали язык HTML. Однако в сегодняшний комплект вполне определенно входят следующие компоненты: - Научитесь программировать. Это, конечно же, фундаментальный хакерский навык. Если вы не знаете ни одного компьютерного языка, рекомендуем начать с языка Python. Он понятно разработан, хорошо документирован и относительно доброжелателен к новичкам. Несмотря на то, что он хорош для первого языка, это не просто игрушка. Это очень мощный и гибкий язык, хорошо подходящий для больших проектов. Но знайте, что вы не достигнете хакерского уровня мастерства (или даже просто уровня хорошего программиста), если будете знать лишь один язык. Вам необходимо научиться мыслить о проблемах программирования вообще, независимо от любого конкретного языка. Чтобы быть настоящим хакером, вам надо достичь уровня, на котором вы сможете выучить новый язык за несколько дней, соотнося положения руководства с тем, что вам уже известно. Это означает, что вам следует выучить несколько очень разных языков. Если вы занимаетесь серьезным программированием, то вам придется выучить Си, основной язык операционной системы Unix (хотя это и не тот язык, который следует пытаться выучить первым). Другие языки первостепенной важности для хакеров — это Perl и LISP. Язык Perl имеет смысл выучить из практических соображений: он очень широко используется для активных web-страниц и системного администрирования, так что даже если вам никогда не придется писать на Perl, вы должны научиться его читать. LISP стоит выучить ради тех глубоких просвещенных познаний, которые вы обретете, когда наконец его освоите. Эти познания сделают вас прекрасным программистом на всю оставшуюся жизнь, даже если вы никогда особо и не будете использовать сам LISP. Лучше всего, на самом деле, выучить все четыре этих языка (Python, C, Perl, и LISP). Помимо того, что это самые важные хакерские языки, они демонстрируют очень разные подходы к программированию, и каждый из них научит вас ценным вещам. Мы не можем дать здесь развернутые инструкции относительно того, как научиться программировать, — это сложное искусство. Но можем сказать вам, что книги и курсы этому не научат (многие, возможно, большинство лучших хакеров — это самоучки). Что этому учит, так это чтение кодов и написание кодов. Научиться программировать — это как научиться писать хорошим естественным языком. Самый лучший способ для этого — почитать что-то из написанного мастерами, затем написать немного самому; прочесть побольше, написать немного побольше; прочитать еще больше, написать еще побольше... И повторять этот процесс до тех пор, пока ваши программы не разовьются в нечто мощное и экономичное. Отыскать хорошие коды для чтения раньше было сложно, потому что было очень мало больших программ, доступных в исходных кодах и пригодных для изучения и возни юных хакеров. Ныне ситуация кардинально изменилась: программы в исходных кодах, программистский инструментарий и операционные системы (все это создано хакерами) теперь широко доступны. Поэтому… - Достаньте один из вариантов Unix в исходных кодах, научитесь его использовать и с ним работать. Полагаем, что вы имеете персональный компьютер или можете получить к нему доступ. Единственный и самый важный шаг, который любой из новичков может предпринять для приобретения хакерских навыков, — это раздобыть копию Linux или одной из версий BSD-Unix, установить ее на персональной машине и запустить. Да, в мире есть и другие операционные системы, помимо Unix. Но их распространяют в двоичном виде — вы не сможете читать коды и не сможете их модифицировать. Учиться хакерству на машинах, работающих под DOS, Windows или MacOS — это все равно, что учиться танцевать полностью загипсованным. Кроме того, Unix — это операционная система Internet. Хотя вы можете научиться использовать Internet и не зная Unix, но вы не можете быть Internet-хакером, не понимая Unix. По этой самой причине сегодняшняя хакерская культура является весьма сильно Unix-сконцентрированной. (Это не всегда было так, и некоторым из прежних хакеров такое положение дел не очень по нраву, но симбиоз между Unix и Internet стал настолько прочен, что даже сил Microsoft не хватает, чтобы серьезно на это влиять.) Так что заводите себе Unix, лучше всего Linux, но есть и другие варианты (и да-да, вы можете работать как под Linux, так и под DOS/ Windows на одной и той же машине). Выучите эту ОС. Работайте с ней. Возитесь с ней. Общайтесь через нее с Internet. Читайте коды. Модифицируйте их. Вы получите такой программистский инструментарий (включая C, Lisp и Perl), о котором любая из ОС Microsoft и не мечтала. Вы получите удовольствие, и вы усвоите больше знаний, чем предполагали в процессе обучения, когда оглянетесь на этот процесс уже будучи мастером-хакером. - Научитесь использовать World Wide Web и писать на HTML. Большинство из тех вещей, что созданы хакерской культурой, делают свое дело невидимо, помогая работать фабрикам, учреждениям и университетам без сколько-нибудь заметного влияния на жизнь не-хакеров. WWW — это одно большое исключение, гигантская блестящая хакерская игрушка, которая даже по признанию политиков изменяет мир. Лишь по одной этой причине (а также и множеству других приятных причин) вам следует научиться работать с Web. Это не означает, что нужно просто научиться управляться с браузером (это любой умеет), но научиться писать на HTML, языке разметки документов Web. Если вы еще не умеете программировать, то писание на HTML обучит ваше мышление некоторым полезным привычкам, которые пригодятся при освоении языков программирования. Так что делайте домашнюю страничку. Но простое обладание домашней страничкой даже и близко не подведет вас к тому, чтобы стать хакером. В Web полным-полно домашних страничек. Большинство из них — это бессмысленный, бесполезный хлам. Крайне броско и привлекательно оформленный хлам, бесспорно, но все равно хлам. Чтобы быть стоящей, ваша страничка должна иметь “контент” — содержание. Она должна быть интересной и/или полезной для других хакеров.
|