【51CTO精选译文】开发集成环境,即IDE,是开发者们十分熟悉的工具。基本上,只要你做过任何形式的开发而使用了记事本以外的编辑工具,你都是一个IDE的使用者。
David Intersimone是Embarcadero公司开发者关系部副总以及首席技术传教士。在他作为新年贺词的一篇博文中,他描述了那些顶级的程序员和尖端开发人员对于各种IDE的喜好,对他们的部分看法进行了反驳,并列举了他认为对广大开发者们重要的IDE所应该具备的特质。以下为David的原文:
首先,祝所有的软件开发者们在新的一年和新的十年中快乐,并祝愿在2010年里你们在软件开发领域能取得更大的成功。在这个假期中,我花费很多时间来思考我自己应该使用何种工具来进行程序开发。在Embarcadero公司工作期间,我经常使用的集成开发环境(IDE)有:RAD Studio、运行在Visual Studio Shell 上的 Delphi Prism,以及基于Eclipse的JBuilder。偶尔,我还使用其他一些IDE、命令行工具,以及一些用于快速开发项目的程序编辑器。
Wikipedia将IDE定义为一个集成了源码编辑器、编译器、项目搭建工具及调试器的联合体。如果你留意过当期流行的商业或开源IDE的话,那么你还可以发现IDE所支持的其他一些功能(仅列出一部分):可视化GUI创建、组件开发、类浏览、UML对象建模、源代码控制、数据库设计以及单元检测。
在刚刚落幕的微软PDC 2009会议的小组讨论中,微软内部一些顶尖的开发人员倾向于使用年代比较久远的工具,而不是使用更加现代的IDE,下面是这些人的言论:
◆微软资深工程师Don Box说,“你要是不允许我使用文本编辑器来编程的话,我将会揍你。”
◆另一位微软资深工程师Jeffrey Snover说,“图形化的编程环境对编程菜鸟会有帮助;但对于编程老手来说,它们一无是处。”
◆微软的技术研究员Butler Lampson说,“尽管可视化的编程工具更易上手并且可以让开发者们变得更有效率,但它也可以轻易使你上当受骗,因为没有一个可视化的编程工具可以告诉你一个UML图解意味着什么。”
知名博客写手Randall C. Kennedy也对现代的IDE提出质疑,认为这些“懒惰的编程模块”导致了大量的技术问题,并制造了大量“臃肿、低效的代码”。
我个人对Randall的过激言论感到不以为然。我也不相信所有的编程者都会同意微软PDC会中小组讨论所得出的结论(51CTO编者注:事实上,与David观点相同的编程者并非都是菜鸟级程序员。在这篇《八大技术牛人点评NetBeans 6.5》中,这些喜爱NetBeans的开发者都可以用骨灰级来形容,而他们的阐述中并没有表示对“图形化的编程环境”、“编程模块”等特征的不屑)。大多数模块化的IDE已经逐歩升级,以满足非正式、专业及骨灰级编程人员的各种编程习惯:
◆谨慎设计面向对象的应用软件
◆简化程序开发流程
◆使用可视化的拖拽来生成基于GUI的应有软件
◆生成高效、已调试及单元节测过的代码
你使用过集成环境吗?如果使用过的话,你正在用下列哪种IDE?
#t#如果你正使用其他的IDE来开发桌面、客户端-服务器程序、资料库应用程序、手机程序、嵌入式程序、设备/应用软件开发的话,希望发表自己的看法。如果你不使用IDE,那么你使用何种程序编辑器(emacs, VI, TextMate, Visual Slick Edit, jEdit, Epsilon)或是命令行工具?IDE需要具有哪种编程特性才会让你心动?
对我而言,作为IDE坚定的支持者,我将继续使用IDE来加快我的程序开发。编程就是我的生活!