说起黑客,大家应该都听说过,不少人肯定还会想到美国大片里这样一个场景:电脑屏幕上显示多个窗口,一名黑客的手指在键盘上快速的敲打着,屏幕上滚动着我们根本看不清的一个个命令行,并且在屏幕中间有一个进度条,显示着百分比,并在不断增加,这时候的气氛会非常紧张,在进度条最终到达100%时,主人翁和观众都大呼一口气。对,在大众眼里,“黑客”就是入侵计算机的人。
可是,在程序员眼里,“黑客”是最优秀的程序员。他们可以随心所欲地支配计算机。“黑”(hack)这个词也有两个意思,既可以用作赞美,也可以用作羞辱。如果你解决问题的方式非常丑陋笨拙,这叫做你很“黑”。如果你既觉问题的方式非常聪明高超,将整个系统操作在股掌之间,这也叫做你很“黑”。日常生活中,前一种的意思更多见,可能因为丑陋的做法总是多于聪明的做法。
但是,“黑”的这两个意思也是相关的。丑陋的做法和聪明的做法存在一个共同点,那就是都不符合常规。比如刚学C语言时,要求用*打出一个直角三角形的图案,其实出题的目的在于使用循环结构,但是连续调用printf也能打印出来,这就是不符合常规的丑陋做法;如果你提出充满想象力的新概念,推翻欧几里得空间,那是不符合常规的聪明做法。从“丑陋”到“聪明”,这之间存在一种连续性渐变。
其实,在20世纪60年代黑客这个词被发明的时候,完全是正面意义上的称呼。TMRC使用这个词是带有敬意的,因为在她们看来,如果要完成一个hack,就必然包含着高度的革新、独树一帜的风格、精湛的技艺。最能干的人会自豪地称自己为黑客。这时,“黑客”这个词不仅是第一流能力的象征,还包含着求解问题过程中产生的精神愉悦或享受。也就是说,黑客就是有精神追求的。
《新闻周刊》记者史蒂文·利维出版了历史上第一本介绍黑客的著作——《黑客:计算机革命的英雄》。在该书中,他进一步将黑客的价值观总结为六条“黑客伦理”(hacker ethic)。
(1)使用计算机以及所有有助于了解这个世界本质的事物都不受到任何限制,任何事情都应该亲手尝试。
(2)所有信息应该都是自由的。
(3)不信任权威,提倡去中心化。
(4)判断一名黑客的能力应该看他的技术能力,而不是看他的学历、年龄或地位等其他标准。
(5)你可以用计算机创造美和艺术。
(6)计算机使生活更美好。
基于这六条黑客伦理,为了澄清“黑客”这个概念,只有传统意义上的黑客才能被称为hacker,而那些恶意入侵计算机系统的人应该称为cracker。而这个观点在程序员社区中已经得到普遍认同。