



好文章是要转的,此文为转帖……
作为程序员,我们应该对开发环境和工具软件有着严肃的态度,真正弄明白各类工具的用法和用途,好歹这些是我们吃饭的家伙,是不是?不会使用各种开发工具的程序员,不是个好程序员:你拖了团队的后腿,减少了大家的工具选项,降低了团队的开发水准。另一方面,不知道该在什么项目中采用什么开发工具的,也不是好 的team leader,眼界太窄,更可能影响开发的成败。强大的开发工具并不是在各方面都强大,尺有所短,寸有所长。
不想当将军的士兵不是好士兵,在我眼你,不愿意研究开发工具的人也不是个好程序员,这样的人很多很多,浮躁而不自知,自大而不自信,不尊重自己的工作,也 不知道尊重前辈的知识。就这么浑浑噩噩在开发圈子里混着,一年两年,逐渐对自身的待遇不满,也逐渐不能胜任工作的要求。
10年前,正是互联网泡沫第一次开始破灭的开端,一家家公司接连倒闭,很多刚入职几个月的计算机专业的学生很快又得再次求职……程序员的贬值,程序员队伍整体水平的滑坡,正是从那时开始的。回忆当时,一般的程序员还真不敢自称高手。
作为一个断续做了6年windows开发,断续做了11年Linux开发(中间有重合的交集)的老程序员,我换过若干家公司,经历过一些不同性质的项 目,windows下mfc的,纯sdk的,数据库的,c/s、b/s的,ddk的(有早期的vxd,也有后来的wdm)经历过,linux下的小驱动, 通讯设备研发,媒体设备研发也做过不少,还有业余做的php、ror项目,现在更是专职在做大流量高并发的……在线游戏后台,为玩家们提供坚固的精神鸦片 支撑。用过的语言和工具比较多了,从在校学习的tc2、bc++3开始,到自学的vc、delphi、bcb,还有些忘了名,但第一份工作用的工具vc。 从vc4开始的,后来一直升级,到最近的vs2008,我甚至业余做过VS和BCB的插件。另一方面,自己笔记本上始终安装的是linux,最初是 redhat后来是slackware,debian,ubuntu,arch。也尝鲜过一些别的发行版,其他os这里就不提了。长期做嵌入,自然长期用 GNU/Linux (这是正式的名称)。我想不管是对于windows还是对于linux下的各种工具,我自认了解程度和使用经验,应该为比《别碰我,VIM》的作者要更 多。我就倚老卖老吧,希望作者能听几句老家伙的废话。
作为程序员,我们应该对开发环境和工具软件有着严肃的态度,真正弄明白各类工具的用法和用途,好歹这些是我们吃饭的家伙,是不是?不会使用各种开发工具的 程序员,不是个好程序员:你拖了团队的后腿,减少了大家的工具选项,降低了团队的开发水准。另一方面,不知道该在什么项目中采用什么开发工具的,也不是好 的team leader,眼界太窄,更可能影响开发的成败。强大的开发工具并不是在各方面都强大,尺有所短,寸有所长。说到这里,相信你也明白钻研的重要性了吧,更 不要轻视业界都依赖的重要软件。你是非常聪明的,大家的智商也不会有多低下。一个如此差劲的软件偏偏那么多人喜欢去用,事出反常必有妖,这里的怪异之处, 难道不值得去仔细思考吗?
接下来我说说《别碰我,VIM》里的一些小问题,希望作者,也希望有兴趣的围观者能有点小收获。都是些常识话,主要是说给有志于软件开发事业的人,可能比较无聊,而且刺耳。无兴趣就不要看了。
软件间依赖性问题称为耦合,这是包管理器自动完成的事情,对用户而言是自动的,透明的,使用者没有必要去关心这些,而开发者自然应该知道这些。这实在不该 是指责某个软件的理由。linux的工具是相当精干的,工具间相互配合,胜任各种复杂任务,我看不出这是什么缺点。如果有一个开发软件,很庞大,不依赖别 的什么软件,自身就可以完成全部开发所需的功能,这样的软件就是好的吗?记住一句常识吧:不要重复发明轮子。当然这在windows下是不可能的,因为 windows系统根本就没有开发用的任何轮子,所以,各个开发商,必须自备轮子。以至于很多人已经习惯了自备车轮,该换个角度思考问题了。
接下来说说效率问题,编程不等于打字,程序员总会有更多独特的要求。写过很多程序,维护过很多程序之后,你就会明白为什么vim比vs更好用了,这是用了 才能体验的事情。我感觉在和你讨论“子非鱼,安知鱼之乐”了。哎,vim对coder们的体贴之处,怎么是几句话能说清的呢?总而言之:快捷键,正则式、 以及!执行等等功能,对程序员而言,都是相当重要的,这些vim有而vs没有的功能,让我极大的感觉到vim的爽,以及vs的不便之处,只写hello world是无法了解这一点的。程序员们热爱vim到什么程度了呢?firefox都有vim插件,让我们能够以vim的操作方式看网页。用久了vim, 你会上瘾。一个能让人上瘾的软件,绝不是会是你眼中的废品。当然另外一面,如果你不是长期写程序,没有那些特殊的需求,你就不会觉得vim有任何的好处。 如果只准我用vs会有什么感觉呢?就像一个专业的车手,不让开赛车,让我用强大而舒适的自动波,那是很郁闷的。作为程序员,本着对工作负责的态度,不管开 发工具有多糟糕多难用,你也应该掌握,这是本职所在。况且效率上vim其实更高,而现在不专业的你,还没学会,完全对vim没有应具备的认知。
懒惰使世界进步,所以我们我们用使工作效率更高的软件,而不是相反。公司对效率的追求是没有止境的,程序员绝对不是个舒适的职业,你可以想办法更省事的完 成任务,但绝不要笨鸟还不飞。懒惰到一定程度,连什么工具干活更快更省都不清楚,那就有生存危机了。你也许觉得写程序,大部分时间都在思考,打字速度无所 谓。但很多公司的程序员试用期都会考核英文打字速度,这就是对效率的追求,绝不是无聊。在校学生,职场新人,都要有这个心理准备,不要以为编程的工作多轻 松。
至于compiz什么的我不多说,这与程序员无关。我是用compiz + cairo-dock的,只是为了养眼,没有提高或者降低工作效率。
再说Eclipse,这是很多公司的标准开发环境,不管你是不是喜欢,不管你的VS用得多好,都要面对这个现实。说些废话:我接触的用Eclipse的薪 资水平比用VS的基本上要高,用VIM的又更高一点。国人浮躁,用金钱衡量价值显得权威一些,如果我说技术水平……大家不服气,呵呵。就冲着RMB,大家 还是多掌握些手艺吧。二者的优劣,我不想多说,这是见仁见智的问题。VS就像IE,Eclipse就像Firefox,跨平台,功能要靠扩展的,当然我个 人是更喜欢Eclipse。
至于开源模式。这个话题相当有分量,我不认为这是现在的你能谈论的。什么是开源什么是自由软件?什么叫分布式协同开发,什么叫持续集成滚动更新什么叫永远 的beta版?Agile是什么Scrum是什么?呵呵,相信我,这只能是做过很多个不同模式的项目管理的人,才能有体验的。软件架构和开发模式,目前离 你都比较远,没有实践而探讨,就成了空话。你真的应该相信长者,去看前人的经验和教训的总结,《大教堂与集市》这样的文章,真不是垃圾。
就我所知道的,业余参与GNU项目的,大部分都是公司的牛人,而专职的自由软件开发者,基本上都是业界的顶尖人物。如果连你都轻易的发现他们的开发模式错了,那全球软件行业还真是脑残集中营了。否决这么一大票牛人还真是需要勇气的。
LaTeX可以直接用,也可以用来实现可见即所得的编辑器,攻击排版软件的基石也需要极大的勇气啊。Openoffice.org很好用,甚至国产的 WPS Office也都很好,为什么要花那么多钱买Office呢。我的windows里安装的还是Openoffice.org,公司采购的是WPS。在 Linux里,大部分时间我是用简单的abi的,对我够用了,用不着那么多复杂功能。
世界上好玩的东西很多,不是什么东西都可以弄精通的,但吃饭的家伙还真得精通。厨师不能靠意念炒菜、司机不能靠意念开车,你也不能靠意念写程序,人不能活 在想象之中,电脑帮我们写程序的科幻时代还没到来。学不好,是你没刻苦努力,与你的才智无关。我从小就很普通,父母说我呆,同学说我笨,从小学到大学习成 绩都不太好,大学挂掉n门课,但这并没妨碍我把VIM弄精通了,把GCC弄精通了,把GDB弄精通了,把几个专用的嵌入式操作系统弄精通了。只要功夫深, 铁杵磨成针,大道理不多说,你别总给自己找借口,这些软件都是你应该精通的。这些其实也都是很无聊的,并不是什么有趣的东西。学习它掌握它,精通它,是你 的责任,不管是不是有兴趣都要去做到。
最后说场合问题:无GUI的环境永远会存在,不是所有的设备都必须连接键盘鼠标。服务器永远都不需要GUI,这与时代进步无关。做windows开发用 VS是天经地义,做服务器、嵌入式、Linux或者跨平台开发,用VIM也是很适合的选择。我不明白为什么作者要把两个在工作中很难有交集的东西做对比, 这就是本文标题的由来了。如果硬要做对比的话,我要说,windows 开发真tmd不爽(个人喜好,请勿模仿),我就是不喜欢不对我公开的东西,就是不喜欢难调试的东西,就是不喜欢开发速度慢的东西,就是不喜欢负载能力低下 的东西……个人情绪宣泄而已,就是这样。不要上纲上线的谈tmd什么模式、技术水平,这是我个人的情绪和喜好,没有理由。
不想当将军的士兵不是好士兵,在我眼你,不愿意研究开发工具的人也不是个好程序员,这样的人很多很多,浮躁而不自知,自大而不自信,不尊重自己的工作,也 不知道尊重前辈的知识。就这么浑浑噩噩在开发圈子里混着,一年两年,逐渐对自身的待遇不满,也逐渐不能胜任工作的要求,逐渐一个个消失在开发界。而我这样 的老家伙们,渐渐的成了你所不能理解的人。
魏文王问名医扁鹊:“你们家兄弟三人,都精于医术,到底哪一位最好呢?
扁鹊答:长兄最好,中兄次之,我最差。
文王再问:那么为什么你最出名呢.
扁鹊答:长兄治病,是治病于病情发作之前。由于一般人不知道他事先能铲除病因,所以他的名气无法传出去。中兄治病,是治病于病情初起之时。一般人以为他只能治轻微的小病,所以他的名气只及本乡里。 而我是治病于病情严重之时。一般人都看到我在经脉上穿针管放血、在皮肤上敷药等大手术,所以以为我的医术高明,名气因此响遍全国。”
用感情覆盖理智是幼稚,完全理智是空谈,成熟的标志是把两者分开,
可以用感性去看问题,但是必须用理性去解决问题。
对一个组织而言,最怕的不是"低效能人士",而是"高耗能人士",因为一个高耗能人士所消耗掉的组织能量,远远大于多个低效能人士.
高耗能人士虽然不见得智力超群,有过一般都算得上聪明,做起自己想做的事来,通常都能把活儿玩得漂亮,很容易赢得"你太有才了"的赞誉.所以他们刚刚进入一个组织的时候,"伯乐"们常沾沾自喜;看,我发现了一个怎样的人才.!但时间一长,嗡嗡声就出来了:"这个人是谁看上的?""这样的人怎么能进来?"
变化的发生因为人们发现,这样的才子才女固然会带来一些"业绩和亮点",但他们消耗掉的能量却要大于他们的贡献.他们高兴的时候偶尔会"火花"一闪放出异彩,可大多数时候他们都是组织中的焦虑源、冲突源。他们总是捅娄子、惹事是非、找麻烦、挑事端,一不留神组织就被他们拖入低效和混乱的状态。戏仿“高效能人士的七个习惯”,可将高耗能人士的习惯总结如下:
习惯一:喜欢迟到,并总能为自己的迟到找出理由。通常高耗能人士不会准时出席会议,他们要在众目睽睽之下进入会议室,这是他们“凸现”自己的一种办法。如果你问他为什么不守时,多数时候他会带着孩童般无辜的表情告诉你他多么不想迟到,但是因为某某事情不得不迟到。
习惯二:遇到不顺心的事,立刻把自己放到受害者的位置上,让别人为自己的不爽埋单。生活中人人都会遇到麻烦,高耗能人士有一个绝招,就是在遇到麻烦时迅速把自己放到受害者的位置上,制造一种让别人内疚的情境。明明某个事情是他自己忘记了,却要质问你为什么不提醒他;明明是自己的实力不够,却要指责别人嫉妒自己。总之,他的不顺、不爽,都是别人害的,他不需要负一点点责任。
习惯三:善于负向联想,把简单的问题复杂化。高耗能人士在遇到矛盾冲突时,大脑总是极为活跃,由事到人,由今到昔,由此及彼,由表及里,一块石头激起一片狂涛,一双翅膀掀起一场风暴,不搞个七荤八素、五色杂陈,绝不会收场。
习惯四:缺乏界限感和分寸感。通常在刚刚接触阶段,高耗能人士会给人们留下不错的印象,比如聪明伶俐,待人热情等等。但是,交往距离一旦由远及近,很快就会让人感到不舒服。高耗能人士与人交往时以“自我”为中心,只要自己有需要,有意愿,就可以不分时间和场合地去说去做,根本不顾及他人感受。他们的行为不是令领导难堪,异性尴尬,就是让同事为难、朋友蒙羞,甚至吓跑客户,气走合作者,自己还视之为“坦诚”“真实”“不虚伪”、“坚持原则”、“追求真理”。
习惯五:喜欢对别人提出要求,却不允许别他提要求。高耗能人士因为有点小才华,通常自视甚高,认为自己就是标准。与别人合作的时候,他们的权利意识比任何人都强,而从别人或组织中获取资源的时候,他们又会当仁不让。他们要求别人为自己创造条件,却憎恨别人或组织对他提要求。他们可以敏锐地看到别人或组织的毛病,却绝不会反思自身。
习惯六:虽然承诺在先,但在关键时刻总会出状况,是组织中的“不确定因素 ”。为了实现预定目标,任何组织都会有自己的工作计划、工作流程和工作秩序,然而对高耗能人士来说,这一切都要根据我的感觉、我的需要、我的利益来调整。他们高兴的时候,干活不在话下,一不高兴了,立马就用“我不干了”相威胁,不管工作是怎样安排的,也不管自己是否承诺在先。他们的反复无常和“随机应变 ”,使组织运行的可控性大为降低。由于这个“变数”的存在,组织也随时准备支付更高的成本。
习惯七:当陷入困境时,立即退化为儿童,需要大剂量的陪伴和安抚。种瓜得瓜,种豆得豆,高耗能人士因为以人种种习惯,在职场上早晚会陷入困境,在生活上也常痛苦不堪。一旦麻烦来临,他们就变得可怜兮兮,像抓住救命稻草一样抓住身边的人,不管其是不是适合的对象,只要逮住就不放手,抱怨、倾诉、寻求安慰,涕泪横流,通宵达旦,直到对方忍无可忍,逃之夭夭。
高耗能人士对自己的这些习惯大都并不觉察,因为他们没有能力反省自我。一旦与他人或组织发生摩擦,他们都会天真地认为问题不在自己,感到自己很无辜,很委屈,环顾四周,人心叵测、社会黑暗、命运不公,只有他才是正确的。
生活中有太多的暂时诱惑,也许是没完没了的电视节目,也许是刺激过瘾的电脑游戏,又或者是输赢无常的麻将……它们一点点侵蚀我们的时间,以看上去如此享受的方式,让我们沉迷在其中乐不思蜀。它们让蓬勃朝气的生命一点点走向颓废,如同慢性毒药,渗透麻痹我们的思想。这就需要我们有足够的免疫力来抵抗,而强大免疫力的获得,来源于清醒的头脑描绘出的美好人生蓝图,并为之扎实而行,从而演绎起充实多彩的生活。
暗藏毒素的诱惑无处不在,记得随时强化自己的免疫力。