Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


只有程序员了解的9个真相

对于相关的计算机和代码知识,通常说来程序员比一般人要了解得多,下面我将为大家揭晓一些业内人士不会诉诸于口的真相。

真相#1

“你所不知道的是,很多我们每天都使用的关键软件(如Mac OS X和Facebook),作为一个整体虽然可以正常工作,但是实际上它们的背后充斥了各种的弊端和缺陷。这就像是你兴致勃勃地拆开了一架全新的747飞机,但是却发现燃料线是由衣架固定的,起落架是用胶带粘贴的。” ——Ben Cherry

这其实是非常有意思的一件事:网页和程序外观精美、运行流畅,但是却很有可能只是完美在前端上(用户所能看到的那一部分)。它们的背后其实千疮百孔、满是错误,不过因为某些神奇的原因,居然也可以正常工作。

真相#2

“编写应用程序时,大概25%的时间是花在思考最终用户将会做哪些蠢事上的。”——Brian Humes

不过,25%这个数值会根据开发人员和程序员的作为而上下浮动。每次构建产品时,我们都需要坐下来思考最终用户将会如何把这个程序搞的一团乱。他们会点击什么,他们会写什么,问题的措辞,使用的语言,以及我们的写法所造成的不同理解。如果不注意这一点,那么就会出现很多问题,这是因为虽然我们知道程序是如何工作的,但是最终用户是不懂的。

真相#3

“程序员不是修电脑的。” ——Ritesh Kumar Gupta

程序员是搞算法和设计原则的,不是一个修电脑的。我们知道电脑的内部工作原理,代码是如何协作的,但是,我们并不知道如何修理硬件,不知道为什么每次打开浏览器就崩溃,也不知道为什么电脑发热过度。请不要用一种“这种事对你们而言就是小菜一碟”的眼光看待我们。

真相#4

“编程是一种思想,而不是敲代码。” ——Casey Patton

编程并不是说,只要你安安静静地坐下来,写个上千行代码,发布程序或应用程序的意思,编程其实是一种思想,一种解决问题的方法。而放松则是思考出方法的关键。

真相#5

从零开始计算,而不是从一开始。

我们是从0开始计数的,所以你的“1”是我的“0”,你的“10”是我的“9”。之所以这么做,是因为这可以大规模地改善效率。

真相#6

“一旦进入状态,编程就犹如神助——这种全神贯注的状态能让任何问题都变得小菜一碟。”——Morgan Johansson

知道为什么程序员被称为夜猫子吗?知道为什么我们常常熬夜吗?因为这样能让我们进入一种专注的状态,而不必担心会被其他人打断——因为他们都睡着了,这些烦人的家伙终于闭上了他们唧唧歪歪的嘴。真是一个伟大的编程时间啊!

真相#7

告诉你个秘密,带着问题睡觉,实际上可以解决这个问题。

很多时候,我遇到那种花了几个小时都解决不了的问题,我就会去睡一觉。通过20分钟,一小时,六小时,十二小时的睡眠,醒来之后,问题答案就自然而然地出来了。

真相#8

分配下来的任务却不再需要,就像父母杀掉孩子。

我们写的程序其实都类似于这样的层次结构。Parent管理它下面的Child。

现实中,如果父母不想要孩子,会去做流产。而在程序中,如果不再需要需要某些任务,那么会切断其与服务器的联系,杀掉这个孩子。

最后,真相#9

当我们吹嘘我们有多么了解电脑时,你通常会不屑一顾,同样的,你的自吹自擂也让我们觉得好烦。

老实说,这真的很烦,我们真的一点也不关心你对于计算机的了解。如果你说“我对于计算机不是很懂”,或者“我对计算机编程不是很感兴趣”那还是可以理解的,但是自吹自擂,班门弄斧就会让我们厌烦了。请规避这种行为吧。

发表评论


最新评论

我也要发表评论

