如何成为一名黑客作者:Eric Raymond翻译 waterbird [AKA_

  什么是黑客?Jargon File中对“黑客”一词给出了很多个定义,大局部定义都涉及高明的编程技术,强烈的解决问题和战胜限度的愿望。如果你想晓得如何成为一名黑客,那么好,只有两方面是重要的。(态度跟技术) 久长以来,存在一个专家级程序员和网络高手的共享文明社群,其历史可以追溯到几十年前第一台分时共享的小型机和最早的ARPAnet试验时代。 这个文化的参加者们发明了“黑客”这个词。 黑客们建起了Internet。黑客们使Unix操作系统成为今天这个样子。黑客们搭起了Usenet。黑客们让WWW畸形运行。如果你是这个文化的一部门,如果你已经为它作了些奉献,而且圈内的其他人也知道你是谁并称你为一个黑客,[URL=http://www.5920hk.com]http://www.5920hk.com[/URL],那么你就是一名黑客。 黑客精力并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度看待其它事情如电子和音乐---事实上,你可以在任何较高等别的迷信和艺术中发明它。软件黑客们辨认出这些在其他领域同类并把他们也称作黑客---有人声称黑客实际上是独立于他们工作范畴的。 但在本文中,咱们将留神力集中在软件黑客的技术和态度,以及发现了“黑客”一词的哪个共享文化传统之上。 另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们是些不负义务的勤家伙,还没什么大本领。专门以破坏别人保险为目标的行动并不能使你成为一名黑客, 正如拿根铁丝能翻开汽车并不能使你成为一个汽车工程师。可怜的是,很多记者和作家往往错把“骇客”当成黑客;这种做法激怒真正的黑客。 基本的差别是:黑客们建设,而骇客们损坏。 如果你想成为一名黑客,持续读下去。如果你想做一个骇客,去读 alt.2600 消息组,并在发现你并不像自己设想的那么聪明的时候去坐5到10次监狱。 对于骇客,我只想说这么多。 黑客的态度黑客们解决问题,建设事物,信奉自由和双向的辅助,人人为我, 我为人人。 要想被以为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备这种态度,你就不得不真的具备这种态度。但是如果你想靠培育黑客态度在黑客文化中得到否认,那就大错特错了。因为成为具备这些特质的这种人对你自己非常重要,有助于你学习,并给你供给源源一直的活气。同所有有创造性的艺术一样,成为巨匠的最有效方法就是模仿大师的精神---不是仅从理智上,更要从情感长进行模拟。 So,如果你想做一名黑客,请重复以下事情直到你相信它们: 这世界布满待解决的迷人问题做一名黑客有许多乐趣,但却是些要费很多力量方能得到的乐趣。 这些尽力需要能源。胜利的运发动从硬朗体格,挑衅自我极限中吸取动力。同样,做黑客,你必须 要有从解决问题,磨难技术,锤炼智力中得到根本的热望。如果你还不是这类人又想做黑客,你就要想法成为这样的人。否则你会发现,你的黑客热忱会被其他引诱无情地吞噬掉---如金钱、性和社会上的虚名。 (同样你必须对你自己的学习能力树立信念---相信只管你对某问题所知未几,但如果你一点一点地学习、试探,你最终会掌握并解决它。) 一个问题不应该被解决两次聪慧的脑瓜是可贵的,有限的资源。当这个世界还充斥其他有待解决的有趣问题之时,他们不应该被挥霍在从新创造轮子这些事情上。 作为一名黑客,你必须相信其他黑客的思考时间是名贵的---因此共享信息,解决问题并宣布成果给其他黑客几乎是一种道义,这样其别人就可以去解决新问题而不是重复地凑合旧问题。 (你不用认为你必定要把你的发明创造颁布出去,但这样做的黑客是博得大家尊敬最多的人。卖些钱来给本人养家糊口,买房买车买计算机甚至发大财和黑客价值也是相容的,只有你别忘却你仍是个黑客。) 无聊和乏味的工作是罪行黑客们应该素来不会被笨拙的重复性劳动所困扰,因为当这种事件产生时就意味着他们不在做只有他们能力做的事情---解决新问题。这样的糟蹋损害每一个人。因而,无聊和乏味的工作不仅仅是令人不舒畅罢了,它们是极大的犯法。 要想做的象个黑客,你必须完整信任这点并尽可能多地将乏味的工作主动化,不仅为你自己,也为了其他人(尤其是其余黑客们)。 (对此有一个显明的例外。黑客们有时也做一些反复性的单调工作以进行“脑力休息”,或是为练熟了某个技巧,或是失掉一些除此无奈取得的教训。但这是他自己的抉择---有头脑的人不应该被迫做无聊的活儿。) 自由就是好黑客们是生成的反权威主义者。任何能向你发命令的人会迫使你结束解决令你着迷的问题,同时,依照权威的个别思路,他通常会给出一些极其愚蠢的理由。因此,不管何时何地,任何权威,只要他压迫你或其他黑客,就要和他斗到底。 (这并非说任何权力都不必要。儿童需要监护,罪犯也要被照管起来。 如果服从命令得到某种货色比起用其他方法得到它更节俭时间,黑客会批准接收某种情势的威望。但这是一个有限的、特地的交易;权力想要的那种个人遵从不是你的给予,而是无前提的屈服。) 权利爱好审查和保密。他们不信赖被迫的配合和信息共享---他们只爱好由他们把持的协作。因此,要想做的象个黑客,你得对审查、保密,以及使用武力或诈骗去压迫人们的做法有一种本能的恶感和敌意。 态度不能替换能力要做一名黑客,你必须造就起这些态度。但只具备这些立场并不能使你成为一名黑客,就象这并不能使你成为一个活动健将和摇滚明星一样。成为一名黑客需要破费智力,实际,奉献和辛劳。 因此,你必须学会不相信态度,并尊敬各种各样的才能。黑客们不会为那些成心装模做样的人浪费时间,但他们却异常尊重能力---尤其是做黑客的能力,不外任何能力总归是好的。具备很少人才干控制的技术方面的能力尤其为好,而具备那些波及脑力、技能和目不转睛的能力为最好。 如果你尊重能力,你会享受进步自己能力的乐趣---辛苦的工作和贡献会变成一种高度娱乐而非贱役。 要想成为一名黑客,这一点非常重要。 基本黑客技术黑客态度是重要的,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,有一套基本的技术你必需掌握。 这套基本技术跟着新技术的呈现和老技巧的过期也随时间在迟缓转变。例如,过去包含使用机器码编程,而直到最近才包括了HTML语言。但当初显著包括以下技术: 学习如何编程这当然是最基础的黑客技术。如果你还不会任何计算机语言,我提议你从Python开始。它设计清楚,文档齐全,对初学者很适合。尽管是一门很好的低级语言,它不仅仅只是个玩具。它非常强盛,机动,也合适做大型名目。 然而记住,如果你只会一门语言,你将不会达到黑客所请求的技术程度,甚至也不能达到一个一般程序员的水平---你需要学会如何以一个通用的方式思考编程问题,独破于任何语言。要做一名真正的黑客,你须要学会如何在几天内通过一些手册,联合你现在所知,敏捷把握一门新语言。这象征着你应该学会多少种不同的语言。 如果要做一些重要的编程,你将不得不学习C语言,Unix的中心语言。其他对黑客而言比拟重要的语言包括Perl和LISP。 Perl很适用,值得一学;它被普遍用于运动网页和体系治理,因此即使你从不必Perl写程序,至少也应当能读懂它。 LISP 值得学习是由于当你终极掌握了它你会得到丰盛的经验;这些经验使你在当前的日子里成为一个更好的程序员,即使你实际上可能很少使用LISP自身。 当然,实际上你最好四种都会。 (Python, C, Perl, and LISP). 除了是最重要的四种基本语言,它们还代表了四种无比不同的编程办法,每种都会让你受益非浅。 这里我无法完全地教会你如何编程---这是个庞杂的活儿。但我可以告知你,书本和课程也不能作到。简直所有最好的黑客都是自学成材的。真正能起作用的就是去亲身读代码和写代码。 学习如何编程就象学惯用做作语言写作一样。最好的做法是读一些大师的名著,试着自己写点东西,再读些,再写点,又读些,又写点....如斯往复,直到你到达自己在范文中看到的简练和力气。 从前找到好的代码去读是艰苦的,因为很少有大型程序的可用源代码能让新手练手。这种状态已经得到了很大的改良;现在有很多可用的开放源码软件,编程工具和操作系统(全都有黑客写成)。这使我们天然地来到第二个话题... 得到一个开放源码的Unix并学会应用、运行它我假设你已经领有了一台个人盘算机或者有一个可用的( 今天的孩子们真幸福

  

   )。新手们最基本的一步就是得到一份Linux或BSD-Unix,装置在个人计算机上,并运行它。 当然,[URL=http://www.5920hk.com]黑客业务[/URL],这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发送的---你无法读到它的源码,更不可能修改它。尝试在DOS或Windows的机器上学习黑客技术,就象是在腿上绑了铁块去学舞蹈。 除此之外,Unix还是Internet的操作系统。你可以不知道Unix而学会用Internet,但不懂它你就无法成为一名Internet黑客。因为这个原因,今天的黑客文化在很大水平上是以Unix为核心的。(这点并不总是真的,一些很早的黑客对此很不愉快,但Unix和Internet之间的共生关联已是如此之强,甚至连微软也无可奈何) So,装一个Unix---我个人喜欢Linux,不过也有其他取舍。(你也可以在统一台机器上同时运行DOS,Windows和Linux)学会它。运行它。用它跟Internet对话。读它的代码。试着去修正他。你会得到比微软操作系统上好的多的编程工具(包括C,Lisp, Python, and Perl),你会得到乐趣,并将学到比你想象的更多常识。 关于学习Unix的更多信息,请看 The Loginataka. 要得到Linux,请看: 哪里能得到Linux. 学会如何使用WWW和写HTML大多黑客文化建造的东西都在你看不见的地方施展着作用,帮助工厂、办公室和大学正常运转,名义上很丢脸到它对他人的生活的影响。Web是一个大大的例外。即便政客也赞成,这个宏大而刺眼的黑客玩具正在改变全部世界。单是这个原因(还有许多其它的), 你就需要学习如何掌握Web。 这并不是仅仅意味着如何使用阅读器(谁都会),而是要学会如何写HTML,Web的标志语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先建起自己的主页。 但仅仅建一个主页也不能使你成为一名黑客。 Web里充满了各种网页。多数是无意义的,零信息量垃圾。 要想有价值,你的网页必须有内容---必须有趣或对其它黑客有用。这样,我们来到下一个话题.... 黑客文化中的地位象大部分不涉及金钱的文化一样,[URL=http://www.5920hk.com]黑客[/URL],黑客王国的运转靠声誉维护。你设法解决有趣的问题,但它们到底多有趣,你的解法有多好,是要有那些和你具备同样技术水平的人或比你更牛的人去评判的。 相应地,当你在玩黑客游戏时,你知道,你的分数要靠其他黑客对你的技术的评估给出。(这就是为什么只有在其它黑客称你为黑客是,你才算得上是一名黑客)这个事实常会被黑客是一项孤单的工作这一印象所减弱;它也会被另一个黑客文化的禁忌所削弱(此禁忌的效率正在减弱但仍很壮大):谢绝承认自我或外部评估是一个人的动力。 特别地,黑客王国被人类学家们称为一种精英文化。在这里你不是凭借你对别人的统治来建立位置和名气,也不是靠美貌,或占有其他人想要的东西,而是靠你的奉献。尤其是奉献你的时间,你的才智和你的技术结果。 要获得其他黑客的尊敬,你可以做以下五种事情: 写开放源码的软件第一个(也是最基本和传统的)是写些被其他黑客认为有趣或有用的程序,并把程序的原代码公布给大家共享。 (过去我们称之为“自由软件-free software”,但这却使很多不知free的精确含意的人感到不解。现在我们很多人使用“开放源码-open source”这个词) 黑客王国里最受尊敬的大牛们是那些写了大型的、存在广泛用处的软件,并把它们公布出去,使每人都在使用他的软件的人。 帮助测试并修改开放源码的软件黑客们也尊敬也那些使用、测试开放源码软件的人。在这个并非完善的世界上,我们不可防止地要花大量软件开发的时间在测试和抓臭虫阶段。 这就是为什么任何开放源码的作者稍加思考后都会告诉你好的beta测试员象红宝石一样可贵。 (他知道如何清晰描写犯错症状,很好地定位错误,能忍耐疾速发布的软件中的bug,违心使用一些简略的诊断工具) 甚至他们中的一个能断定出哪个测试阶段是延伸的、令人精疲力尽的恶梦,哪个只是一个有利健康的玩意儿。 如果你是个新手,试着找一个赶兴致的正在开发的程序,作一个好的beta测试员。从帮着测试,到帮着抓臭虫,到最后帮着改程序,你会不断提高。以后你写程序时,会有别人来帮你,你就得到了你当初善举的回报。 公布有用的信息另一个好事是收集收拾网页上有用有趣的信息或文档如FAQ。许多重要FAQ的维护者和其他开放源码的作者一样受到大家的尊敬。 帮助维护基本设施的运转黑客文化是靠强迫者运转的。要使Internet能正常工作,就要有大量干燥的工作不得不去完成 管理mail list,newsgroup,维护大量文档,开发RFC和其它技术尺度等等。做这类事情的人会得到很多人的尊敬,因为每人都知道这些事情是耗时耗力的苦役,不象编码那样好玩,[URL=http://www.5920hk.com]黑客[/URL]。做这些事情需要毅力,[URL=http://www.5920hk.com]黑客业务[/URL]。 为黑客文化本身服务最后,你可以为这个文化本身服务(例如象我这样,写一个“如何成为黑客”的初级教程

  

   )(hehe,象我这样把它翻成中文

  

   ) 这并非一定要在你已经在这里呆了良久,粗通所有以上4点,获得一定荣誉后后才能去做。 黑客文化没有首领。精确地说,它确切有些文化好汉和部落长者和历史学家和发言人。若你在这圈内呆的够长,你也许成为其中之一。 记住:黑客们不相信他们的部落长者的自诩的夸耀,因此很明显地去寻求这种声誉是危险的。你必须具备基本的谦逊和优雅。 黑客和怪人(Nerd)的接洽同风行的传说相反,做一名黑客并不一定要你是个怪人。然而,很多黑客都是怪人。做一个降生者有助于你集中精神进行更重要的事情,如思考和编程。 因此,很多黑客都乐意接受“怪人”这个标签,更有甚者乐意使用“傻子(geek)”一词并自认为豪---这是发布他们与主流社会分歧作的申明。 如果你能集中足够的精力来做好黑客同时还能有正常的生活,这很好。今天作到这一点比我在1970年代是个新手是要轻易的多。今天主流文化对技术怪人要友善的多。甚至有更多的人意识到黑客通常更富爱心,是块很好的做恋人和配偶的材料。 更多信息见 Girl's Guide to Geek Guys. 如果你因为生涯上不如意而为做黑客而吸引,那也没什么---至少你不会分神了。或者以后你会找到自己的另一半。 作风的意思重申一下,做一名黑客,你必须进入黑客精神之中。当你不在计算机边上时,你依然有很多事情可做。它们并不能替代真正的编程(没有什么能替代编程),但很多黑客都那么做,并觉得它们与黑客精神存在一种实质的关系。 浏览科幻小说。参加科幻小说探讨会。(一个很好的寻找黑客的场所) 研讨禅宗,或练功习武。 练就一双准确的耳朵,学会鉴赏特殊的音乐。学会玩某种乐器,或唱歌。 提高对双关语的鉴赏。 学会流利地用母语写作。(令人惊奇的时,我所知道的所有最棒的黑客,都是很不错的作家) 这些事情,你做的越多,你就越适合做黑客。至于为什么偏偏是这些事情,起因并不很明白,但它们都涉及到了左-右脑的综合技巧,这好像是要害所在。(黑客们既需要清晰的逻辑思维,有时也需要强烈的跳出逻辑之外的直觉) 最后,还有一些不要去做的事情。 不要使用愚蠢的,过于哗众取宠的ID 不要自称为网络崩客(punk) ,也不要对那些人浪费时间 不要寄出充满拼写和语法过错的email,或张贴毛病百出的文章 做以上的事情,会使大大侵害你的名誉。黑客们个个记忆超群---你将需要数年的时间让他们忘记你的愚昧。 其它资源Peter Seebach为那些不知如何同黑客打交道的经理们保护了一个非常出色的黑客FAQ。 The Loginataka 有许多关于如何准确培养一个Unix黑客的态度的资料。 我也曾写过一篇“黑客文化简史”。 我还写过另一篇文章,“大教堂与集市”,说明了很多Linux和 开放源码文化 的运做原理。我还在它的续集 “开辟智域” 一文中有更直接的阐述。 FAQ(常问问题解答) 问:你会教我如何做黑客吗?

  自从第一次发布此页,我每周都会得到一些恳求,要我“教会他如何做黑客”;遗憾的是,我没有足够的时间和精力来做这个;我自己的编程项目已经占用了我110%的时间。 甚至即便我想教你也不可能,黑客基本上是一项需要你自行修炼的的态度和技术。你会发现即使真正的黑客想赞助你,如果你哀求他们填鸭一样教你的话,你不会赢得他们的尊敬。 首先去学习。显示你在尝试,你能靠自己去学习。而后再去向黑客们求教问题。 问:你会帮我“黑”掉一个站点吗?或者教我怎么黑它?

  No. 任何在读完FAQ后还问此问题人,都是愚不可及的家伙,即便有时光我也不会搭理。 任何发给我的此类mail都会被疏忽或被怒斥。 问:哪里能找到真正的能够与之交换的黑客?

  最佳措施是就近参加一个Unix或Linux的用户组,加入他们的会议。 问:我该先学哪种语言?

  HTML, 假如你还不会的话. 但它不是一个真正的编程语言。当你筹备编程时,我倡议你从 Python开始. 会有良多人向你推举Perl,它比Python还受欢送,但却难学一些。 C 是十分主要的,但它却是最难学的。不要一开端就尝试学C。 问:开放源码的自在软件不会使程序员饿肚子吗?

  这仿佛不大可能---到目前,开放源码软件工业创造了而不是毁灭了大批工作机遇。 如果写一个程序比不写一个程序只是个纯洁经济上的收益的话,无论它是否免费,只要它被实现,程序员都会从中得到回报。而且,无论软件是由如许的free的方法开发的,对更新的软件利用的需要老是会有的。 问:我从何学起?哪里有免费的Unix?

  本页的其他处所指向最常用的免费Unix。要做一名黑客,你需要自立自强,以及自我教导的能力。 现在开始吧......

  转载于:http://wiki.woodpecker.org.cn/moin/HackerHowto

相关的主题文章:
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 yangg8987 的頭像
    yangg8987

    yangg8987的部落格

    yangg8987 發表在 痞客邦 留言(0) 人氣()