原文出處: Eric Steven Raymond 譯文出處:Barret 歡迎分享原創到伯樂頭條python
做爲 Jargon File 的編輯和 一些其餘有名的相似性質文章的做者,我常常收到充滿熱情的網絡新手的郵件提問(確實如此) 「我如何才能成爲一名出色的黑客?」很是奇怪的是,彷佛沒有任何的FAQ或者網絡文檔來講明這個十分重要的問題,所以我寫了一份。linux
若是你如今讀的是這份文檔的離線拷貝,那麼請注意當前最新版本(英文版)在 http://catb.org/~esr/faqs/hacker-howto.html 能夠獲得。git
注意:在這份文檔最後有 FAQ(常問問題解答)。 請在向我提出任何關於這份文檔的疑問以前讀兩遍。程序員
目前這份文檔有不少翻譯版本: 保加利亞語, 簡體中文, 繁體中文, 丹麥語, 荷蘭語, 法語, 德語, 匈牙利語, 印尼語, 日語, 朝鮮語, 葡萄牙語, 俄語及 瑞典語。 注意因爲這份文檔時有修正,因此以上翻譯版本可能有不一樣程度的過期。編程
Jargon File 包含了一大堆關於「hacker」這個詞的定義,大部分與技術高超和熱衷解決問題 及超越極限有關。但若是你只想知道如何 成爲 一名黑客, 那麼只有兩件事情確實相關。瀏覽器
這能夠追溯到幾十年前第一臺分時小型電腦誕生, ARPAnet 實驗也剛展開的 年代,那時有一個由程序設計專家和網絡名人所組成的, 具備分享特色的文化社羣。 這種文化的成員創造了 「hacker」 這個名詞。黑客們創建了 Internet。 黑客們發明出了如今使用的 UNIX 操做系統。黑客們使 Usenet 運做起來, 黑客們讓 WWW 運轉起來。若是你是這個文化的一部分,若是你對這種文化有所貢獻,並且 這個社羣的其它成員也認識你並稱你爲 hacker, 那麼你就是一位黑客。安全
黑客精神並不只僅侷限在軟件的黑客文化中。 有人用黑客態度對待其它事情,如電子學和音樂—— 事實上,你能夠在任何最高級別的科學和藝術活動中發現它。 精於軟件的黑客讚揚這些在其餘領域的同類並把他們也稱做黑客—— 有人宣稱黑客天性是絕對獨立於他們工做的特定領域的。 但在這份文檔中, 咱們將注意力集中在軟件黑客的技術和態度, 以及發明了「黑客」一詞的以共享爲特徵的文化傳統之上。網絡
有一羣人大聲嚷嚷着本身是黑客,但他們不是。 他們(主要是正值青春的少年)是一些蓄意破壞計算機和電話系統的人。 真正的黑客把這些人叫作「駭客」(cracker),並不屑與之爲伍。 多數真正的黑客認爲駭客們又懶又不負責任,還沒什麼大本事。 專門以破壞別人安全爲目的的行爲並不能使你成爲一名黑客, 正如 用鐵絲偷開走汽車並不能使你成爲一個汽車工程師。 不幸的是,不少記者和做家每每錯把「駭客」當成黑客; 這種作法一直使真正的黑客感到惱火。架構
根本的區別是:黑客搞建設,駭客搞破壞。
若是你想成爲一名黑客,請接着讀下去。若是你想作一個駭客,去讀 alt.2600 新聞組,並在乎識到你並不像本身想象的那麼聰明後去坐五到十次監獄。 關於駭客,我只想說這麼多。
黑客們解決問題,建設事物,同時他們崇尚自由和無私的雙向幫助。 要被他人認可是一名黑客,你的行爲得體現出你好像具有了這種態度通常。 而要想作得好象你具有這種態度通常,你就得切切實實堅持它。
可是若是你認爲培養黑客態度只是一條在黑客文化圈中獲得認可的路子, 那就大錯特錯了。成爲具有這些特質的這種人對 你本身很是重要——有助於你學習,及給你提供源源不斷的動力。 同全部創造性的藝術同樣,成爲大師的最有效方法就是模仿大師的精神—— 不只從智力上,也要從感情上進行模仿。
或許, 下面這首現代的禪詩很好的闡述了這個意思:
To follow the path:(沿着這樣一條道路:)
look to the master,(尋找大師,)
follow the master,(跟隨大師,)
walk with the master,(與大師通行,)
see through the master,(洞察大師,)
become the master.(成爲大師。)
嗯,若是你想成爲一名黑客,反覆讀下面的事情直至你相信它們:
作一名黑客會有不少樂趣,但倒是要費不少氣力方能獲得的樂趣。 這些努力須要動力。成功的運動員從鍛鍊身體、超越自我極限的愉悅中獲得動力。 一樣,作黑客,你得能從解決問題,磨練技術及鍛鍊智力中獲得基本的樂趣。
若是你還不是天生的這類人又想作黑客,你就要設法成爲這樣的人。 不然你會發現,你的黑客熱情會被其餘分心的事物吞噬掉——如金錢、性和社會上的虛名。
(一樣你必須對你本身的學習能力創建信心——相信儘管當你對某問題近乎一無所知, 但只要你一點一點地試驗、學習,最終會掌握並解決它。)
聰明的腦殼是寶貴的有限的資源。當世界還充滿很是多有待解決的有趣的新問題時, 它們不該該被浪費在從新發明輪子這類事情上。
做爲一名黑客,你必須相信其餘黑客的思考時間是寶貴的——所以共享信息, 解決問題併發布結果給其餘黑客幾乎是一種道義,這樣其餘人就能夠去解決 新問題而不是不斷地忙於對付舊問題。
(你沒必要認爲必定要把你 全部的發明創造公佈出去, 但這樣作的黑客是贏得你們極度尊敬的人。賣些錢來養家餬口,租房買計算機 甚至發大財和黑客價值觀也是相容的,只要你別忘記你仍是個黑客。)
黑客(泛指具備創造力的人們)應該歷來不會被愚蠢的重複性勞動所困擾, 由於當這種事情發生時就意味着他們沒有在作只有他們才能作的事情—— 解決新問題。這樣的浪費傷害每個人。所以,無聊和乏味的工做不只僅是 使人不舒服而已,並且是罪惡。
做爲一個黑客,你必須堅信這點並儘量多地將乏味的工做自動化, 不只爲你本身,也爲了其餘人(尤爲是其餘黑客們)。
(對此有一個明顯的例外。黑客有時也作一些在他人看來是重複性或枯燥的工做 以進行「腦力休息」,或是爲了得到某種技能,或是得到一些除此之外沒法得到的 特別經驗。但這是自願的——有腦子的人不該該被迫作無聊的活兒。)
黑客們是天生的反獨裁主義者。 任何能向你發命令的人可以迫使你中止解決令你着迷的問題, 同時,按照獨裁者的通常思路,他一般會給出一些極端愚昧的理由。 所以,不論何處,任何獨裁主義的做法,只要它壓迫你和其餘黑客,你就要和它鬥到底。
(這並不是向全部權威挑戰。兒童須要監護,罪犯要被看管起來。 若是服從命令獲得某種東西比起用其餘方式獲得它更節約時間,黑客能夠贊成 接受某種形式的權威。但這是一個有限度的,有意的交易; 那種權威想要的我的服從不是你應該贊成給予的。)
權威喜歡審查和保密。他們不信任自願的合做和信息的共享—— 他們只喜歡由他們控制的所謂「合做」。所以,做爲一個黑客, 你得對審查、保密,以及使用武力或欺騙去壓迫有行爲能力的人們的作法有一種本能的敵意。 同時你要有爲此信念鬥爭的意願。
黑客態度重要,但技術更加劇要。 態度沒法替代技術,在你被別的黑客稱爲黑客以前,有一些基本的技術你必須掌握。
這些基本技術隨着新技術的出現和老技術的過期也隨時間在緩慢改變。 例如,過去內容包括使用機器語言編程,而直到最近才包括了HTML。 總的來講如今主要包括如下技術:
這固然是最基本的黑客技能。若是你還不會任何編程語言,我建議你從Python開始。 它設計清晰,文檔齊全,合適初學者入門。 它是一門很好的入門語言,而且不只僅只是個玩具; 它很是強大、靈活,也適合作大型項目。 我有一篇 Python評價詳細說明這點。好的 教程 能夠在Python網站獲得。 (譯者:比較好的中文Python站點多是http://pythonrecord.51.net。)
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)。 除了是最重要的黑客語言外,它們還表明了大相徑庭的編程思路和方法,每種都會讓你受益非淺。
這裏我沒法給你完徹底全的指導教會你如何編程——這是個複雜的技能。 但我能夠告訴你,書本和上課也不能做到(最好的黑客中,有許多,也許 幾乎都是自學成材的)。 你能夠從書本上學到語言的特色——只是一些皮毛, 但要使書面知識成爲自身技能只能經過實踐和虛心向他人學習。 所以要做到 (一)讀代碼及(二)寫代碼。
學習如何編程就象學習用優美的天然語言寫做同樣。 最好的作法是讀一些大師的名著,試着本身寫點東西,再讀些,再寫點,再讀些,再寫點…… 如此往復,直到你的文章達到你體會到的範文的簡潔和力量。
過去找到適合閱讀的好的代碼是困難的,由於幾乎沒有大型程序的源代碼能讓新手練手。 這種情況已經戲劇性地發生變化;開放源代碼軟件,編程工具和操做系統(全都由黑客寫成)如今已經 隨處可見。讓咱們在下一個話題中繼續討論……
我假設你已經擁有或者能使用一臺我的電腦(今天的孩子們真幸福 :-) )。新手們可以朝學習黑客技能邁出的最基本的一步就是獲得 一份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頻道, 在那裏你能夠得到幫助。)
黑客文化建造的大多東西都在你看不見的地方發揮着做用,幫助工廠、辦公室和大學正常運轉, 表面上很難看到它對非黑客的普通人的生活的影響。Web是一個大大的例外。 即使政客也贊成,這個巨大耀眼的黑客玩具正在改變整個世界。 單是這個緣由(還有許多其它的),你就須要學習掌握Web。
這並非僅僅意味着如何使用瀏覽器(誰都會),而是要學會如何寫HTML, Web的標記語言。若是你不會編程,寫HTML會教你一些有助於學習的思考習慣。 所以,先完成一個主頁。(網上有不少好的教程; 這是一個。)
但僅僅擁有一個主頁不能使你成爲一名黑客。 Web裏充滿了各類網頁。大多數是毫無心義的,零信息量垃圾——界面時髦的垃圾, 注意,垃圾的水準都相似(更多信息訪問 The HTML Hell Page)。
要想有價值,你的網頁必須有內容—— 它必須有趣或對其它黑客有幫助。這是下一個話題所涉及的……
做爲一個美國人和一個以英語爲母語的人,我之前很不情願提到這點,省得成爲 一種文化上的帝國主義。但至關多以其餘語言爲母語的人一直勸我指出這一點,那就是 英語是黑客文化和Internet的工做語言,你須要懂得以便在黑客社區順利工做。
這一點千真萬確。大概1991年的時候我就瞭解到許多黑客在技術討論中使用英語,甚至當他們的母語都 相同,英語對他們而言只是第二語言的時候;據我知道的報導,當前英語有着比其餘語言豐富得多的技術詞彙, 所以是一個對於工做來講至關好的工具。 基於相似的緣由,英文技術書籍的翻譯一般不使人滿意(若是有翻譯的話)。
Linus Torvalds,一個芬蘭人,用英語註釋他的代碼(很明顯這對他來講不是湊巧)。 他流利的英語成爲他可以管理全球範圍的Linux開發人員社區的重要因素。 這是一個值得學習的例子。
象大部分不涉及金錢的文化同樣,黑客王國靠聲譽運轉。 你設法解決有趣的問題,但它們到底多有趣,你的解法有多好, 是要由那些和你具備一樣技術水平的人或比你更厲害的人去評判的。
相應地,當你在玩黑客遊戲時,你得認識到你的分數主要靠其餘黑客對你的技術的評價給出 (這就是爲何只有在其它黑客稱你爲黑客時,你纔算得上是一名黑客)。 這個事實常會被黑客是一項孤獨的工做這一印象所減弱;也會被另外一個黑客文化的禁忌所減弱 (如今逐漸減弱但仍強大):拒絕認可自我或外部評估與一我的的動力有關係。
特別地,黑客王國被人類學家們稱爲一種奉獻文化。 在這裏你不是憑藉你對別人的統治來創建地位和名望,也不是靠美貌,或擁有其餘人想要的東西, 而是靠你的奉獻。尤爲是奉獻你的時間,你的創造和你的技術成果。
要得到其餘黑客的尊敬,基本上有五種事情你能夠幹:
第一個(也是最集中的和傳統的)是寫些被其餘黑客認爲有趣或有用的程序, 並把程序源代碼提供給整個黑客文化使用。
(過去咱們稱之爲「free software (自由軟件)」, 但這卻使不少不知 free 的精確含義的人感到困惑。 如今咱們不少人,根據搜索引擎網頁內容分析至少有2:1的比率,使用「 open-source」software(開放源代碼軟件)這個詞)。
黑客王國裏最受尊敬的偶像是那些寫了大型的、好用的、具備普遍用途的軟件, 並把它們公佈出去,使得每人都在使用他軟件的人。
黑客也尊敬那些使用、測試開放源代碼軟件的人。 在這個並不是完美的世界上,咱們不可避免地要花大多數的開發時間在調試階段。 這就是爲何任何有頭腦的開放源代碼的做者都會告訴你好的beta測試員 (知道如何清楚描述出錯症狀,很好地定位錯誤,能忍受快速發佈中的bug, 而且願意使用一些簡單的診斷工具)象紅寶石同樣珍貴。 甚至他們中的一個能判斷出哪一個測試階段是延長的, 哪一個是使人精疲力盡的噩夢,哪一個只是一個有益的小麻煩。
若是你是個新手,試着找一個你感興趣的正在開發的程序,作一個好的beta測試員。 你會天然地從幫着測試,進步到幫着抓臭蟲,到最後幫着改程序。 你會從中學到不少,而且與將來會幫你的人結下友誼。
同流行的迷思相反,作一名黑客並不必定要你是個書呆子。 但它確實有幫助,並且許多黑客事實上是書呆子。 作一個深居簡出的人有助於你集中精力進行十分重要的事情,如思考和編程。
所以,不少黑客都願意接受「書呆子」這個外號, 更有甚者使用更尖刻的「geek(怪人)」一詞並引覺得豪—— 這是一種宣佈他們獨立於主流社會的聲明方式。訪問 The Geek Page 參加更多的討論。
若是你能集中足夠的精力作好黑客工做同時還能有正常的生活,這很好。 如今做到這一點比我在1970年代是新手的時候要容易的多; 現在主流文化對技術怪人要友善的多。 甚至有愈來愈多的人意識到黑客一般是很好的戀人和配偶的材料。
若是你由於生活上不如意而迷上作黑客,那也沒什麼——至少你不會分神了。 或許之後你會找到本身的另外一半。
重申一下,做爲一名黑客,你必須進入黑客精神之中。 當你不在計算機邊上時,你仍然有不少對黑客工做有幫助的事情可作。 它們並不能替代真正的編程(沒有什麼能),但不少黑客都那麼作, 並感到它們與黑客的本質存在某些基本的連繫。
這些事情,你已經作的越多,你就越是天生作黑客的材料。 至於爲何恰恰是這些事情,緣由並不徹底清楚, 但它們都涉及用到左-右腦能力的綜合,這彷佛是關鍵所在 (黑客們既須要清晰的邏輯思惟,有時又須要偏離邏輯跳出問題的表象)。
最後,還有一些不要去作的事情。
作以上的事情,只會招來嘲笑。黑客們個個記憶超羣—— 你將須要數年的時間讓他們忘記你犯下的錯誤。
網名的問題值得深思。將身份隱藏在虛假的名字後是駭客、解密者、d00dz 及其餘低等生物幼稚愚蠢的行爲特色。黑客不會作這些事; 他們對他們所做的感到驕傲,並且樂於人們將做品與他們的 真名相聯繫。 所以, 若你如今用假名,放棄它。在黑客文化裏它會令你你失敗的。
Peter Seebach 維護着一個很是好的 Hacker FAQ, 專給那些不懂如何與黑客打交道的經理看的。若是Peter的站點不能訪問,下面這個 Excite搜索應該有一份拷貝。
我也著有 黑客文化簡史。
我寫了一份 大教堂與市集,對於Linux及開放源代碼文化現象有詳細的解釋。 我也在這個話題上進一步闡述致使的結局—— 開拓智域。
Rick Moen寫了一份很好的關於 如何運轉一個Linux用戶組的文檔。
我和Rick Moen合做完成了另外一份關於 提問的智慧的文章,可讓你事半功倍的得到幫助。
若是你想知道PC、UNIX及Internet基本概念和工做原理,參考 The Unix and Internet Fundamentals HOWTO。
當你釋放出一個軟件或爲其打補丁,試着按 軟件發行慣例 HOWTO去作。 (以上的提到的文章的中文版大多均可以在www.aka.org.cn和www.linuxforum.net找到。)
答:自從第一次發佈這份文檔,我每週都會收到一些請求, (頻繁的話一天幾封)要我「教會他們作黑客」。遺憾的是,我 沒有時間和精力來作這個;我本身的黑客項目,及我做爲一個開放源代碼倡導者 的四處奔波已經佔用了我110%的時間。
即使我想教你,黑客也依然基本上是一項自行修煉的的態度和技術。 當真正的黑客想幫助你的時候,若是你乞求他們一湯勺一湯勺「喂」你的話, 你會發現他們不會尊重你。
先去學一些東西。顯示你在嘗試,你能靠本身去學習。而後再去向你遇到的黑客請教特殊的問題。
若是你發E-mail給一位黑客尋求他的幫助,這是兩件首要記住的事情。 第一,寫出來的文字顯得懶且粗心的人一般很是懶於思考且很是馬大哈,不能成爲好黑客—— 所以注意拼寫正確,使用正確的語法及發音,不然你可能會無人理睬。 第二,不要試圖要求回覆到一個ISP賬號,而那個賬號與你 的發信地址不一樣。這樣作的人通常是使用盜用賬號,不會有人有興趣爲虎做倀幫助竊賊的。
答:對你而言最佳的入門方式也許是去參加LUG(Linux用戶組)的聚會。 你能夠找到在 LDP的綜合Linux信息頁面上找到相似的組織;也許有一個在你家附近的, 並且很是有可能與一所大學或學校掛鉤。若是你提出要求,LUG成員興許會給你一套Linux, 固然此後會幫你安裝並帶你入門。
答:這取決於你的聰明程度和努力程度。大多數人只要他們專一, 就能在18個月到2年之間學會一套使人尊敬的技能。可是,不要覺得就此結束了; 若是你是一個真正的黑客,你要用你的餘生來學習和完善你的技術。
答:不,由於他們不是可移植的。他們不是那些語言的開放源代碼實現, 因此你被限制在廠商選擇支持的那些平臺裏。接受這樣一種壟斷局面不是黑客的態度。
Visual Basic特別糟糕。它是Microsoft的私有語言這個事實就足夠讓它臉面全無, 不像其餘的Basic,它是一種設計糟糕的語言會教給你壞的編程習慣。
其中一個壞習慣是會依賴於單一廠商的函數庫、控件及開發工具。 通常而言,任何不可以支持至少Linux或者一種BSD,或其餘第三方操做系統的語言,都是 一種不適合應付黑客工做的語言。
答:No。任何讀完這份FAQ後還問這個問題的人,都是無可救藥的蠢材, 即便有時間指教我也不會理睬。任何發給個人此類E-mail都會被忽略或被痛罵一頓。
答:不行。目前爲止,每次問我這個問題的,都是一些運行Microsoft Windows的菜鳥。 不可能有效的保護Windows系統免受駭客攻擊;太多缺陷的代碼和架構使保護Windows的努力有如 隔靴搔癢。惟一可靠的預防來自轉移到Linux或其餘設計得至少足夠安全的系統。
答:最佳辦法是在你附近找一個Unix或Linux的用戶組,參加他們的聚會。 (你能夠在Metalab的LDP站點 找到一些指向用戶組的連接。)
我過去曾說過不能在IRC上找到真正的黑客,但我發覺如今狀況有所改變。 顯然一些真正的黑客的社區像GIMP及Perl,也有IRC頻道了。)
答:我維護着一份Linux Reading List HOWTO,也許你會以爲有用。 Loginataka也頗有意思。
關於Python的介紹,請訪問在Python站點上的 入門資料。
答:不用。黑客道不多使用常規的數學或算術,不過你絕對須要能邏輯性地思考和進行精密的推理。
尤爲是你不會用到微積分或電路分析(咱們把這些留給電子工程師們 :-))。 一些有限數學(包括布爾代數,集合論,組合數學,圖論)的背景知識會有幫助。
答:HTML——若是你還不懂的話。市面上有一大堆的封面精美,宣傳得天花亂墜的 糟糕的 HTML書籍,不幸的是不多有好的。我最喜歡的是 HTML: The Definitive Guide。
但 HTML 不徹底是一種編程語言。當你準備開始編程時,我推薦從 Python起步。 你會聽到一大羣人推薦 Perl,而且 Perl 依然比 Python 流行得多,可是 難學得多且(以我之見)設計得不是很好。
C 確實重要,但它要比 Python 或 Perl 難多了。不要嘗試先學 C。
Windows用戶不要知足於 Visual Basic。 它會教給你壞習慣,並且它不能夠移植,只能在Windows下運行。避免它。
答:過去我的電腦能力至關不夠而且內存小,結果給黑客的學習過程設置 了人爲的障礙。不過一段時間之前開始就不是這樣了;任何配置比一臺 Intel 486DX50 好的 機器都有足夠的能力進行開發工做,X,及 Internet 通信,同時你如今買的最小的磁盤 都大得富足了。(依Barret之見,如今要至少Pentium 166MMX纔夠。)
選擇用來學習的機器時重要的一點是注意配件是不是Linux兼容的(或BSD兼容,若是你選擇學 BSD)。同剛纔提到的同樣,大多數如今的機器都是符合的;惟一的值得注意的區域在於 modem和打印機;有些具有爲Windows設計的配件的機器不會在Linux下工做。
關於硬件兼容性有一個FAQ;最新版本在 這裏。
答:不,你沒必要如此。不是由於Microsoft不使人討厭,而是由於黑客文化早在 Microsoft出現以前就存在了,且將在Microsoft成爲歷史後依然存在。 你耗費在憎恨Microsoft的任何力氣不如花在愛你的技術上。寫好的代碼—— 那會至關有效地打擊Microsoft又不會讓你獲得惡報應。
答:看起來不太可能——目前爲止,開放源代碼軟件產業彷佛創造了更多的就業機會而不是 減小就業機會。若是寫一個程序比起不寫來是純經濟收益的話,那麼在寫完後, 程序員應該獲得報酬無論程序是不是開放源代碼。 而且,不管寫出多麼「免費自由」的軟件,都存在更多對新的,定製的軟件的需求。 我有這方面更多的論述,放在開放源代碼 網站資料中。