反駁微軟頂級開發(fā)者:編程高手不用IDE?
原創(chuàng)【51CTO精選譯文】開發(fā)集成環(huán)境,即IDE,是開發(fā)者們十分熟悉的工具?;旧?,只要你做過任何形式的開發(fā)而使用了記事本以外的編輯工具,你都是一個IDE的使用者。
David Intersimone是Embarcadero公司開發(fā)者關系部副總以及首席技術傳教士。在他作為新年賀詞的一篇博文中,他描述了那些頂級的程序員和尖端開發(fā)人員對于各種IDE的喜好,對他們的部分看法進行了反駁,并列舉了他認為對廣大開發(fā)者們重要的IDE所應該具備的特質(zhì)。以下為David的原文:
首先,祝所有的軟件開發(fā)者們在新的一年和新的十年中快樂,并祝愿在2010年里你們在軟件開發(fā)領域能取得更大的成功。在這個假期中,我花費很多時間來思考我自己應該使用何種工具來進行程序開發(fā)。在Embarcadero公司工作期間,我經(jīng)常使用的集成開發(fā)環(huán)境(IDE)有:RAD Studio、運行在Visual Studio Shell 上的 Delphi Prism,以及基于Eclipse的JBuilder。偶爾,我還使用其他一些IDE、命令行工具,以及一些用于快速開發(fā)項目的程序編輯器。
Wikipedia將IDE定義為一個集成了源碼編輯器、編譯器、項目搭建工具及調(diào)試器的聯(lián)合體。如果你留意過當期流行的商業(yè)或開源IDE的話,那么你還可以發(fā)現(xiàn)IDE所支持的其他一些功能(僅列出一部分):可視化GUI創(chuàng)建、組件開發(fā)、類瀏覽、UML對象建模、源代碼控制、數(shù)據(jù)庫設計以及單元檢測。
在剛剛落幕的微軟PDC 2009會議的小組討論中,微軟內(nèi)部一些頂尖的開發(fā)人員傾向于使用年代比較久遠的工具,而不是使用更加現(xiàn)代的IDE,下面是這些人的言論:
◆微軟資深工程師Don Box說,“你要是不允許我使用文本編輯器來編程的話,我將會揍你。”
◆另一位微軟資深工程師Jeffrey Snover說,“圖形化的編程環(huán)境對編程菜鳥會有幫助;但對于編程老手來說,它們一無是處。”
◆微軟的技術研究員Butler Lampson說,“盡管可視化的編程工具更易上手并且可以讓開發(fā)者們變得更有效率,但它也可以輕易使你上當受騙,因為沒有一個可視化的編程工具可以告訴你一個UML圖解意味著什么。”
知名博客寫手Randall C. Kennedy也對現(xiàn)代的IDE提出質(zhì)疑,認為這些“懶惰的編程模塊”導致了大量的技術問題,并制造了大量“臃腫、低效的代碼”。
我個人對Randall的過激言論感到不以為然。我也不相信所有的編程者都會同意微軟PDC會中小組討論所得出的結(jié)論(51CTO編者注:事實上,與David觀點相同的編程者并非都是菜鳥級程序員。在這篇《八大技術牛人點評NetBeans 6.5》中,這些喜愛NetBeans的開發(fā)者都可以用骨灰級來形容,而他們的闡述中并沒有表示對“圖形化的編程環(huán)境”、“編程模塊”等特征的不屑)。大多數(shù)模塊化的IDE已經(jīng)逐歩升級,以滿足非正式、專業(yè)及骨灰級編程人員的各種編程習慣:
◆謹慎設計面向?qū)ο蟮膽密浖?/p>
◆簡化程序開發(fā)流程
◆使用可視化的拖拽來生成基于GUI的應有軟件
◆生成高效、已調(diào)試及單元節(jié)測過的代碼
你使用過集成環(huán)境嗎?如果使用過的話,你正在用下列哪種IDE?
#t#如果你正使用其他的IDE來開發(fā)桌面、客戶端-服務器程序、資料庫應用程序、手機程序、嵌入式程序、設備/應用軟件開發(fā)的話,希望發(fā)表自己的看法。如果你不使用IDE,那么你使用何種程序編輯器(emacs, VI, TextMate, Visual Slick Edit, jEdit, Epsilon)或是命令行工具?IDE需要具有哪種編程特性才會讓你心動?
對我而言,作為IDE堅定的支持者,我將繼續(xù)使用IDE來加快我的程序開發(fā)。編程就是我的生活!