反驳微软顶级开发者:编程高手不用IDE?

原创
开发 开发工具
在2009年的微软PDC大会上,几位微软的顶级开发者对现代IDE的存在大加指点,认为高手都应该使用文本编辑器来编程。针对这种极端的看法,本文作者表示了不同的见解,并列出了IDE对各种水平的编程人员都有价值的几大因素。

【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?

Microsoft Visual Studio
Eclipse IDE
Embarcadero RAD Studio
Apple Xcode
JetBrains IntelliJ IDEA
NetBeans IDE
ActiveState Komodo
Adobe DreamWeaver
Real Basic
Aptana Studio
MonoDevelop
Adobe Flex Builder
Zend Studio
Delphi for PHP

#t#如果你正使用其他的IDE来开发桌面、客户端-服务器程序、资料库应用程序、手机程序、嵌入式程序、设备/应用软件开发的话,希望发表自己的看法。如果你不使用IDE,那么你使用何种程序编辑器(emacs, VI, TextMate, Visual Slick Edit, jEdit, Epsilon)或是命令行工具?IDE需要具有哪种编程特性才会让你心动?

对我而言,作为IDE坚定的支持者,我将继续使用IDE来加快我的程序开发。编程就是我的生活!

责任编辑:yangsai 来源: 51CTO.com
相关推荐

2022-01-09 23:05:16

Java开发工具

2018-11-23 11:50:02

Linux开发者编程书籍

2018-11-23 09:07:00

Linux开发者书籍

2012-05-12 17:25:20

Visual Stud微软开发

2020-02-05 13:44:00

JavaScriptJava程序员

2010-12-14 20:01:28

微软

2009-07-17 13:31:27

微软操作系统Windows 7开发者竞赛

2015-02-03 02:46:18

Android

2011-06-30 12:15:27

MangoWindows Pho微软

2018-11-27 09:55:11

微软JavaScript开发

2009-08-20 09:12:40

Windows Mar

2010-12-16 10:06:31

Windows Pho

2014-12-01 09:49:38

Python

2012-05-11 13:06:13

Windows微软

2020-08-05 14:30:08

开源IDEJava开发

2021-02-03 20:58:37

GoIDE插件

2012-05-16 17:36:36

Windows Pho

2014-07-22 10:08:48

微软监控开发者

2011-06-23 10:01:47

.NET

2013-04-03 09:53:44

微软Windows 8Windows Pho
点赞
收藏

51CTO技术栈公众号