依賴 IDE 做開發,會讓你成為一名糟糕的程式設計師麼?

Licorice發表於2014-03-11

使用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的便捷性就是抨擊我們人類的發展過程,不定個反人類罪都是輕的。

相關文章