如何成為一名黑客全系列說明第1/2頁

 更新時間:2007年08月08日 10:20:56   作者:  
什么是黑客?
Jargon File 包含了一大堆關于“hacker”這個詞的定義,大部分與技術高超和熱衷解決問題及超越極限
有關。但如果你只想知道如何 成為 一名黑客,那么只有兩件事情確實相關。這可以追溯到幾十年前第一
臺分時小型電腦誕生, ARPAnet 實驗也剛展開的年代,那時有一個由程序設計專家和網絡名人所組成的, 
具有分享特點的文化社群。這種文化的成員創造了 “hacker” 這個名詞。黑客們建立了 Internet。黑
客們發明出了現在使用的 UNIX 操作系統。黑客們使 Usenet 運作起來, 黑客們讓 WWW 運轉起來。如果
你是這個文化的一部分,如果你對這種文化有所貢獻,而且這個社群的其它成員也認識你并稱你為
hacker, 那么你就是一位黑客。黑客精神并不僅僅局限在軟件的黑客文化中。有人用黑客態度對待其它事
情,如電子學和音樂—— 事實上,你可以在任何最高級別的科學和藝術活動中發現它。精于軟件的黑客
贊賞這些在其他領域的同類并把他們也稱作黑客—— 有人宣稱黑客天性是絕對獨立于他們工作的特定領
域的。 但在這份文檔中,我們將注意力集中在軟件黑客的技術和態度,以及發明了“黑客”一詞的以共
享為特征的文化傳統之上。有一群人大聲嚷嚷著自己是黑客,但他們不是。他們(主要是正值青春的少年
)是一些蓄意破壞計算機和電話系統的人。真正的黑客把這些人叫做“駭客”(cracker),并不屑與之為
伍。多數真正的黑客認為駭客們又懶又不負責任,還沒什么大本事。專門以破壞別人安全為目的的行為并
不能使你成為一名黑客,正如用鐵絲偷開走汽車并不能使你成為一個汽車工程師。不幸的是,很多記者和
作家往往錯把“駭客”當成黑客;這種做法一直使真正的黑客感到惱火。

根本的區別是:黑客搞建設,駭客搞破壞。

如果你想成為一名黑客,請接著讀下去。如果你想做一個駭客,去讀 alt.2600 新聞組,并在意識到你并
不像自己想象的那么聰明后去坐五到十次監獄。關于駭客,我只想說這么多。


黑客應有的態度 
黑客們解決問題,建設事物,同時他們崇尚自由和無私的雙向幫助。要被他人承認是一名黑客,你的行為
得體現出你好像具備了這種態度一般。而要想做得好象你具備這種態度一般,你就得切切實實堅持它。但
是如果你認為培養黑客態度只是一條在黑客文化圈中得到承認的路子,那就大錯特錯了。成為具備這些特
質的這種人對 你自己非常重要——有助于你學習,及給你提供源源不斷的動力。同所有創造性的藝術一
樣,成為大師的最有效方法就是模仿大師的精神—— 不僅從智力上,也要從感情上進行模仿?;蛟S, 下
面這首現代的禪詩很好的闡述了這個意思:

To follow the path:(沿著這樣一條道路:)
look to the master,(尋找大師,)
follow the master,(跟隨大師,)
walk with the master,(與大師通行,)
see through the master,(洞察大師,)
become the master.(成為大師。)

嗯,如果你想成為一名黑客,反復讀下面的事情直至你相信它們:

1. 世界充滿了待解決的迷人問題。
做一名黑客會有很多樂趣,但卻是要費很多氣力方能得到的樂趣。 這些努力需要動力。成功的運動員從
鍛煉身體、超越自我極限的愉悅中得到動力。同樣,做黑客,你得能從解決問題,磨練技術及鍛煉智力中
得到基本的樂趣。如果你還不是天生的這類人又想做黑客,你就要設法成為這樣的人。否則你會發現,你
的黑客熱情會被其他分心的事物吞噬掉——如金錢、性和社會上的虛名。(同樣你必須對你自己的學習能
力建立信心——相信盡管當你對某問題近乎一無所知,但只要你一點一點地試驗、學習,最終會掌握并解
決它。)

2. 一個問題不應該被解決兩次。
聰明的腦袋是寶貴的有限的資源。當世界還充滿非常多有待解決的有趣的新問題時,它們不應該被浪費在
重新發明輪子這類事情上。作為一名黑客,你必須相信其他黑客的思考時間是寶貴的——因此共享信息,
解決問題并發布結果給其他黑客幾乎是一種道義,這樣其他人就可以去解決 新問題而不是不斷地忙于對
付舊問題。(你不必認為一定要把你 所有的發明創造公布出去,但這樣做的黑客是贏得大家極度尊敬的人
。賣些錢來養家糊口,租房買計算機甚至發大財和黑客價值觀也是相容的,只要你別忘記你還是個黑客。
)

