文章摘录自大教堂与集市:附录A 如何成为一名黑客,个人认为其中强调的对待问题态度、学习的方法到现在读起来也还颇有价值。
黑客的基本态度
黑客解决问题并作出东西,他们相信自由,并自愿地互相帮助。
重复下面这些事,直到你信奉它们:
1. 这个世界充满了迷人的问题等待人们去解决
你必须要对解决问题、磨砺技能和智力挑战有着基本的兴奋感,否则能量就会被性、金钱以及社会认可这类东西慢慢耗尽。
你还必须要培养一种对自己学习能力的信心 --- 你要相信,即便你没有掌握解决某个问题所需的全部知识,如果你成功处理了其中一小部分并且从中学到东西,你将会学到足够多的知识去解决下一部分 --- 如此往复,最终你会解决整个问题。
2. 不要解决一个问题两次
创造性头脑是无比珍贵的有限资源,他们不应该浪费在重复发明轮子这种事上,尤其是有这么多迷人的问题在那里等着的时候。
3. 无聊和乏味是有害的
黑客(以及有创造性的人们)应该从来不会觉得无聊,也不会去做那些乏味而愚蠢的重复性工作,如果这种事情发生,意味着他们没有做他只有他们才能做的事 --- 解决新问题。
要当一名黑客,你必须非得非常相信这一点,并且希望尽可能将那些无趣的事情自动化。
4. 自由是件好事
5. 态度不能代替能力
要想成为一名黑客,你需要智慧、实践、投入和努力。
你必须学会持怀疑态度并且尊重每种能力,在任何事情上的能力都是好的。
那种只有极少数人能驾驭的技术能力尤其好,那种需要思维敏锐、动手能力强和全神贯注的技术能力最好。
如果你崇尚能力,你会从动手开发中获得乐趣 --- 辛苦的工作和投入将成为紧张的比赛而不是苦工。
黑客的基本技能
1. 学习如何编程
你可以从书本上学习到语言特征,但那只是皮毛,要想获得将知识转化为技能的思维模式,只能通过实践和跟随大师。
做法就是读代码和写代码。
学习编程就像是如何写好自然语言,最好的方式是阅读大师们的东西,然后写你自己的东西,多读一些,多写一些,再多读一些,再多写一些,如此循环往复,直到你写的东西开始发展出你在经典中所体会到的力量和简洁。
2. 找一个开源Unix,学习使用和运行它
除了Unix,这个世上还有其他操作系统,但都是以二进制发布的 - 你没有代码可读,没有代码可改,尝试在DOS、Windows、MacOS上学习黑客技能就像全身打着石膏学习跳舞。
找一个Unix,学习它、运用它、捣鼓它、用它和互联网对话、读它的代码、该它的代码,你会得到比微软操作系统下不知道好多少倍的编程工具,你会乐在其中,你吸收的知识会比你当时意识到的更多。
3. 学习如何使用WWW和写HTML
有一个主页,和让你成为一名黑客相去甚远,网上到处都是主页,但但多数是毫无意义和毫无内容的泥巴。要想有价值,你的网页必须要有内容,必须有趣或者对其他黑客游泳。
黑客的地位
黑客文化靠声誉运转,你在尝试解决一些有趣的问题,但问题到底多有趣,你的方案有多好,是由你的技术同行或上司来判断的。
你之所以获得地位和荣誉,不是通过支配别人,不是通过美貌,也不是通过拥有别人想要的东西,而更多是通过给出。特别是给出你的时间、给出你的创造力、给出体现你技能的成果。
基本上讲座一下五件事情,会让你得到其他黑客的尊重:
1. 写开源软件
写出其他黑客认为有趣或有用的程序,然后将程序源码发布给整个黑客文化。
2. 协助测试和调试开源软件
3. 发布有用的信息
收集、过滤哪些有用并且有趣的信息,将他们放到网页或者类似FAQ列表的文档中,并让人们看到。
4. 帮助做一些基础工作
黑客文化和互联网的发展是靠志愿者推动的,有很多必要但并不吸引人的工作需要有人来做,这些事情不像玩代码那样有趣,做这些事情体现了奉献精神。
5. 服务黑客文化自身
比如,你可以宣传和服务黑客文化自身。