_Dreamer 2015-4-19 10:30
1
天丶斗 发表于 2015-3-22 10:33 的评论:
应该是真相0~真相8
这篇文章应该不是资深程序员写的。。。
1 回复
夜域诡士 2015-4-18 22:58
都有同感,尤其是6、7条,简直是精辟
12 回复
来自 - 广东韶关 的 Chrome/Windows 用户 2015-3-24 00:42
同感!
回复
天丶斗 2015-3-22 10:33  新浪微博网友评论
应该是真相0~真相8
回复
Yaso-T 2015-3-21 22:15
哈哈 好有道理,我竟然无言以对~:)
回复
lixiaolechina 2015-3-21 11:41
人生三大错觉
5 回复
hyplove 2015-3-21 10:38
1
BrianChen- 发表于 2015-3-20 20:03 的评论:
程序员真的不是修电脑的。
个人观点:觉得修电脑是程序员的义务,首先要想让自己写的程序正常运行,那就得有一个良好的运行环境,那就是要有一个好的电脑。所以把坏的电脑修好能让自己的程序在上面跑起来我觉得是一种义务!当然这个也希望能在工作中纳入业绩考核!
15 回复
hyplove 2015-3-21 10:35
1
文剑一飞 发表于 2015-3-21 08:55 的评论:
真相4……永远的追求,这是我在学校学习不到的,也是盲目做项目学不到的。忽然想起了法国的高考作文题。
这不是追求,其实就是一种正常的状态。自我从公司的工作来感觉:将公司分配的任务与编程联系到一起,怎么通过程序完成这项任务,然后思考程序要怎么写,最后达成怎样的效果,第一次完成,效果没达到,然后停下来继续思考,哪里想的不对,哪里欠缺了什么,再次进行修补,最终达到要求。我觉得这个过程就是在印证:编程是一种思想,敲代码只是将其在现实世界中实现。
8 回复
文剑一飞 2015-3-21 08:55
真相4……永远的追求,这是我在学校学习不到的,也是盲目做项目学不到的。忽然想起了法国的高考作文题。
8 回复
聪明的阿鑫 2015-3-21 01:03  新浪微博网友评论
[喵喵][喵喵]
5 回复
厨师不识菜谱 2015-3-20 22:33  新浪微博网友评论
我对于计算机不是很懂[馋嘴]
6 回复
姚成昊爱罗比塔 2015-3-20 22:33  新浪微博网友评论
带着问题睡觉通常会因为问题睡不着觉[拜拜] //@慕课网PHP学习小组:程序员不是修电脑的[哈哈]多么痛的领悟
7 回复
Abdul-ReshiD 2015-3-20 21:03  新浪微博网友评论
是呢//@慕课网PHP学习小组: 程序员不是修电脑的[哈哈]多么痛的领悟
1 回复
我_张涛 2015-3-20 21:03  新浪微博网友评论
@我的印象笔记
1 回复
慕课网PHP学习小组 2015-3-20 20:03  新浪微博网友评论
程序员不是修电脑的[哈哈]多么痛的领悟
2 回复
BrianChen- 2015-3-20 20:03  新浪微博网友评论
程序员真的不是修电脑的。
2 回复
宋万伟_ops 2015-3-20 18:33  新浪微博网友评论
[哈哈]
6 回复
回望一江春水 2015-3-20 17:33  新浪微博网友评论
“编写应用程序时,大概25%的时间是花在思考最终用户将会做哪些蠢事上的。”//@LUPA开源社区: 转发微博
1 回复
Catastrophe81 2015-3-20 17:03  新浪微博网友评论
……逼格甚高……就一个二进制还要说从0计算……
10 回复
Capricorn90 2015-3-20 16:33  新浪微博网友评论
我还没到程序猿的级别,但这些,真的都懂
5 回复
12下一页

热点评论

hyplove 2015-3-21 10:38
个人观点:觉得修电脑是程序员的义务,首先要想让自己写的程序正常运行,那就得有一个良好的运行环境,那就是要有一个好的电脑。所以把坏的电脑修好能让自己的程序在上面跑起来我觉得是一种义务!当然这个也希望能在工作中纳入业绩考核!
15
夜域诡士 2015-4-18 22:58
都有同感,尤其是6、7条,简直是精辟
12
Catastrophe81 2015-3-20 17:03
……逼格甚高……就一个二进制还要说从0计算……
10
文剑一飞 2015-3-21 08:55
真相4……永远的追求,这是我在学校学习不到的,也是盲目做项目学不到的。忽然想起了法国的高考作文题。
8
hyplove 2015-3-21 10:35
这不是追求,其实就是一种正常的状态。自我从公司的工作来感觉:将公司分配的任务与编程联系到一起,怎么通过程序完成这项任务,然后思考程序要怎么写,最后达成怎样的效果,第一次完成,效果没达到,然后停下来继续思考,哪里想的不对,哪里欠缺了什么,再次进行修补,最终达到要求。我觉得这个过程就是在印证:编程是一种思想,敲代码只是将其在现实世界中实现。
8
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。