3. 無聊和乏味的工作是罪惡。
黑客(泛指具有創造力的人們)應該從來不會被愚蠢的重復性勞動所困擾,因為當這種事情發生時就意味
著他們沒有在做只有他們才能做的事情—— 解決新問題。這樣的浪費傷害每一個人。因此,無聊和乏味
的工作不僅僅是令人不舒服而已,而且是罪惡。作為一個黑客,你必須堅信這點并盡可能多地將乏味的工
作自動化,不僅為你自己,也為了其他人(尤其是其他黑客們)。(對此有一個明顯的例外。黑客有時也
做一些在他人看來是重復性或枯燥的工作以進行“腦力休息”,或是為了獲得某種技能,或是獲得一些除
此以外無法獲得的特別經驗。但這是自愿的——有腦子的人不應該被迫做無聊的活兒。)

4. 自由萬歲。
黑客們是天生的反獨裁主義者。任何能向你發命令的人能夠迫使你停止解決令你著迷的問題,同時,按照
獨裁者的一般思路,他通常會給出一些極端愚昧的理由。因此,不論何處,任何獨裁主義的作法,只要它
壓迫你和其他黑客,你就要和它斗到底.(這并非向所有權威挑戰。兒童需要監護,罪犯要被看管起來。 
如果服從命令得到某種東西比起用其他方式得到它更節約時間,黑客可以同意接受某種形式的權威。但這
是一個有限度的,有意的交易;那種權威想要的個人服從不是你應該同意給予的。) 權威喜歡審查和保密
。他們不信任自愿的合作和信息的共享—— 他們只喜歡由他們控制的所謂“合作”。

因此,作為一個黑客,你得對審查、保密,以及使用武力或欺騙去壓迫有行為能力的人們的做法有一種本
能的敵意。同時你要有為此信念斗爭的意愿。

5. 態度不能替代能力。
作為一名黑客,你必須培養起這些態度。但只具備這些態度并不能使你成為一名黑客,也不能使你成為一
個運動健將和搖滾明星。成為一名黑客需要智力,實踐,奉獻精神和辛苦工作。因此,你必須學會懷疑,
并尊重各種各樣的能力。黑客們不會為那些裝模做樣的人浪費時間,但他們卻非常尊重能力—— 尤其是
從事黑客工作的能力,不過任何能力總歸是好的。具備很少人能具備的那些方面的能力尤其好,其中具備
涉及腦力、技巧和專注方面能力的當然最好。尊敬能力,你就會享受到提高自己能力的樂趣—— 辛苦的
工作和奉獻會變成一種高度娛樂而非苦差事。要想成為一名黑客,這一點非常重要。

黑客的基本技能
黑客態度重要,但技術更加重要。態度無法替代技術,在你被別的黑客稱為黑客之前,有一些基本的技術
你必須掌握。這些基本技術隨著新技術的出現和老技術的過時也隨時間在緩慢改變。例如,過去內容包括
使用機器語言編程,而直到最近才包括了HTML??偟膩碚f現在主要包括以下技術:

1. 學習如何編程。
這當然是最基本的黑客技能。如果你還不會任何編程語言,我建議你從Python開始。它設計清晰,文檔齊
全,合適初學者入門。它是一門很好的入門語言,并且不僅僅只是個玩具;它非常強大、靈活,也適合做
大型項目。我有一篇 Python評價詳細說明這點。好的 教程 可以在Python網站得到。

Java也是好的入門語言。它比Python難得多,但是生成的代碼速度也快得多。它同時也是一種優秀的計算
機語言,不止是用來入門。但是注意,如果你只會一兩門語言,你將不會達到黑客所要求的技術水平,甚
至也不能達到一個程序員的水平——你需要學會如何以抽象的方式思考編程問題,獨立于任何語言。要做
一名真正的黑客,你需要學會在幾天內通過一些手冊,結合你現在所知,迅速掌握一門新語言。這意味著
你應該學會幾種截然不同的語言。如果要做一些重要的編程工作,你將不得不學習C語言,Unix的核心語
言。 C++與C非常其他類似;如果你了解其中一種,學
習另一種應該不難。但這兩種都不適合編程入門者學習。而且事實上,你越避免用C編程,你的工作效率
會越高。C非常有效率,節約你的機器資源。不幸的是,C的高效是通過你手動做很多底層的管理(如內存
)來達到的。底層代碼都是復雜極易出現bug的,會使你花極多的時間調試。如今的機器速度如此之快,
這通常是得不償失——比較明智的做法是使用一種運行較慢、較低效率,但大幅節省你的時間的語言。因
此,選擇Python。其他對黑客而言比較重要的語言包括 Perl和 LISP。 Perl實用,值得一學;它被廣泛
用于動態網頁和系統管理,因此即便你從不用Perl寫程序,至少也應該學會看。許多人使用Perl的理由和
我建議你使用Python的理由一樣,都是為了避免用C完成那些不需要C高效率的工作。你會需要理解那些工
作的代碼的。

