(转)什么是“黑客” by 王珢
什么是“黑客”
by 王垠
很多程序员自豪的把自己叫做“黑客”(hacker),把编程叫做 hack。可是殊不知,其实在最高级的程序员眼里,“黑客”其实是一个贬义词。他们更愿意被叫做“程序员”(programmer),或者计算机科学家(computer scientist)。当然,你有可能以一个 hack 从“世界一流大学”拿到一个 PhD。但是 PhD 其实不说明任何问题,世界上有太多的人拥有 PhD,其中绝大部分都是 hack。hack 的本质是不会变的——它是低级的工作。
hack 的意思本来是这样的:当你没法改变一个东西的时候,如何绕过它的毛病达到目的。所以 hack 这个行为本身就包含了妥协和丑陋。偶尔做一些 hack 无所谓,可是被叫做“hacker”,就表示这个人不能从根本上解决问题,而只是知道如何 hack。比如,绕过某种语言的莫名其妙的毛病,实现一些在别的语言里早就可以轻松办到的事情。很多顶级的程序语言专家有能力设计新的语言,从而从根本上解决问题,而不是受到现有技术和语言的限制,所以他们对于“hacker”这个词有另外的看法。
当然我并不是歧视 hacker。实际上每个程序员在某些时候都需要 hack。但是我想说的是,我们不应该以 hacker 来称呼自己并且引以为豪,或者歧视那些不明白这些 hack 的人,因为这些 hack 其实是不需要存在的东西。所以何不自嘲一下:“我做的事情虽然有用,但是其实就是个 ugly hack。”
This article was posted at yinwang’s sina blog,
on 2012-07-02.
Though it’s not available on the blog now.
(转)什么是“黑客” by 王珢的更多相关文章
- (转)完全用GNU/Linux工作 by 王珢
完全用GNU/Linux工作 王珢 (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...
- (转)为什么需要正则表达式 by 王珢
为什么需要正则表达式 by 王垠 学习Unix最开头,大家都学过正则表达式(regexp).可是有没有人考虑过我们为什么需要正则表达式? 正则表达式本来的初衷是用来从无结构的字符串中提取信息,殊不知这 ...
- (转)对博士学位说永别 by 王珢
对博士学位说永别 by 王垠 经过深思熟虑之后,我决定再次“抛弃”我的博士学位.这是我第三次决定离开博士学位,也应该是最后一次了.这应该不是什么惊人的消息,因为我虽然读博士10年了,可是我的目标从来就 ...
- (转)名称和本质 by王珢
名称和本质 by 王垠 我很喜欢 Richard Feynman 写的 <What Do You Care What Other People Think>.在最开头 Feynman 讲到 ...
- (转)小小科学家的归来 by 王珢
小小科学家的归来 by 王垠很多人来信关心我的现状,所以在写别的技术性文章之前,先说说我现在的情况吧.虽然自己追求的东西和经历都比较不同寻常,但是也许可以给奋斗中的人们一些慰藉和鼓励. 首先是超级好消 ...
- (转)我看PhD by 王珢
我看PhD by 王垠 前段时间看了一下这些关于 PhD 的负面信息: 一个专门反对读 PhD 的 BLOG 叫“100 Reasons NOT to Go to Graduate School”(下 ...
- 帝国备份王(Empirebak) \class\functions.php、\class\combakfun.php GETSHELL vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 EmpireBak是一款完全免费.专门为Mysql大数据的备份与导入而设 ...
- 王垠:完全用Linux工作
来自: Zentaur(alles klar) 录一篇旧文 作者:王垠 完全用Linux工作,抛弃windows 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作 ...
- 黑客群体的露面说明互联网公司开始回馈IT行业了,
揭开中国黑客群体的神秘面纱 年薪数百万 2015-04-26 09:59:45 15259 次阅读 14 次推荐 稿源:经济观察报 33 条评论 在网络世界有专属的代号,那里才是他们最习惯的“世界 ...
随机推荐
- WebSocket介绍和一个简单的聊天室
WebSocket是什么呢? WebSocket一种在单个 TCP 连接上进行全双工通讯的协议.WebSocket通信协议于2011年被IETF定为标准RFC 6455,并被RFC7936所补充规范, ...
- Erlang--proplists结构解析
proplists 模块适用数据量较少的场景,处理配置文件和函数选项时常用.proplists对内部数据结构是Key-Value键值对形式,第一个元素做key用来查询和删除,如果一个key有多个值就会 ...
- Ubuntu 14.04 更换阿里云源[转]
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份 sudo vim /etc/apt/sources.list #修改 sudo ...
- C#中常用的系统内置委托
在公共语言运行时(CLR)环境中系统为我们内置了一些常用的委托,包括Action类的委托.Func类的委托.Predicate<T>委托.Comparison<T>委托等等.以 ...
- 【Java EE 学习 52】【Spring学习第四天】【Spring与JDBC】【JdbcTemplate创建的三种方式】【Spring事务管理】【事务中使用dbutils则回滚失败!!!??】
一.JDBC编程特点 静态代码+动态变量=JDBC编程. 静态代码:比如所有的数据库连接池 都实现了DataSource接口,都实现了Connection接口. 动态变量:用户名.密码.连接的数据库. ...
- C练习
int main() { int a; //scanf函数只接受变量的地址 //scanf函数是一个阻塞式的函数,等待用户输入 // 用户输入完成后,就会将用户输入的值赋值给变量a //函数调用完毕 ...
- jQuery Validate验证框架详解
转自:http://www.cnblogs.com/linjiqin/p/3431835.html jQuery校验官网地址:http://bassistance.de/jquery-plugins/ ...
- 【BZOJ】4144: [AMPPZ2014]Petrol
题意 给定一个\(n\)个点.\(m\)条边的带权无向图,其中有\(s\)个点是加油站.每辆车都有一个油量上限\(b\),即每次行走距离不能超过\(b\),但在加油站可以补满.\(q\)次询问,每次给 ...
- linux shell重定向总结
command-line1 [-n] > file或文件操作符或设备 command-line1 [-n] >> file或文件操作符或设备 >suc.txt >err. ...
- 软件工程:黄金G点小游戏1.0
我们要做的是黄金G点小游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值. ...