依赖 IDE 做开发,会让你成为一名糟糕的程序员么?

使用Notepad++编程比使用Visual Studio让你感觉更好?

那晚我正读着Rob Conery写的一篇文章,其中谈到了他对职业生涯的选择,对编程语言的选择以及这过程中留有的一些遗憾。很多地方让我觉得吃惊,但其中提到的关于.NET开发的一点引起了我的深思。他发现的不好之处是:比起PHP开发人员,.Net开发人员会变得越来越依赖IDE。

作为一名.NET开发人员,我已经习惯了周围各种关于IDE依赖现象的说法,也习惯了各种PHP、JavaScript或Ruby开发者对微软产品Visual Studio的抨击。通常来说,基于C语言的开发者们在这个话题上更有发言权,这就像使用编程语言和开发工具更多的人会更了解程序的运行过程一样。

事实上,一款优秀的IDE会让你的工作更有效率:优质的框架加快了项目进度,自动编译和IDE重构工具让编码进行得更快,集成单元测试让你的应用程序易于维护,部署工具、web服务器、代码分析器或编译时绑定等简化了项目工作流程,除此之外,它还标准化了程序员的开发经验,这既有利于开发者本身也有利于项目的进行。团队内的开发者们使用相同的工具一起工作效率更高,而企业也受益于老员工与新员工之间的代沟会变小。

以上所说的优点也只是冰山一角而已,并且在所有可用的IDE中,Visual Studio可以说是最好的,它不仅功能齐全,而且连发布版本也都是免费的(尽管缺少一些中看不中用的组件)。可能你不会被视为那种能在Emacs上用bash写纸牌的“精英”,但是我认为很多人讨厌IDE的原因是因为他们所用的IDE不适合他们所用的编程语言。其中大部分都是脚本语言,因为一个IDE很难为一种解释型语言做出点贡献。不能因为一个开发者更喜欢使用notepad++来写PHP而否认他们能从IDE中获益,相反,这反而是一种固执的表现。

依赖IDE不好的第二大原因是,它会让你对编程语言本身越来越模糊。如果你不需要记住语法规则,也不需要记住那些要调用的方法,因为IDE总会智能的提醒你,久而久之,你就会很难在没有IDE的情况下写好一个程序。但在我看来,对于一个优秀的开发者,最重要的不是去记住那些语法细节,而是知道解决问题的有效方法并能有效利用最好的技术或者工具来解决它。使用IDE能够让你将更多的精力投入到真正重要的问题上,也就是解决方案,而不是纠结于哈希表逆序的函数是哪一个这种问题。

而Rob Conery认为过于依赖IDE不好的原因在于,他的主要工作是在windows平台下使用Visual Studio中的拖放控件来开发web表单。这从某种意义上来说确实是不好的,但同时我也对他竟然花费如此多的时间那样使用.NET感到惊讶。我已经有将近8年没有使用过VS系列的可视化开发工具了,但是我仍然认为没有任何IDE能够比得上它。

我曾经多年见到Xcode就发慌,Eclipse很适合用来做Java开发可是我不喜欢用它来开发PHP,刚用Aptana的时候会觉得不错但是过不了多久就会让你有在使用Notepad++的错觉,诸如此类的IDE还有很多。而由于JetBrains公司(IntelliJ IDEA集成开发环境所属公司)产品的缺乏,使得它远不能与Visual Studio相提并论。

当然这仅仅是我个人的想法。你认为依赖IDE对你的编程能力或者职业生涯有没有影响呢?你觉得如果一个团队的开发者都使用Sublime Text或者Notepad++会和使用IDE一样高效吗?

 

// 部分微博评论

@xxiuu :写代码是个手艺活,拿着钉子锤子,锯子墨线,一块木头,半天功夫,一把仿古的凳子就出来了,在来个雕花,上个老漆,真是个绝活。在看看那边,电闸一啦,车床呼啦呼啦的,这边几块木料下去,那边一对零件出来了,打个包装加个说明书,一套原木环保宜家家具就出来了。

@扬仔360:老么前儿学J2EE那会儿,一老师说我太过于依赖Eclipse,用多了代码补全,问:“单单让你用TXT,能写出来吗?”其实当时J2EE勉勉强强还能用txt写出来,现在用XCode用多了,要说用txt写O-B,我是死活写不出来。现在我才明白很多事情,抨击IDE的便捷性就是抨击咱人类的发展过程,不定个反人类罪都是轻的。

收藏 17 评论

关于作者:Licorice

(新浪微博:@小胖纸Licorice) 个人主页 · 我的文章 · 3

相关文章

可能感兴趣的话题



直接登录
最新评论
  • L   2014/03/11

    恭喜LZ学会了这么多IDE的使用.

  • 灯盏细辛   2014/03/11

    木有看懂。。。

  • TERRY_ZJ   2014/03/11

    "使用IDE能够让你将更多的精力投入到真正重要的问题上,也就是解决方案,而不是纠结于哈希表逆序的函数是哪一个这种问题"
    结果变成了码农

  • w   2014/03/11

    囧,我还以为吐槽IDE是因为IDE太渣了。结果是吐槽IDE会让人忘掉些繁琐的细节……那都去用汇编算了,用这么多高级语言会弄得你寄存器是啥都忘了的。

  • 匿名人士   2014/03/11

    就好比欧美不重视数学,低年级就允许用计算器计算,而我国却对数学要求很高,基本是全程都心算笔算最好。
    依赖IDE又有什么关系呢,现在的项目,早已经不是十几年前的那种小项目了,你想不依靠IDE的提示进行编码,那么很抱歉,新人起码给三个月的熟悉期,而且还只是普通项目。
    程序员依赖IDE的同时,只要保证良好的记忆能力就够了,经常会记一些东西,学习一些东西。

    • .   2014/03/11

      其实也不能算是不重视数学,只是不重视算术罢了

      • 匿名人士   2014/03/12

        恩,算术。
        现代社会除了日常生活中一些简单的计算可以心算笔算,稍复杂的或者是专业级的根本就离不开计算器或电脑计算。

  • aaaa   2014/03/11

    没看懂

  • 诸葛不亮   2014/03/11

    用Notepad++写代码,用QtCreator调试的路过。。。不过也同意vs是最牛的IDE。
    抨击IDE绝对反人类,像我现在做的这种十来个子工程几百个类的项目,用Notepad++开发?把项目周期延长十倍吧

  • hyphen   2014/03/11

    编辑器是编辑器,vs一样可以用高级编辑器的插件整合,例如vsvim,效率会提升很多,vs默认的无任何特性的编辑器用起来还是很不爽的

  • 天很蓝很蓝   2014/03/13

    出门不管多远,请一定要用双脚,免得退化。

  • 时间才是第一生产力. 不排除有很多文艺青年用 记事本敲代码

  • 知道原理即可~

  • > 其中大部分都是正本语言

    s/正本/脚本/

  • 赖信涛 自然语言处理/Python 2014/03/16

    IDE效率总会高一点的吧。
    但是现在还是比较喜欢Vim简单的界面。。。我是个菜鸟

  • anthony   2014/03/19

    说两句话:
    1. 怎么快怎么来
    2. IDE不一定快。

  • hui   2014/04/05

    两个个人观点:
    关键在于有没有解决问题,而不是纠结于用不用IDE,没IDE活不下去不对,说到IDE就感觉自己好像low了也是一种病

    “久而久之,你就会很难在没有IDE的情况下写好一个程序” 这是废话,这么说来你还很难在没有网上那些免费开源代码的情况下写好一个程序呢,有本事啥都别用都自己写

跳到底部
返回顶部