LISP值得學習的理由不同——最終掌握了它時你會得到豐富的啟迪和經驗。這些經驗會使你在以后的日子
里成為一個更好的程序員,即使你實際上很少使用LISP本身。當然,實際上你最好五種都會(Python,
Java,C/C++,Perl和LISP)。除了是最重要的黑客語言外,它們還代表了截然不同的編程思路和方法,
每種都會讓你受益非淺。

這里我無法給你完完全全的指導教會你如何編程——這是個復雜的技能。但我可以告訴你,書本和上課也
不能作到(最好的黑客中,有許多,也許幾乎都是自學成材的)。你可以從書本上學到語言的特點——只
是一些皮毛,但要使書面知識成為自身技能只能通過實踐和虛心向他人學習。因此要作到 (一)讀代碼
(二)寫代碼。學習如何編程就象學習用優美的自然語言寫作一樣。最好的做法是讀一些大師的名著,試
著自己寫點東西,再讀些,再寫點,再讀些,再寫點…… 如此往復,直到你的文章達到你體會到的范文
的簡潔和力量。過去找到適合閱讀的好的代碼是困難的,因為幾乎沒有大型程序的源代碼能讓新手練手。
這種狀況已經戲劇性地發生變化;開放源代碼軟件,編程工具和操作系統(全都由黑客寫成)現在已經隨
處可見。讓我們在下一個話題中繼續討論……

2. 得到一個開放源代碼的Unix并學會使用、運行它。
我假設你已經擁有或者能使用一臺個人電腦(今天的孩子們真幸福 :-) )。新手們能夠朝學習黑客技能
邁出的最基本的一步就是得到一份Linux或BSD-Unix的一種,安裝在個人電腦上,并運行它。沒錯,這世
界上除了Unix還有其他操作系統。但它們都是以二進制形式發布的——你無法讀到它的源代碼,也不可能
修改它。嘗試在運行DOS或Windows或MacOS的機器上學習黑客技術,就象是帶著腳鐐學跳舞。除此之外,
Unix還是Internet的操作系統。你可以學會上網卻不知道Unix,但你不了解Unix就無法成為一名Internet
黑客。因此,今天的黑客文化在很大程度上是以Unix為中心的。(這點并不總是真的,一些很早的黑客對
此一直很不高興,但Unix和internet之間的聯系已是如此之強,甚至連Microsoft也無可奈何。)

 
所以, 安裝一套UNIX——我個人喜愛LINUX但還有其他種類的(是的,你可以同時安裝Linux及
DOS/Windows在同一電腦上)。學習它,使用它,配置它。用它在Internet上沖浪。閱讀它的源代碼。修改
它的源代碼。你會得到比在Microsoft操作系統上更好的編程工具(包括C,LISP,Python及Perl)。你會
覺得樂趣無窮,學到在你成為大師之前意識不到的更多的知識。想知道更多關于學習Unix的信息,訪問 
The Loginataka。

想知道如何得到一份Linux,訪問 我在哪里可以獲得Linux。(譯者:對于中文讀者來講,最簡單的方式
未過于前往附近的D版/正版光盤店。)你可以在 www.bsd.org找到BSD Unix的求助及其他資源。我有寫一
篇關于 Unix和Internet基礎的入門文章。(注:如果你是一個新手,我不推薦自己獨立安裝Linux或者
BSD。安裝Linux的話,尋求本地Linux用戶組的幫助;或聯系 Open Projects Network。LISC維護著一些 
IRC頻道,在那里你可以獲得幫助。)

3. 學會如何使用WWW和寫HTML
黑客文化建造的大多東西都在你看不見的地方發揮著作用,幫助工廠、辦公室和大學正常運轉,表面上很
難看到它對非黑客的普通人的生活的影響。

Web是一個大大的例外。即便政客也同意,這個巨大耀眼的黑客玩具正在改變整個世界。單是這個原因(
還有許多其它的),你就需要學習掌握Web。

這并不是僅僅意味著如何使用瀏覽器(誰都會),而是要學會如何寫HTML, Web的標記語言。如果你不會
編程,寫HTML會教你一些有助于學習的思考習慣。因此,先完成一個主頁。(網上有很多好的教程; 這
是一個。)但僅僅擁有一個主頁不能使你成為一名黑客。 Web里充滿了各種網頁。大多數是毫無意義的,
零信息量垃圾——界面時髦的垃圾,注意,垃圾的水準都類似(更多信息訪問 The HTML Hell Page)。
要想有價值,你的網頁必須有內容—— 它必須有趣或對其它黑客有幫助。這是下一個話題所涉及的……

相關文章

最新評論

免费人成视频在线观看