<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Jason In the World Game - 职业生涯</title><link>http://blog.egaoyang.com/</link><description>Blog - </description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 91204</generator><language>zh-CN</language><copyright>Copyleft 1987-2009 eGaoYang WebSite. 皖ICP备08104294号var gaJsHost = ((&amp;quot;https:&amp;quot; == document.location.protocol) ? &amp;quot;https://ssl.&amp;quot; : &amp;quot;http://www.&amp;quot;);document.write(unescape(&amp;quot;%3Cscript src='&amp;quot; + gaJsHost + &amp;quot;google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E&amp;quot;));try {var pageTracker = _gat._getTracker(&amp;quot;UA-6924835-3&amp;quot;);pageTracker._trackPageview();} catch(err) {}</copyright><pubDate>Sun, 05 Sep 2010 19:43:49 +0800</pubDate><item><title>VIM vs VS：关公战秦琼</title><author>Public@JasonGao.com (JasonGao)</author><link>http://blog.egaoyang.com/archives/2009/08/Vim_VS_VS/</link><pubDate>Mon, 31 Aug 2009 10:08:38 +0800</pubDate><guid>http://blog.egaoyang.com/archives/2009/08/Vim_VS_VS/</guid><description><![CDATA[<p><span style="color: #0000ff">好文章是要转的，此文为转帖&hellip;&hellip;</span></p><p>作为程序员，我们应该对开发环境和工具软件有着严肃的态度，真正弄明白各类工具的用法和用途，好歹这些是我们吃饭的家伙，是不是？不会使用各种开发工具的程序员，不是个好程序员：你拖了团队的后腿，减少了大家的工具选项，降低了团队的开发水准。另一方面，不知道该在什么项目中采用什么开发工具的，也不是好 的team leader，眼界太窄，更可能影响开发的成败。强大的开发工具并不是在各方面都强大，尺有所短，寸有所长。</p><p>不想当将军的士兵不是好士兵，在我眼你，不愿意研究开发工具的人也不是个好程序员，这样的人很多很多，浮躁而不自知，自大而不自信，不尊重自己的工作，也 不知道尊重前辈的知识。就这么浑浑噩噩在开发圈子里混着，一年两年，逐渐对自身的待遇不满，也逐渐不能胜任工作的要求。</p><p>10年前，正是互联网泡沫第一次开始破灭的开端，一家家公司接连倒闭，很多刚入职几个月的计算机专业的学生很快又得再次求职&hellip;&hellip;程序员的贬值，程序员队伍整体水平的滑坡，正是从那时开始的。回忆当时，一般的程序员还真不敢自称高手。</p><p>作为一个断续做了6年windows开发，断续做了11年Linux开发（中间有重合的交集）的老程序员，我换过若干家公司，经历过一些不同性质的项 目，windows下mfc的，纯sdk的，数据库的，c/s、b/s的，ddk的（有早期的vxd，也有后来的wdm）经历过，linux下的小驱动， 通讯设备研发，媒体设备研发也做过不少，还有业余做的php、ror项目，现在更是专职在做大流量高并发的&hellip;&hellip;在线游戏后台，为玩家们提供坚固的精神鸦片 支撑。用过的语言和工具比较多了，从在校学习的tc2、bc++3开始，到自学的vc、delphi、bcb，还有些忘了名，但第一份工作用的工具vc。 从vc4开始的，后来一直升级，到最近的vs2008，我甚至业余做过VS和BCB的插件。另一方面，自己笔记本上始终安装的是linux，最初是 redhat后来是slackware，debian，ubuntu，arch。也尝鲜过一些别的发行版，其他os这里就不提了。长期做嵌入，自然长期用 GNU/Linux （这是正式的名称）。我想不管是对于windows还是对于linux下的各种工具，我自认了解程度和使用经验，应该为比《别碰我，VIM》的作者要更 多。我就倚老卖老吧，希望作者能听几句老家伙的废话。</p><p>作为程序员，我们应该对开发环境和工具软件有着严肃的态度，真正弄明白各类工具的用法和用途，好歹这些是我们吃饭的家伙，是不是？不会使用各种开发工具的 程序员，不是个好程序员：你拖了团队的后腿，减少了大家的工具选项，降低了团队的开发水准。另一方面，不知道该在什么项目中采用什么开发工具的，也不是好 的team leader，眼界太窄，更可能影响开发的成败。强大的开发工具并不是在各方面都强大，尺有所短，寸有所长。说到这里，相信你也明白钻研的重要性了吧，更 不要轻视业界都依赖的重要软件。你是非常聪明的，大家的智商也不会有多低下。一个如此差劲的软件偏偏那么多人喜欢去用，事出反常必有妖，这里的怪异之处， 难道不值得去仔细思考吗？</p><p>接下来我说说《别碰我，VIM》里的一些小问题，希望作者，也希望有兴趣的围观者能有点小收获。都是些常识话，主要是说给有志于软件开发事业的人，可能比较无聊，而且刺耳。无兴趣就不要看了。</p><p>软件间依赖性问题称为耦合，这是包管理器自动完成的事情，对用户而言是自动的，透明的，使用者没有必要去关心这些，而开发者自然应该知道这些。这实在不该 是指责某个软件的理由。linux的工具是相当精干的，工具间相互配合，胜任各种复杂任务，我看不出这是什么缺点。如果有一个开发软件，很庞大，不依赖别 的什么软件，自身就可以完成全部开发所需的功能，这样的软件就是好的吗？记住一句常识吧：不要重复发明轮子。当然这在windows下是不可能的，因为 windows系统根本就没有开发用的任何轮子，所以，各个开发商，必须自备轮子。以至于很多人已经习惯了自备车轮，该换个角度思考问题了。</p><p>接下来说说效率问题，编程不等于打字，程序员总会有更多独特的要求。写过很多程序，维护过很多程序之后，你就会明白为什么vim比vs更好用了，这是用了 才能体验的事情。我感觉在和你讨论&ldquo;子非鱼，安知鱼之乐&rdquo;了。哎，vim对coder们的体贴之处，怎么是几句话能说清的呢？总而言之：快捷键，正则式、 以及!执行等等功能，对程序员而言，都是相当重要的，这些vim有而vs没有的功能，让我极大的感觉到vim的爽，以及vs的不便之处，只写hello world是无法了解这一点的。程序员们热爱vim到什么程度了呢？firefox都有vim插件，让我们能够以vim的操作方式看网页。用久了vim， 你会上瘾。一个能让人上瘾的软件，绝不是会是你眼中的废品。当然另外一面，如果你不是长期写程序，没有那些特殊的需求，你就不会觉得vim有任何的好处。 如果只准我用vs会有什么感觉呢？就像一个专业的车手，不让开赛车，让我用强大而舒适的自动波，那是很郁闷的。作为程序员，本着对工作负责的态度，不管开 发工具有多糟糕多难用，你也应该掌握，这是本职所在。况且效率上vim其实更高，而现在不专业的你，还没学会，完全对vim没有应具备的认知。</p><p>懒惰使世界进步，所以我们我们用使工作效率更高的软件，而不是相反。公司对效率的追求是没有止境的，程序员绝对不是个舒适的职业，你可以想办法更省事的完 成任务，但绝不要笨鸟还不飞。懒惰到一定程度，连什么工具干活更快更省都不清楚，那就有生存危机了。你也许觉得写程序，大部分时间都在思考，打字速度无所 谓。但很多公司的程序员试用期都会考核英文打字速度，这就是对效率的追求，绝不是无聊。在校学生，职场新人，都要有这个心理准备，不要以为编程的工作多轻 松。</p><p>至于compiz什么的我不多说，这与程序员无关。我是用compiz + cairo-dock的，只是为了养眼，没有提高或者降低工作效率。</p><p>再说Eclipse，这是很多公司的标准开发环境，不管你是不是喜欢，不管你的VS用得多好，都要面对这个现实。说些废话：我接触的用Eclipse的薪 资水平比用VS的基本上要高，用VIM的又更高一点。国人浮躁，用金钱衡量价值显得权威一些，如果我说技术水平&hellip;&hellip;大家不服气，呵呵。就冲着RMB，大家 还是多掌握些手艺吧。二者的优劣，我不想多说，这是见仁见智的问题。VS就像IE，Eclipse就像Firefox，跨平台，功能要靠扩展的，当然我个 人是更喜欢Eclipse。</p><p>至于开源模式。这个话题相当有分量，我不认为这是现在的你能谈论的。什么是开源什么是自由软件？什么叫分布式协同开发，什么叫持续集成滚动更新什么叫永远 的beta版？Agile是什么Scrum是什么？呵呵，相信我，这只能是做过很多个不同模式的项目管理的人，才能有体验的。软件架构和开发模式，目前离 你都比较远，没有实践而探讨，就成了空话。你真的应该相信长者，去看前人的经验和教训的总结，《大教堂与集市》这样的文章，真不是垃圾。</p><p>就我所知道的，业余参与GNU项目的，大部分都是公司的牛人，而专职的自由软件开发者，基本上都是业界的顶尖人物。如果连你都轻易的发现他们的开发模式错了，那全球软件行业还真是脑残集中营了。否决这么一大票牛人还真是需要勇气的。</p><p>LaTeX可以直接用，也可以用来实现可见即所得的编辑器，攻击排版软件的基石也需要极大的勇气啊。Openoffice.org很好用，甚至国产的 WPS Office也都很好，为什么要花那么多钱买Office呢。我的windows里安装的还是Openoffice.org，公司采购的是WPS。在 Linux里，大部分时间我是用简单的abi的，对我够用了，用不着那么多复杂功能。</p><p>世界上好玩的东西很多，不是什么东西都可以弄精通的，但吃饭的家伙还真得精通。厨师不能靠意念炒菜、司机不能靠意念开车，你也不能靠意念写程序，人不能活 在想象之中，电脑帮我们写程序的科幻时代还没到来。学不好，是你没刻苦努力，与你的才智无关。我从小就很普通，父母说我呆，同学说我笨，从小学到大学习成 绩都不太好，大学挂掉n门课，但这并没妨碍我把VIM弄精通了，把GCC弄精通了，把GDB弄精通了，把几个专用的嵌入式操作系统弄精通了。只要功夫深， 铁杵磨成针，大道理不多说，你别总给自己找借口，这些软件都是你应该精通的。这些其实也都是很无聊的，并不是什么有趣的东西。学习它掌握它，精通它，是你 的责任，不管是不是有兴趣都要去做到。</p><p>最后说场合问题：无GUI的环境永远会存在，不是所有的设备都必须连接键盘鼠标。服务器永远都不需要GUI，这与时代进步无关。做windows开发用 VS是天经地义，做服务器、嵌入式、Linux或者跨平台开发，用VIM也是很适合的选择。我不明白为什么作者要把两个在工作中很难有交集的东西做对比， 这就是本文标题的由来了。如果硬要做对比的话，我要说，windows 开发真tmd不爽（个人喜好，请勿模仿），我就是不喜欢不对我公开的东西，就是不喜欢难调试的东西，就是不喜欢开发速度慢的东西，就是不喜欢负载能力低下 的东西&hellip;&hellip;个人情绪宣泄而已，就是这样。不要上纲上线的谈tmd什么模式、技术水平，这是我个人的情绪和喜好，没有理由。</p><p>不想当将军的士兵不是好士兵，在我眼你，不愿意研究开发工具的人也不是个好程序员，这样的人很多很多，浮躁而不自知，自大而不自信，不尊重自己的工作，也 不知道尊重前辈的知识。就这么浑浑噩噩在开发圈子里混着，一年两年，逐渐对自身的待遇不满，也逐渐不能胜任工作的要求，逐渐一个个消失在开发界。而我这样 的老家伙们，渐渐的成了你所不能理解的人。<br />&nbsp;</p>]]></description><category>职业生涯</category><comments>http://blog.egaoyang.com/archives/2009/08/Vim_VS_VS/#comment</comments><wfw:comment>http://blog.egaoyang.com/</wfw:comment><wfw:commentRss>http://blog.egaoyang.com/feed.asp?cmt=67</wfw:commentRss><trackback:ping>http://blog.egaoyang.com/cmd.asp?act=tb&amp;id=67&amp;key=ef6e91e4</trackback:ping></item><item><title>编程为什么有乐趣？</title><author>Public@JasonGao.com (JasonGao)</author><link>http://blog.egaoyang.com/archives/2007/06/Why_Happy_for_Programming/</link><pubDate>Tue, 05 Jun 2007 19:11:37 +0800</pubDate><guid>http://blog.egaoyang.com/archives/2007/06/Why_Happy_for_Programming/</guid><description><![CDATA[<div>&nbsp;&nbsp;&nbsp; 编程为什么有乐趣？</div><div>&nbsp;&nbsp;&nbsp; 首先，这种快乐是一种创建事物的纯粹的快乐。如同小孩在玩泥巴时感到的快乐一样，成年人喜欢创建事物，特别是自己进行设计。我想这种快乐是上帝创造世界的折射，一种呈现在每片独特、崭新的树叶和雪花上的喜悦。</div><div>&nbsp;&nbsp;&nbsp; 其次，这种快乐来自于开发对他人有用的东西。内心深处，我们期望我们的劳动成果能够被他人使用，并能够对他们有所帮助。从这一角度而言，这同小孩用粘土为&ldquo;爸爸的办公室&rdquo;捏制铅笔盒没有任何本质的区别。</div><div align="right">《人月神话》</div>]]></description><category>职业生涯</category><comments>http://blog.egaoyang.com/archives/2007/06/Why_Happy_for_Programming/#comment</comments><wfw:comment>http://blog.egaoyang.com/</wfw:comment><wfw:commentRss>http://blog.egaoyang.com/feed.asp?cmt=21</wfw:commentRss><trackback:ping>http://blog.egaoyang.com/cmd.asp?act=tb&amp;id=21&amp;key=d7cb651a</trackback:ping></item></channel></rss>
