什么是“黑客”

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 王珢的更多相关文章

  1. (转)完全用GNU/Linux工作 by 王珢

    完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...

  2. (转)为什么需要正则表达式 by 王珢

    为什么需要正则表达式 by 王垠 学习Unix最开头,大家都学过正则表达式(regexp).可是有没有人考虑过我们为什么需要正则表达式? 正则表达式本来的初衷是用来从无结构的字符串中提取信息,殊不知这 ...

  3. (转)对博士学位说永别 by 王珢

    对博士学位说永别 by 王垠 经过深思熟虑之后,我决定再次“抛弃”我的博士学位.这是我第三次决定离开博士学位,也应该是最后一次了.这应该不是什么惊人的消息,因为我虽然读博士10年了,可是我的目标从来就 ...

  4. (转)名称和本质 by王珢

    名称和本质 by 王垠 我很喜欢 Richard Feynman 写的 <What Do You Care What Other People Think>.在最开头 Feynman 讲到 ...

  5. (转)小小科学家的归来 by 王珢

    小小科学家的归来 by 王垠很多人来信关心我的现状,所以在写别的技术性文章之前,先说说我现在的情况吧.虽然自己追求的东西和经历都比较不同寻常,但是也许可以给奋斗中的人们一些慰藉和鼓励. 首先是超级好消 ...

  6. (转)我看PhD by 王珢

    我看PhD by 王垠 前段时间看了一下这些关于 PhD 的负面信息: 一个专门反对读 PhD 的 BLOG 叫“100 Reasons NOT to Go to Graduate School”(下 ...

  7. 帝国备份王(Empirebak) \class\functions.php、\class\combakfun.php GETSHELL vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 EmpireBak是一款完全免费.专门为Mysql大数据的备份与导入而设 ...

  8. 王垠:完全用Linux工作

    来自: Zentaur(alles klar) 录一篇旧文 作者:王垠 完全用Linux工作,抛弃windows 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作 ...

  9. 黑客群体的露面说明互联网公司开始回馈IT行业了,

    揭开中国黑客群体的神秘面纱 年薪数百万 2015-04-26 09:59:45 15259 次阅读 14 次推荐 稿源:经济观察报 33 条评论   在网络世界有专属的代号,那里才是他们最习惯的“世界 ...

随机推荐

  1. Zookeeper开源客户端框架Curator简介

    Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情 ...

  2. xamarin android webview XHR错误

    Cross origin requests are only supported for protocol schemes MLHttpRequest cannot load file:///F:/G ...

  3. Curator Zookeeper分布式锁

    Curator Zookeeper分布式锁 pom.xml中添加如下配置 <!-- https://mvnrepository.com/artifact/org.apache.curator/c ...

  4. selenium 下载百度音乐并验证

    package baidu; import java.io.File; import java.io.IOException; import java.util.List; import org.ap ...

  5. java--连接SQL数据库获取验证码

    1.导入SQL相关的包: 可以下载:mysql-connector-java-5.1.39-bin.jar 将包导入到工程的方法:project(在工程名上点鼠标右键) -> Build Pat ...

  6. jquery的checkbox,radio,select等方法总结

    jquery的checkbox,radio,和select是jquery操作的一个难点和重点,很多前端新手对其了解不是很透彻.时间久了不用,我在写的时候有时也难免对某些操作支支吾吾,记不清楚,现在,对 ...

  7. FFmpeg介绍

    ---恢复内容开始--- FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常 ...

  8. 解决Eclipse Failed to write core dump. Minidumps are not enabled by default on client versions

    -XX:+CreateMinidumpOnCrash 如果还有问题,就只能看日志了 T_T

  9. yii asset 初步

    yii 版本是2.0 .8 我 js 目录 web->js->login.js 页面引入js方法一: $this->registerJsFile('@web/js/login.js' ...

  10. ble示例代码

    ble代码下载: https://github.com/sutogan4ik/Android-BLE-GATT-Master-Slave