喜欢编程的原因
来源:互联网 发布:网易经典评论知乎 编辑:程序博客网 时间:2024/06/09 23:58
以下转自阮一峰的博客http://www.ruanyifeng.com/blog/2009/10/why_i_love_programming.html
我不知道别人的情况,我自己喜欢编程,很大的原因就是觉得程序的世界更公平公正,谁对谁错,只要运行一下代码就知道了。这同现实世界截然不同,在现实的世界中,只要你有权有钱,善于搞人际关系和钻制度的空子,你就能把错的说成对的,把黑的说成白的。老老实实、埋头苦干的人,眼睁睁看着乾坤颠倒、小人得志,而只能束手无策、一筹莫展。
我们生活的这个国家,是一个禁止自由思考、党决定一切的国家。在这里,如果你想不撒谎、不干坏事、并且被公正地对待,那么可能你只能去编程了。
==================
不搞政治
作者:Joel Spolsky
译者:阮一峰
老实说,只要有两个以上的人待在一起,就会有政治。这很自然。我说"不搞政治"的真正的意思是"不搞恶性的政治"。程序员早就练出了对公正有非常良好的判断力。代码要么能运行,要么不能。坐在那里争论代码是否有问题,这是毫无意义的,因为你可以运行代码,答案自然就有了。代码的世界是非常公正的,也是非常严格有序的。许许多多的人选择编程,首要的原因就是,他们宁愿将自己的时间花在一个公平有序的地方,一个严格的能者上庸者下的地方,一个只要你是对的就能赢得任何争论的地方。
如果你要吸引程序员,你就必须去创造出这样一个环境。当一个程序员抱怨"人际关系复杂"时,他们的意思明白无误,就是指任何个人因素超过技术因素的环境。程序员在完成手头任务时,不被允许使用最合适的编程语言,而是被命令只能使用另一种特定的语言,原因仅仅是老板喜欢这种语言;没有什么比这更让人气愤了。晋升的原因不是成果,而是人际关系;没有什么比这更让人抓狂的了。程序员被迫去做技术上落后的东西,仅仅因为上级或者得到上级支持的人坚持这样;没有什么比这更让人发火了。
没有什么比因为技术原因赢得一场由于政治原因本来要输掉的争论更让人心满意足了。当我在微软公司刚开始工作的时候,有一个正在开发中的大型项目走入了歧途,项目的代号是MacroMan,目标是创造一种图形化的宏语言。真正的程序员遇到这种语言会很有挫折感,因为图形的特性让你真地没有办法完成循环和条件判断功能。此外,对于那些非程序员的用户,这种语言也不会有很大作用,因为我觉得那些用户不会习惯算法思维,没有办法很快地理解MacroMan。当我说出对MacroMan的负面评价时,我的老板告诉我:"如果火车要出轨,没有东西能够阻挡。算了吧。"但是,我还是不放弃,一再地不断地争论。那时我刚走出学校,在微软公司中差不多跟谁都没有利害关系,所以,渐渐地,人们开始倾听我的核心观点,MacroMan后来终止开发了。我是谁并不重要,重要的是我是对的。非政治性的组织就应该这样,这种组织才会让程序员感到高兴。
总的来说,关注你的组织的社交动态变化,对创造一个健康的、令人愉悦的工作环境是很关键的,这样可以留住程序员和吸引程序员。
————————————————分割线————————————————
确实是,作为一个较真的人,一个渴望公平的人,编程确实提供了这样的环境。当然,很显然,它不可能完全公平,但至少相对其他来说比较公平,这就足以。即使我个性有些懒散,但至少我可以慢慢努力,在这个比较公平的环境下一步步前进。
- 喜欢编程的原因
- 我喜欢汉语编程易语言的原因
- 我喜欢微服务,函数式编程的原因
- 组合滑梯受小孩喜欢的原因
- 【51testing】喜欢软件测试的原因
- 我喜欢领域驱动设计的原因
- 我喜欢的编程工具
- 喜欢编程
- IT专业人士不招人喜欢的10大原因
- 程序员被人喜欢的13点原因
- 大家喜欢 Python的原因竟然是……
- 微妙的喜欢上了编程的感觉
- 自己动手合成喜欢的编程字体
- [编程题] 小易喜欢的数列
- [编程题] 小易喜欢的数列
- 推荐给喜欢挑战编程的学生
- 我比较喜欢编程,也喜欢自学一些新的东西
- 我比较喜欢java,喜欢安卓编程,同时谈下自己的一些技能
- 自定义表类型可以用于存储过程的传值,示例如下
- VC 最爱问的问题:你这个创业项目,如果腾讯跟进了,而且几乎是产品上完全复制,你会怎么办?
- 导出用于发行的 Apple iOS 包
- 雷锋微视点:历时五年,塞班终被诺基亚始乱终弃
- Java -在Eclipse上使用XFire开发WebService
- 喜欢编程的原因
- 常用电子方面的网站1(IC、PDF)
- 给Java应用程序添加背景图片
- ScrollView嵌套GridView、ListView的解决办法
- AJax案例之Hello World!
- 常用电子方面的网站2(PCB)
- Android应用中通过AIDL机制实现进程间的通讯实例
- jxl 实现导出excel
- 完全用Linux工作之一(摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质)