你不知道的黑客

简介: 我相信大家对于『黑客』这个词并不陌生,特别是对我们搞计算机的人来说,那是相当的熟悉。在一般人的眼里『黑客』(hacker)就是入侵计算机的人,就是『计算机犯罪』的同义词。但是,它的原意并非如此。

前言

我相信大家对于『黑客』这个词并不陌生,特别是对我们搞计算机的人来说,那是相当的熟悉。

在一般人的眼里『黑客』(hacker)就是入侵计算机的人,就是『计算机犯罪』的同义词。但是,它的原意并非如此。

起源

在 20 世纪 60 年代初,麻省理工学院有一个学生团体叫做『铁路模型技术俱乐部』,他们把难题的解决方法称为 hack。

这里,hack作为名词有两个意思,既可以指很巧妙或很便捷的解决方法,也可以指比较笨拙、不那么优雅的解决方法。两者都能称为hack,不同的是,前者是漂亮的解决方法(cool hack 或 neat hack),后者是丑陋的解决方法(ugly hack 或 quick hack)。hack 的字典解释是砍(木头),在这些学生看来,解决一个计算机难题就好像砍倒一棵大树。那么相应地,完成这种 hack 的过程就被称为 hacking,而从事 hacking 的人就是 hacker,也就是黑客。

所以在 20 世纪 60 年代,『黑客』这个词是一种能力的象征,而且自称黑客的人他们比如包含着高度的革新、独树一帜的风格、精湛的技艺,也就是说在其他人的眼中,他们就是大佬。

自由软件基金会创始人理查德·斯托尔曼认为黑客的行为必须同时满足,好玩、高智商、探索精神三个特点才是真正的黑客。这也是黑客所追求的三种价值,而不是实用性或金钱。

从这个意思出发,我们有时也会用到这个,比如我平时在实现某一个功能的时候,用常规的方法解决不了(或者说当时想不到科学的解决方法),用了一半不是那么科学的方法(或者不知道为什么这种方法就可以解决这个问题)的时候,我们也许会说我们用了一种 hack 的方式来解决了这个问题,并且会在这个方法写上一个注释标识是 hack,因为有可能其他人不知道为什么要这么用。

黑客精神

在史蒂文·利维出版的黑客著作 ---- 《黑客:计算机革命的英雄》中,将黑客的价值观总结为六条『黑客伦理』:

  1. 使用计算机以及所有有助于了解这个世界本质的食物都不应该收到任何限制。任何事情都应该亲手尝试。
  2. 信息应该全部免费
  3. 不信任权威,提倡去中心化
  4. 判断一名黑客的水平应该看他的技术能力,而不是看他的学历、年龄或地位等其他标准
  5. 你可以用计算机创造美和艺术
  6. 计算机使生活更美好

根据这六条『黑客理论』,黑客价值的核心原则可以概括为:分享、开放、民主、计算机的自由使用、进步。

历史上一些最优秀的程序员都是『黑客』。包括 Unix 创始人丹尼斯·里奇和肯·汤普森,Linux 创始人莱纳斯·托瓦兹,『开源运动』创始人埃里克·雷蒙德,微软公司创始人比尔·盖茨等等。正式黑客把计算机推向了更高的高度。

『黑客』被误解的原因

根据『黑客伦理』,黑客就是不服从管教,具有叛逆精神,根据史蒂文·利维描述的就是:“对于黑客来说,关着门就是一种挑衅,而锁着门就是一种侮辱。 ······ 黑客相信,只有有助于改进现状、探索未知,人们就应该被允许自由地使用各种工具和信息。当一个黑客需要一样东西来帮助自己创造、探索或者改正某种设备时,他不会自找麻烦,不会接受那些财产专有权的荒谬概念。”

他们侵入计算机系统的原因不是为了自己利益,而是为了自由,跟那些计算机罪犯是不同的。

然而,在 20 世纪 80年代初,一帮青少年黑客入侵了美国和加拿大的一些计算机系统,被《新闻周刊》封面报道的标题就是『小心:黑客在行动』,这件事被广泛报道,在报道时媒体就把黑客的行为注意在一个很窄的方面:入侵系统。同时,那些入侵计算机的程序员也自称『黑客』,从此黑客在大众心中就成了有害人群。

结语

真正的黑客致力于改变世界,让世界运转得更好。

我们把传统意义上的黑客称之为 hacker,而那些而已入侵计算机系统的人应该称为 cracker(入侵者)。

作为程序员的我们都应该以传统意义的黑客为目标努力,也许你就是下一个黑客,下一个改变世界的人。

整篇文章大部分内容来自于《黑客与画家》,可以推荐给大家都去看下这本书,感受一下那个时代正真的黑客精神。
**
最后,大家可以在评论里面留言,你心目中最伟大的黑客都有谁。**

大家好,我是桃翁,我为自己代言!
目录
相关文章
|
JavaScript 前端开发
Vue实现模糊查询
Vue实现模糊查询
285 1
|
9月前
|
机器学习/深度学习 并行计算 测试技术
每天五分钟深度学习:解决for循环效率慢的关键在于向量化
通过本文的介绍,希望读者能够理解向量化的基本概念、优势及其在实际应用中的重要性,并能够在日常的深度学习工作中灵活应用向量化技术,从而提升工作效率和代码性能。
371 13
|
Ubuntu
解决办法:apt: 未找到命令
解决办法:apt: 未找到命令
2497 0
|
2月前
|
存储 人工智能 数据可视化
2025年技术团队必看:10款提升研发效率的知识管理工具深度评测
在数字化时代,知识管理已成为提升个人与企业竞争力的关键。2025年,随着AI、大数据和云计算的发展,知识管理工具正向智能化、协作化方向演进。本文精选10款必备工具,涵盖Notion、Obsidian、语雀、飞书文档等,助你构建高效知识体系,把握未来趋势。
215 0
|
存储 JSON API
Elasticsearch中的模板:定义、作用与实践
Elasticsearch中的模板:定义、作用与实践
|
Cloud Native Java 开发者
新一代Java框架Quarkus的性能优化与应用
新一代Java框架Quarkus的性能优化与应用
|
JSON 数据格式 Python
python 写入文件的中文乱码了怎么处理
如果在写入JSON文件时遇到中文乱码问题,你可以在使用`json.dump()`函数时设置`ensure_ascii`参数为`False`,以保留非ASCII字符的原始形式。这样可以确保中文字符正确地写入JSON文件。 以下是一个示例: ```python import json data = {"name": "张三", "age": 30, "city": "北京"} with open('data.json', 'w', encoding='utf-8') as file: json.dump(data, file, ensure_ascii=False) ``` 在这
583 0
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
707 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
算法 前端开发 JavaScript
SpringBoot+随机盐值+双重MD5实现加密登录
SpringBoot+随机盐值+双重MD5实现加密登录
1039 1
|
存储 自然语言处理 NoSQL
Graph + LLM|图数据库技术如何助力行业大语言模型应用落地
图数据库作为处理复杂数据结构的有力工具,为企业构建行业大语言模型提供了强大的支持。本文将探讨图数据库和图技术在帮助企业构建行业大语言模型方面的应用,以及它们如何提高语言模型的智能性和适用性。
Graph + LLM|图数据库技术如何助力行业大语言模型应用落地

热门文章

最新文章