• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Bryce.Xiao
博客园    首页    新随笔    联系   管理    订阅  订阅
一个黑客都要学习什么语言
中国有句古话“授人以鱼,不如授人以渔“,意思是给你鱼不如教你捕鱼,我很乐意帮朋友们 解决问题,但是我更愿意跟大家探讨问题。 只有自己动手,活到老学到老的人,才是真正的高手。 希望大家都能成为真正的高手。 下面就讲黑客,由Eric Steven Raymond 写的一篇文章 如何成为一名黑客

新手朋友们,请你们记住我这句话:
所谓的高手决不是什么都懂的人,而是知道怎么样自己去寻找答案,解决问题的人
你们知道吗,你们问的问题我很多也不知道,但是我还是回答了,所以很多朋友信任我,但
是我怎么回答的呢,很简单,去www.google.com 一搜索,什么问题都解决了。
但是,我跟你们很多新手不一样,你们问了问题,我找了个答案给你,而我自己找答案的时
候把搜索出来的相关资料都读了一遍,我比你们学到更多东西啊,我每天都这么干,我当然
每天都学到很多东西啦
而你们很多人呢,有问题只知道来问一下,找个答案就走了。
还有,网上有很多好的计算机网站,比如www.pconline.com.cn,www.cncz.net 我们不是专
业人士的话,这些网站已经很好了,我是每天都去看,去学习的,你们是不是也是呢?
中国有句古话“授人以鱼,不如授人以渔“,意思是给你鱼不如教你捕鱼,我很乐意帮朋友们
解决问题,但是我更愿意跟大家探讨问题。
只有自己动手,活到老学到老的人,才是真正的高手。
希望大家都能成为真正的高手。
下面就讲黑客,由Eric Steven Raymond 写的一篇文章
如何成为一名黑客
作者:Eric Steven Raymond
译者:Ionwing
怎么样才算是一名Hacker?
在Jargon File 中有一堆关于“hacker”这个名词的定义,大部份意见认同黑客必须是技术上的
行家及热衷于解决难题、突破限制的人,如果你想知道如何成为一名hacker,这是真正重
要的两个方面。(技能和态度)
历史可以追溯到数十年前第一台分时小型机诞生及ARPAnet 实验刚刚开展的那个年代,那
时有一个由程序专家和网络天才所组成的具有共享特质的文化群体,这一群体的成员是
“hacker”一词的起源。这些Hacker 构建了Internet,创作出我们现今广泛使用的UNIX 操作
系统, 他们使Usenet 运转,而且还使World Wide Web 工作起来,如果你是这个文化的一
份子,如果你对其有所贡献,并且他人对此表示认同并称你为黑客,那么你就是一位黑客。
从精神的角度上来讲,“hacker”并不单单局限于软件黑客的范畴。人们也将黑客的处事态度
应用于其它领域,如电子学领域或音乐领域-- 事实上,你会发现在任何一种科学或艺术的
最高境界都有这种精神的存在;软件黑客们也认为这些其他领域的类似精神可以称之为
“hacker” -- 有些人还主张黑客的通性是独立于其所从事的工作的。但是,在这篇文章中,我
们将集中注意力于软件黑客们所需的技能和态度,以及创造了“hacker”一词的共享文化传统。
还有另外的一个团体的成员,他们大声地吵嚷着称自己为黑客,但其实他们并不是。这些人
(主要是男性青少年) 专门破坏计算机和盗用电话系统, 真正的hacker 们称这类人为
“cracker”(骇客),并且不屑与他们为伍。黑客们认为骇客都是些懒惰、不负责任并且不太
光彩的家伙,破解安全系统并不能使你成为一位黑客,就像能翘开车锁并不意味着你是汽车
工程师一样。但是很不幸的,很多记者和作家愚蠢地使用黑客这个词来形容骇客;这让真正
的黑客们愤怒异常。
两者的根本差别在于:黑客创造新东西,而骇客破坏它们。
如果你想要成为一位黑客,请继续读下去。如果你只是想要成为一位骇客,那么就请去读
alt.2600新闻组,并做好准备在进了十次五次监狱之后才发现自己并不是那么的棒。那就是
我想说的关于骇客的全部。
黑客的态度
黑客们解决问题并创造出新的东西,他们信奉自由并乐于互相帮助。想被承认为一名黑客,
你必须表现出你具有这种态度,并且必须是发自内心地相信它。
但是,如果你想通过表现黑客的态度来获取这个文化的认同,你可能忽略了事情的关键。成
为相信这种精神的人对你来说非常的重要-- 因为这有助于你更好的学习并且维持你的动
力。象所有的创造性艺术一样,成为一位大师的最好途径是学习大师的精神-- 并不只从理
性,更从感性。
或者就象下面这些现代禅教一样:
追求之路:
注意大师,
追随大师,
与大师同行,
彻底了解大师,
成为大师。
所以,如果你想要成为一位黑客,请重复下面的事情,直至坚信不疑:
1. 这个世界充满等待解决的迷人问题
做一个黑客可以得到很多乐趣,但那需要你付出与之相当的努力。努力需要动力,成功运动
员的动力来自于不断突破自己身体上的极限所带来的快乐,同样地,作为一名黑客,你也必
须能从解决难题、磨练技能和训练你的智力的过程中感受到那种悸动。
如果你不是天生就能感受到这种悸动的人,为了达成目标你必须设法使自己如此。否则,你
会发现你的黑客精神很快会被诸如性、金钱和社交活动之类的事所消磨。
(你也必须对自己的学习能力建立信心-- 相信你尽管对所要解决的问题所知不多,但只要
针对它不断的学习,最终一定可以做到)。
2.不应该重复解决同一问题
富有创造力的头脑是珍贵而有限的资源。在还有那么多迷人的新问题等待解决的时候,他们
不应该被浪费于重新发明轮子。
身为一名黑客,你必须意识到时间对于其他黑客是非常宝贵的-- 所以,共享信息、解决问
题并且始终提供解决方法给其他黑客几乎可以说是一种道德上的责任,这样其他的黑客就可
以抽身解决新的问题了。
(你无须认为奉献你的全部创造是一种必须的义务,尽管那样做是得到其他黑客尊重的主要
途径。黑客的价值观允许你出售足够的产品以满足食物和设备租金的需要。你可以运用你杰
出的黑客技能支撑你的家庭或正当地获取财富,只要你在做这一切的时候没有背弃忠诚于你
的技艺和黑客同道们)。
3. 无聊而单调的工作是有害的
黑客们(以及其他从事创造的人们)绝对不该从事那些无聊或者单调的乏味的重复性工作,因
为那意味着他们没有做那些只有他们才能做的事-- 解决新的问题。这种浪费对于任何人而
言都是一种伤害。所以乏味而无聊的工作不仅使人生厌而且非常有害。
作为一位黑客应该自觉地远离那些可能使人厌烦的比特,不只为你自己, 也为其他所有的
人(特别是其他黑客)。
(这里还存在一些例外,有时黑客们会做一些看起来似乎是重复性或者无聊的工作以作为一
种脑力的训练,或是为了学到某种特殊的技能以及某种无法使用其他方法获得的特殊经验。
这仅是一种选择-- 没有人应该被强迫面对那些无聊的工作)。
4. 自由才好
黑客们天生反对权威。任何一个可以命令你的人都可能妨害你解决令自己着迷的问题-- 并
且权威的工作方法通常会给你一个愚蠢的可以的理由。所以应该对遇到的任何权威主义报挑
战态度,以免它危害到你和其它的黑客。
(这并非意味着应该反对所有的权威,正如小孩子需要被指导以阻止他们犯错,黑客也可能
会服从某些权威,如果这样做可以更快更好地完成想做的工作,不过那是一种受限并且理性
的协定,并非绝对的个人服从)。
权威擅长监察和保密,并且不信任自觉式的合作和信息共享-- 他们只相信在他们控制之下
的“合作”。所以,身为一名黑客,必须对监察制度、保密和使用强制或欺骗的手段强加责任
的行为具有本能的反抗态度,你必须以信任作为你行为的基础。
5. 态度不能替代能力
要成为一名黑客,你必须发展这些态度。但单纯地模仿某种态度并不能使你成为一位真正的
黑客,也不能使你成为一位冠军选手或摇滚明星。成为一名黑客需要智慧、实践、奉献和努
力工作。
因此,你必须学会怀疑态度并且尊敬每一种能力。黑客们不会为装腔作势的人浪费时间,但
是他们尊敬能力-- 尤其是黑客能力,当然所有的能力都很好。拥有很少有人精通的特殊技
能是特别棒的,最棒的能力包括敏锐的洞察、特别的技艺和专注的精神。
如果你尊敬能力,你将享受到发展自己能力的乐趣-- 这会使努力工作和奉献成为一种充满
激情的游戏而非一件苦差事。这对于想要成为黑客的人而言,是非常重要的。
基本的黑客技能
黑客的态度是非常重要的,而技术则更为重要。黑客的态度固然无可取代,但是在梦想着得
到其他黑客承认之前,至少应该掌握一些基本的技能。
随著新技术不断地取代旧技术,这些工具也随着时间的变化慢慢地改变。例如,以前我们用
机器码编写程序,直到现在广泛使用的HTML。明显需要的技能包括如下所列:
1. 学习如何编写程序
当然,这是黑客的基本技能。如果你不了解任何计算机语言,我推荐从Python 开始。这种
语言设计简洁,文档完整,非常适合初学者。作为优秀的第一语言,它不止是一件玩具;它
强大的力量和可扩展性使其同样适用于大型项目。我在evaluation of Python 一文中描述了更
多的细节,在Python 的Web 站点有可用的指南。
Java 也是很好的入门语言,虽然要比Python 难,但是可以生成更加快速的代码,我想它是
极好的第二语言。
但是要知道,如果你只懂得一两种语言,是无法达到黑客所应具有的技术水平的,而充其量
只是一名程序员而已-- 你需要学习如何以通用的方法考虑程序设计问题,而不依赖于任何
一种程序语言。要成为一名黑客,你必须做到能结合手册和你已经知道的知识快速地学会一
门编程语言。就是说,你应该学习几种完全不同的语言。
如果你想进行真正的程序设计,必须要学习C,UNIX 系统的核心程序语言。C++与C 非常
的类似,如果你已经熟悉了其中之一,学会另一个将十分容易。然而,这两者都不适合作为
你最初学习的语言。
其它对黑客来说特别重要的语言还包括Perl 和LISP。Perl 非常有学习的价值;因为它在动
态Web 页和系统管理方面有非常广泛的应用,所以即使你不编写Perl 程序也应该去学习阅
读它。LISP 值得学习是因为一旦你最终掌握了它,它将带给你深刻的经验和启迪,这种经
验可以使你成为更加优秀的程序员,即使你从没有单独用LISP 去实现程序。
实际上,最好去学习所有这五种语言(Python、Java、C/C++、Perl、和LISP)。除了作为最
重要的黑客语言之外,它们还代表了完全不同的程序设计途径,将各自教授你极具价值的方
法。
我无法在这里全面地指导如何进行程序设计-- 那是非常复杂的技能。但是我可以告诉你的
是这些无法从书本和课程中学到(大多数最好的黑客都是自修而成的)。你可以从书本学到
语言的特征,但要使大脑把知识转化为实际的技能,只能通过实践和历练。做法是(a)读
代码和(b)写代码。
学习编程就好象学习书写优美的自然语言。最好的方法就是阅读一些专家的作品,然后写一
点自己的东西,读一点,写一点,再读一点,再写一些……不断地重复这个过程直到发展出
自己的一套经济有效的模式。
找好的代码读是很困难的,因为可供菜鸟级黑客阅读和更改的大型程序源码是非常少的。这
种情况正在改变;Open-Source 的软件、编程工具和操作系统(全部都是黑客创作的)正广
泛地使用。这引出了我们的下一个主题……
2. 取得一份Open-Source 的UNIX 并学习去使用和运行它
我首先假定你拥有一部个人电脑或是能够获得一部(现在的小孩可以如此容易的拥有:-))。对
于任何一个渴望增长黑客技能的网络新手来说,一个最重要的步骤就是取得一份Linux 或者
一种BSD-Unix,将它安装在自己的机器上,并运行起来。
不错,UNIX 并不是这个世界上唯一的操作系统,但是其它操作系统只以二进制形式提供,
你无法阅读它的代码,也无法修改它们。想要在DOS 或Windows 亦或MacOS 下开始学习
黑客技能无异于绑著枷锁学习跳舞。
另外,UNIX 是Internet 上的操作系统。你可以在不懂UNIX 的情况下学习使用Internet,但
你无法在不懂UNIX 的情况下成为一个Internet 黑客。基于这个原因,UNIX 仍然是今天黑
客文化的坚强核心。(这并不是绝对正确的,并且有一些旧时代的黑客并不以这种情况为乐,
但是UNIX 和Internet 之间的共生关系是如此的牢固以至Microsoft 的强壮肌肉也没能给其造
成伤痕)。
因些,让你的UNIX 运行起来吧! -- 我自己则比较喜欢Linux(你可以在一台机器上同时运
行Linux 和DOS/Windows 操作系统)。学习它,让它运行起来,给它做修补。通过它与Internet
交谈。阅读和修改程序代码,你将获得更多比Microsoft 操作系统下所梦想的还要好的编程
工具(包括C,LISP,Python,和Perl),当有一天你作为一位专家级的黑客回忆时,你会发
现这是如此的有趣,并且让你学到了比想像的还要多的知识。
关于更多学习UNIX 的信息,请看The Loginataka。
可以在Where can I get Linux 获得Linux 支持。
可以在www.bsd.org 搜寻BSD UNIX 的帮助和资源。
我写了一个初级读本-- basics of Unix and the Internet。
3. 学习使用WWW 和书写HTML
大多数由黑客文化创造出来的东西都在我们看不见的地方发挥着作用,维持着工厂、办公室
和大学的运转,很难发现其对非黑客人群的生活造成了什么显著的影响。但Web 是一个很
大的例外,即使政客们也不得不承认这个巨大耀目的黑客玩具正在改变着世界。仅此一个理
由(当然还有许多很好的理由),你需要学习如何使Web 工作。
这并不意味着学习如何驾御浏览器(任何人都可以做得到),而是学习如何书写HTML,Web
的标记语言。如果你还不知道如何设计程序,书写HTML 可以帮助你养成一些习惯。建立
起你的主页吧(这里是一个在Web 上的初学者指南; here's one)。
不过拥有一个主页并不能帮助你成为黑客, Web 上到处都是主页,大多数没有意义,内容
空洞,象泥巴一样-- 很时髦的泥巴,看起来千篇一律(可以在The HTML Hell Page 中得到
更多信息)。
为了让你的主页有价值,它必须富含内容-- 必须有趣而且(或者)对其它黑客有用。让我们
进入下一个主题……
黑客文化的状况
像大多数不涉及货币经济的文化一样,黑客文化通过名誉运作。当你尝试去解决一个有趣的
问题时,它有多么有趣,你的解决方法好不好,正常情况下只有通过与你具有相同或更高技
术的人作出评价。
因此,当你开始玩黑客游戏时,你应该认识到你的分数的保持主要来自于其他黑客对你技术
的看法(这就是为什么只有得到了其他黑客的一致承认,你才真正算是一名黑客)。这个事实
为黑客单独工作这一印象所蒙蔽;也被黑客文化的禁忌(现在逐渐衰退但依然有效)即利己主
义和被外部承认所不容。
确切地说,黑客文化就是人类学家所说的“天才文化”。你的地位和名誉的增长并不来自于对
他人的支配,不因为你长得漂亮,不因为你有一些别人想要的东西,而是因为你的奉献。明
确的说,你奉献出了你的时间,你的创造和你的技能。
这里是你为了获得其他黑客的尊敬可以做的五类事情:
1. 写Open-Source 软件
首先(最重要的也是大多数情况下)是写其他黑客认为有趣或有用的程序,并把源代码公开
给所有黑客文化中的人使用。
(我们称这项工作为“free software”,但关于free 一词的真正含义带给人们许多的困扰,现
在我们通常更愿意使用术语“open-source”软件)。
黑客最尊崇的是那些写出功能强大,为大家所需要,并且大家都在使用的程序的人。
2. 帮助Open-Source 软件做测试和除错
黑客们也尊敬为Open-Source 软件除错的人。在这个并不完善的世界里,我们将不可避免的
花费大部分的软件开发时间在除错阶段。这就是为什么所有Open-Source 的作者都会告诉你
好的beta 测试者(他们能够清楚的描述状况,准确的使问题局部化,可以容忍测试版本的
bug,并且能使用一些简单的诊断程序)和红宝石一样贵重。甚至他们之中有些人还可以分辨
出哪些除错过程会造成拖延,哪些是令人疲惫的噩梦,哪些不过是些有益的麻烦。
如果你是一个网络新手,试着去找一个你有兴趣的正在发展中的程序,并且成为一个好的
beta 测试者。从帮忙测试到帮忙除错进而到开始帮忙修改程序,就象自然级数一样,你将学
到一些方法,并且和今后可以帮助你的人产生有益的联系。
3. 发布有用的信息
另一件好事是收集和过滤有用且有趣的信息,整理成Web 页或FAQ 列表之类的文档,并使
其可以使用。
维护主要技术的FAQ 通常可以获得和Open-Source 软件作者几乎一样多的尊敬。
4. 帮忙维护基础设施
黑客文化(和Internet 的发展)由一群志愿者运作。这种运转需要做一些非常乏味但又必须
的工作-- 管理邮件列表,维护新闻组,维护大型的软件存档站点,开发RFC 和其它技术
的标准。
做这类事的人将得到很多的尊敬,因为人人都知道这些工作需要耗费很多的时间,又不像摆
弄代码那样有趣。这样做显示了奉献精神。
5. 服务于黑客文化本身
最后一项,你可以为黑客文化本身服务和做宣传(例如,写一份正确的关于如何成为一名黑
客的初级读本:-))。这不是在你因做上面的四件事情而变得众所周知之前所应该做的。
准确来说,黑客文化并没有领导者,但是黑客文化存在着文化英雄、部落长老、史学家和代
言人。当你在其中混得足够久时,你也许也会成为这其中的一员。千万小心:黑客们并不信
任傲慢自大的长者,这种名声是非常危险的。与其去争论这种东西,倒不如坚定自己的立场,
并体现出谦虚而高尚的情操。
Hacker 和Nerd(怪人)的联系
与传说恰恰相反,你无须为了成为黑客而将自己变得异于常人(Nerd)。然而,这可能会有所
帮助,并且确实有许多黑客是不折不扣的怪人。背离社会可以帮助你将精力集中于真正重要
的事情,象思考和Hacking。
因此,许多黑客被贴上了‘怪人’的标签甚至以使用‘杂耍者’这样的字眼标示自己为傲--他们
以这种方式表明他们独立于世俗之外。可以在The Geek Page 找到更多相关的讨论。
如果你能对Hacking 保有足够的专注,并且还能正常地生活,那么非常好。现在想做到这样
比在1970年我还是个网络新手的时候要容易得多了。techno-nerd(技术怪才)现在也为主流文
化所接受。甚至有越来越多的人认识倒黑客通常也是很好的情侣和配偶。在Girl's Guide to
Geek Guys 可找到更多相关的讯息。
(http://www.bunnyhop.com/BH5/geekguys.html)
如果你是因为没有生计而关注Hacking,那也不错-- 至少你不会为不能专心而烦恼了,也
许过不了多久你就可以拥有你自己的生活了。
风范要点
再次强调,作为一个黑客就要以黑客的头脑思考。即使你的身边没有电脑,你仍有一些事情
可做。这些事情不能成为Hacking 的替代品(也没有东西可以),不过仍有不少黑客经常这
样去做,并认为这些事与黑客的本质有着某种基本的联系。
* 学习用你的母语写作,有惊人数量的黑客(包括我所知道的所有最出色的黑客)都是很好
的作家。
* 阅读科幻小说,参加科幻小说协会(这是一个遇到黑客和主流黑客们的好办法)。
* 学习禅教,并(或者)吸收战争艺术(重要的智力训练)。
* 训练你耳朵的辩音能力,学习鉴赏某种奇特的音乐,学玩一些乐器或如何唱歌。
* 增强俏皮话和文字游戏的能力。
你做了越多这样的事,那么你就越可能成为天生的黑客材料。这些事情虽然可能在细节上不
是十分的清晰,但对打造你的左右脑能力来说是至关重要的(黑客需要在瞬间对问题的内部
机制和次序逻辑做出判断)。
最后,有一些事千万别做:
* 不要使用愚蠢而夸张的User ID 或化名。
* 不要加入Usenet 上的激烈争论的战火(或任何其它地方的)。
* 不要cyberpunk(计算机朋客)自称,也不要在这些人身上浪费你的时间。
* 不要张贴和E-Mail 充满拼写和语法错误的作品。
做这些事的唯一结果就是嘲笑。隐藏身份是一种幼稚愚蠢的Crack 行为,黑客从不这么做;
他们为自己所做的一切自豪,并想方设法地将其与自己的真名联系在一起。如果你隐藏自己
的行为,在黑客的文化圈内你只能是个失败者。
回答者:李大忽悠- 高级经理六级3-20 14:53
如何成为一名黑客
什么是黑客?
Jargon File 中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的
解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要
的。(态度和技术)
长久以来,存在一个专家级程序员和网络高手的共享文化社群,其历史可以追溯到几十年前
第一台分时共享的小型机和最早的ARPAnet 实验时期。这个文化的参与者们创造了“黑客”
这个词。黑客们建起了Internet。黑客们使Unix 操作系统成为今天这个样子。黑客们搭起
了Usenet。黑客们让WWW 正常运转。如果你是这个文化的一部分,如果你已经为它作了
些贡献,而且圈内的其他人也知道你是谁并称你为一个黑客,那么你就是一名黑客。
黑客精神并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度对待其它事情如电子和
音乐---事实上,你可以在任何较高级别的科学和艺术中发现它。软件黑客们识别出这些在其
他领域同类并把他们也称作黑客---有人宣称黑客实际上是独立于他们工作领域的。但在本
文中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的哪个共享文化
传统之上。
另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计
算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并
不屑与之为伍。多数真正的黑客认为骇客们是些不负责任的懒家伙,还没什么大本事。专门
以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如拿根铁丝能打开汽车并不能
使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法
激怒真正的黑客。
根本的区别是:黑客们建设,而骇客们破坏。
如果你想成为一名黑客,继续读下去。如果你想做一个骇客,去读alt.2600 新闻组,并在
发现你并不像自己想象的那么聪明的时候去坐5到10次监狱。关于骇客,我只想说这么多。
---黑客的态度
黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。
要想被认为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备
这种态度,你就不得不真的具备这种态度。但是如果你想靠培养黑客态度在黑客文化中得到
承认,那就大错特错了。因为成为具备这些特质的这种人对你自己非常重要,有助于你学习,
并给你提供源源不断的活力。同所有有创造性的艺术一样,成为大师的最有效方法就是模仿
大师的精神---不是仅从理智上,更要从感情上进行模仿。
So,如果你想做一名黑客,请重复以下事情直到你相信它们:
1 这世界充满待解决的迷人问题
做一名黑客有很多乐趣,但却是些要费很多气力方能得到的乐趣。这些努力需要动力。成
功的运动员从健壮体魄,挑战自我极限中汲取动力。同样,做黑客,你必须
要有从解决问题,磨练技术,锻炼智力中得到基本的热望。如果你还不是这类人又想做黑客,
你就要设法成为这样的人。否则你会发现,你的黑客热情会被其他诱惑无情地吞噬掉---如金
钱、性和社会上的虚名。
(同样你必须对你自己的学习能力建立信心---相信尽管你对某问题所知不多,但如果你一点
一点地学习、试探,你最终会掌握并解决它。)
2. 一个问题不应该被解决两次
聪明的脑瓜是宝贵的,有限的资源。当这个世界还充满其他有待解决的有趣问题之时,他们
不应该被浪费在重新发明轮子这些事情上。作为一名黑客,你必须相信其他黑客的思考时
间是宝贵的---因此共享信息,解决问题并发布结果给其他黑客几乎是一种道义,这样其他人
就可以去解决新问题而不是重复地对付旧问题。
(你不必认为你一定要把你的发明创造公布出去,但这样做的黑客是赢得大家尊敬最多的人。
卖些钱来给自己养家糊口,买房买车买计算机甚至发大财和黑客价值也是相容的,只要你别
忘记你还是个黑客。)
3. 无聊和乏味的工作是罪恶
黑客们应该从来不会被愚蠢的重复性劳动所困扰,因为当这种事情发生时就意味着他们没有
在做只有他们才能做的事情---解决新问题。这样的浪费伤害每一个人。因此,无聊和乏味的
工作不仅仅是令人不舒服而已,它们是极大的犯罪。要想做的象个黑客,你必须完全相信
这点并尽可能多地将乏味的工作自动化,不仅为你自己,也为了其他人(尤其是其他黑客们)。
(对此有一个明显的例外。黑客们有时也做一些重复性的枯燥工作以进行“脑力休息”,或是
为练熟了某个技巧,或是获得一些除此无法获得的经验。但这是他自己的选择---有脑子的人
不应该被迫做无聊的活儿。)
4 自由就是好
黑客们是天生的反权威主义者。任何能向你发命令的人会迫使你停止解决令你着迷的问题,
同时,按照权威的一般思路,他通常会给出一些极其愚昧的理由。因此,不论何时何地,任
何权威,只要他压迫你或其他黑客,就要和他斗到底。
(这并非说任何权力都不必要。儿童需要监护,罪犯也要被看管起来。如果服从命令得到某
种东西比起用其他方式得到它更节约时间,黑客会同意接受某种形式的权威。但这是一个有
限的、特意的交易;权力想要的那种个人服从不是你的给予,而是无条件的服从。)
权力喜爱审查和保密。他们不信任自愿的合作和信息共享---他们只喜欢由他们控制的合作。
因此,要想做的象个黑客,你得对审查、保密,以及使用武力或欺骗去压迫人们的做法有一
种本能的反感和敌意。
5. 态度不能替代能力
要做一名黑客,你必须培养起这些态度。但只具备这些态度并不能使你成为一名黑客,就象
这并不能使你成为一个运动健将和摇滚明星一样。成为一名黑客需要花费智力,实践,奉献
和辛苦。
因此,你必须学会不相信态度,并尊重各种各样的能力。黑客们不会为那些故意装模做样的
人浪费时间,但他们却非常尊重能力---尤其是做黑客的能力,不过任何能力总归是好的。具
备很少人才能掌握的技术方面的能力尤其为好,而具备那些涉及脑力、技巧和聚精会神的能
力为最好。
如果你尊敬能力,你会享受提高自己能力的乐趣---辛苦的工作和奉献会变成一种高度娱乐而
非贱役。要想成为一名黑客,这一点非常重要。
基本黑客技术
黑客态度是重要的,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,
有一套基本的技术你必须掌握。这套基本技术随着新技术的出现和老技术的过时也随时间
在缓慢改变。例如,过去包括使用机器码编程,而知道最近才包括了HTML 语言。但现在
明显包括以下技术:
1 学习如何编程
这当然是最基本的黑客技术。如果你还不会任何计算机语言,我建议你从Python 开始。它
设计清晰,文档齐全,对初学者很合适。尽管是一门很好的初级语言,它不仅仅只是个玩具。
它非常强大,灵活,也适合做大型项目。
但是记住,如果你只会一门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一
个普通程序员的水平---你需要学会如何以一个通用的方法思考编程问题,独立于任何语言。
要做一名真正的黑客,你需要学会如何在几天内通过一些手册,结合你现在所知,迅速掌握
一门新语言。这意味着你应该学会几种不同的语言。
如果要做一些重要的编程,你将不得不学习C 语言,Unix 的核心语言。其他对黑客而言比
较重要的语言包括Perl 和LISP。Perl 很实用,值得一学;它被广泛用于活动网页和系统管
理,因此即便你从不用Perl 写程序,至少也应该能读懂它。LISP 值得学习是因为当你最
终掌握了它你会得到丰富的经验;这些经验使你在以后的日子里成为一个更好的程序员,即
使你实际上可能很少使用LISP 本身。
当然,实际上你最好四种都会。(Python, C, Perl, and LISP). 除了是最重要的四种基本语言,
它们还代表了四种非常不同的编程方法,每种都会让你受益非浅。
这里我无法完整地教会你如何编程---这是个复杂的活儿。但我可以告诉你,书本和课程也不
能作到。几乎所有最好的黑客都是自学成材的。真正能起作用的就是去亲自读代码和写代码。
学习如何编程就象学习用自然语言写作一样。最好的做法是读一些大师的名著,试着自己写
点东西,再读些,再写点,又读些,又写点....如此往复,直到你达到自己在范文中看到的简
洁和力量。
过去找到好的代码去读是困难的,因为很少有大型程序的可用源代码能让新手练手。这种状
况已经得到了很大的改善;现在有很多可用的开放源码软件,编程工具和操作系统(全都有
黑客写成)。这使我们自然地来到第二个话题...
2 得到一个开放源码的Unix 并学会使用、运行它
我假设你已经拥有了一台个人计算机或者有一个可用的( 今天的孩子们真幸福:-) )。新手
们最基本的一步就是得到一份Linux 或BSD-Unix,安装在个人计算机上,并运行它。
当然,这世界上除了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.
3 学会如何使用WWW 和写HTML
大多黑客文化建造的东西都在你看不见的地方发挥着作用,帮助工厂、办公室和大学正常运
转,表面上很难看到它对他人的生活的影响。Web 是一个大大的例外。即便政客也同意,
这个巨大而耀眼的黑客玩具正在改变整个世界。单是这个原因(还有许多其它的), 你就需
要学习如何掌握Web。
这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写HTML,Web 的标记语
言。如果你不会编程,写HTML 会教你一些有助于学习的思考习惯。因此,先建起自己的
主页。
但仅仅建一个主页也不能使你成为一名黑客。Web 里充满了各种网页。多数是无意义的,
零信息量垃圾。
要想有价值,你的网页必须有内容---必须有趣或对其它黑客有用。这样,我们来到下一个话
题....
黑客文化中的地位大教堂与集市”,解释了许多Linux 和开放源码文化的运做原理。我还在
它的续集“大教堂与集市”,解释了许多Linux 和开放源码文化的运做原理。我还在它的续集
“开拓智域”一文中有更直接的论述。
FAQ(常问问题解答)
问:你会教我如何做黑客吗?
自从第一次发布此页,我每周都会得到一些请求,要我“教会他如何做黑客”;遗憾的是,我
没有足够的时间和精力来做这个;我自己的编程项目已经占用了我110%的时间。
甚至即便我想教你也不可能,黑客基本上是一项需要你自行修炼的的态度和技术。你会发现
即使真正的黑客想帮助你,如果你乞求他们填鸭一样教你的话,你不会赢得他们的尊敬。
首先去学习。显示你在尝试,你能靠自己去学习。然后再去向黑客们请教问题。
问:你会帮我“黑”掉一个站点吗?或者教我怎么黑它?
No. 任何在读完FAQ 后还问此问题人,都是愚不可及的家伙,即使有时间我也不会理睬。任
何发给我的此类mail 都会被忽略或被痛斥。
问:哪里能找到真正的可以与之交流的黑客?
最佳办法是就近参加一个Unix 或Linux 的用户组,参加他们的会议。
问:我该先学哪种语言?
HTML, 如果你还不会的话.
但它不是一个真正的编程语言。当你准备编程时,我建议你从Python 开始. 会有很多人向
你推荐Perl,它比Python 还受欢迎,但却难学一些。
C 是非常重要的,但它却是最难学的。不要一开始就尝试学C。
问:开放源码的自由软件不会使程序员饿肚子吗?
这似乎不大可能---到目前,开放源码软件产业创造了而不是消灭了大量工作机会。
如果写一个程序比不写一个程序只是个纯粹经济上的收益的话,无论它是否免费,只要它被
完成,程序员都会从中得到回报。而且,无论软件是由多么的free 的方法开发的,对更新的
软件应用的需求总是会有的。
问:我从何学起?哪里有免费的Unix?
本页的其他地方指向最常用的免费Unix。要做一名黑客,你需要自立自强,以及自我教育
的能力。
现在开始吧......
参考资料:http://www.host01.com/Get/server/00070002/0542417261047661.htm

posted on 2011-08-13 12:04  Bryce.Xiao  阅读(7875)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3