好程序员 + 烂技术 = 痛苦 - 开源中国社区
好程序员 + 烂技术 = 痛苦
oschina 2016年01月19日

好程序员 + 烂技术 = 痛苦

oschina oschina 发布于2016年01月19日 收藏 64 评论 42

腾讯云 十分钟定制你的第一个小程序>>>  

quote-when-we-had-no-computers

我所说的“关于程序员的痛苦的一种悖论”描述如下:

“好的程序员大部分的时间都在干他们厌恶的事情、使用他们厌恶的技术和工具。”

这是反常理的,看上去就是悖论;你会认为程序员才会把时间都花在烂技术上,优秀的程序员会把时间花在那些尖端的技术上。不是吗?

我在自己的体验中发现了这个悖论,直到后来我才明白为什么会是这样。

什么样的工作会让程序员们厌恶不已?

这对一些有经验的程序员来说并不是什么新闻,但我要把这向那些非编程人员解释一下:

好程序员厌恶做那些本来可以自动完成的事情。如果一个程序员被指使去做一个机器(通常是电脑)能自动完成的事情,他会非常的懊恼。程序员的志向是让机器尽可能多的替他们完成任务,只有剩下的一些机器不能完成的工作才会自己出手。

这是一个程序员应该具有的一种非常有益的本能。

一个简单的需要自动完成的工作的例子: 想象一个程序员浏览一个有1000行代码的文件。他想找到第791行,因为这一行被认为有问题需要修改。但编辑器现在显示到第30行。大多数人都会简单的 拖动滚动条一直到自己想要的那一行。但一个好程序员是不会去干这样的事情的。他们会使用一个能够使他们直接跳到特定行的编辑器。例如,在我使用的编辑器 里,“Ctrl-L -> 791 -> Enter”就能做这样的事情。

这个例子很简单;更复杂的例子有很多。

好的程序员厌恶做重复性的工作的原因是,这些小事情会打断程序员的思绪。思绪是一个脆弱的东西;一旦思绪被打断,需要花很久才能再接起来。如果你每5分钟就被这种体力工作打搅一次,你的思绪就无影无踪了。

在日常工作中,程序员需要处理各种各样的技术工作、使用各种各样的工具。程序员喜欢那种含“体力劳动”相对较少的工作。程序员喜欢那些只需要很少的 体力劳动的技术和工具(Python,Django,git等都属于这一类),讨厌那些需要大量体力劳动的技术和工具。(这个我就不举例了:)

但程序员必须即要处理那些有趣的自动化的技术,同时也要做那些讨厌的,需要体力劳动的工作。好的程序员会尽可能的使他们的生活远离那些烂技术,但总 有一些很糟糕的技术他不能简单的抛弃。有时是因为他们开发的产品需要这种技术;例如,所有的web开发程序员都必须要跟HTML打交道,但HTML里有很 多很讨厌的属性。有时一些很烂的技术不能抛弃只是因为有大量的人在使用他们,程序员必须去使用它们。

大部分的时间都是花费在了烂技术上

从这个角度看,你就能很清醒的理解这个悖论为什么会出现了。烂技术会用掉大量的时间和精力。好的技术只需要很少的时间和精力。程序员每天的时间和精 力是有限的。这有限的资源中很多一部分被投入到烂技术上,正是因为烂技术需要你付出更多。换句话说就是,他们主要的日常工作都是在跟他们讨厌的技术和工具 打交道。因此,好程序员很痛苦。

我希望我的这篇文章最终能给解决这个问题带来一些启示,但估计不会很多。我们能做的事情就是尽量的抛弃那些烂技术,使它们远离我们的生活,而那些暂时抛弃不了的,我们只能忍受。

英文地址:http://blog.garlicsim.org/post/2840398276/the-miserable-programmer-paradox

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:好程序员 + 烂技术 = 痛苦
分享
评论(42)
最新评论
0

引用来自“__JM_Joy__”的评论

我每天用着设计错误的键盘,写着设计丑陋的语言。
如果我们什么都相信,那我们将走上错误的道路;如果我们什么都不相信,那么我们连走错路的机会都没有。
0
php是世界上最好语言,没得辨
0
那我可以自认为为好程序员吗?
0
浏览器兼容就是此类问题,悲催的是这个问题还无解!!
0

引用来自“土豆BT”的评论

坏程序员+烂技术=快乐?
这么想其实也对,人生在世难得糊涂。太较真反而痛苦。哈哈。
0
只有过时与否,技术没有好坏。
0
傻子们,尼玛叫你回家吃饭了!
0
努力让自己更优秀!嗯! !~
0
坏程序员+烂技术=快乐?
0

引用来自“ios之王”的评论

好技术应该是让复杂的事情能够变简单,让程序员更轻松,所以微软的.NET才是最棒的技术,大大解放了程序员,Java,PHP,ObiectiveC 2个小时要做到事情,C#.NET几秒钟就搞定了!

引用来自“eechen”的评论

我觉得应该是2小时还没装好宇宙最强IDE屎丢丢(Studio)吧.
PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量.
在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!
0

引用来自“ios之王”的评论

好技术应该是让复杂的事情能够变简单,让程序员更轻松,所以微软的.NET才是最棒的技术,大大解放了程序员,Java,PHP,ObiectiveC 2个小时要做到事情,C#.NET几秒钟就搞定了!
黑的太没完没了就很没意思了
0
技术学越多越想图霸但越瞧不起基础工作,当然痛苦了

我每天都痛苦地思考如何用程序消灭地球人
0
文章是说好程序员大部分时间受烂技术的折磨 所以为什么评论区会变成比语言..... php这种只能做网站的东西有什么好吹的 想简洁代码少去搞lisp啊有卵用
0
ios之王 和eechen 要打起来了
0

引用来自“eechen”的评论

PHP一行代码就可以把远程图片保存到本地:
file_put_contents('/tmp/logo.gif',file_get_contents('http://www.baidu.com/img/bdlogo.gif'));
Java没有这样省力省心的函数,JAVAer辩驳说不就是封装吗,我就想说,等你封装好,是不是已经花掉了你一天中的有限的精力的一部分呢?

引用来自“阿债”的评论

这样举例就肤浅了
应该是这位php大神最近学到了用php下载图片而已,2333

exec("wget http://www.baidu.com/img/bdlogo.gif"),无视任何语言这种形而上学回归本质的通用下载图片方法
0

引用来自“ios之王”的评论

好技术应该是让复杂的事情能够变简单,让程序员更轻松,所以微软的.NET才是最棒的技术,大大解放了程序员,Java,PHP,ObiectiveC 2个小时要做到事情,C#.NET几秒钟就搞定了!
我觉得应该是2小时还没装好宇宙最强IDE屎丢丢(Studio)吧.
0
791G
0
但我觉得必须要做好这些烂技术,你才会有机会做那些好技术的工作
0

引用来自“ios之王”的评论

好技术应该是让复杂的事情能够变简单,让程序员更轻松,所以微软的.NET才是最棒的技术,大大解放了程序员,Java,PHP,ObiectiveC 2个小时要做到事情,C#.NET几秒钟就搞定了!
高级黑
0
好技术应该是让复杂的事情能够变简单,让程序员更轻松,所以微软的.NET才是最棒的技术,大大解放了程序员,Java,PHP,ObiectiveC 2个小时要做到事情,C#.NET几秒钟就搞定了!
顶部