反駁微軟頂級開發者:編程高手不用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?
#t#如果你正使用其他的IDE來開發桌面、客戶端-服務器程序、資料庫應用程序、手機程序、嵌入式程序、設備/應用軟件開發的話,希望發表自己的看法。如果你不使用IDE,那么你使用何種程序編輯器(emacs, VI, TextMate, Visual Slick Edit, jEdit, Epsilon)或是命令行工具?IDE需要具有哪種編程特性才會讓你心動?
對我而言,作為IDE堅定的支持者,我將繼續使用IDE來加快我的程序開發。編程就是我的生活!