工欲善其事,必先利其器。用了這麼久的linux,如今比較主流的幾個C/C++的IDE基本已都用過了,如今來對他們作一下簡單的比較。
一、VIM
首先要說的是VIM。我認爲,VIM只是一個編輯器,不能算是IDE。雖然說VIM有不少插件,例如代碼摺疊、遞進等,能夠將VIM組建成幾乎相似一個IDE,但始終它不是專門的IDE,因此在功能支持上仍是遠不如那些專門的IDE如:eclipse和code::blocks(這個是本文最後介紹也是我想向你們推薦的IDE)。用VIM+GDB來編寫和調試C++程序是很「痛苦」的一件事,友情提示,若是你不是一名unix hacker的話,不要用VIM看成你的C++ IDE。不過,VIM有它的好處,它做爲一個編輯器,當你經過SSH鏈接到遠程服務器上、修改一些配置文件或者對代碼進行「微調」時是很是有用的。
這裏再補充說一點,我所說的unix hacher並非你們平時理解的破解系統、攻擊別人電腦的那些人(我認爲應該稱他們cracker),我認爲的hacker是相似Richard Stallman、Linus Torvalds這些技術很強、喜歡經過本身思考並編程來解決複雜問題的人(你們應該都聽過Stallman關於打印機驅動的故事吧)。
二、Emacs
Emacs是Stallman大師的傑做,剛一接觸就被它所吸引。不論是Emacs的擁護者仍是反對者,都不得不認可Emacs很是優秀,Emacs遠遠超過了一個IDE,而是一個基於編輯環境的OS。Emacs有不少很好的特性,就算如今不少出名的IDE都沒法比的,好比:內嵌Lisp函數式語言。Emacs有種種優勢,可是做爲一個起源於unix系統而且是幾十年前設計的IDE,對於今天的咱們來講,可能會有不少不習慣的地方。好比快捷鍵就是其中之一:好比複製和粘貼,不少WINDOWS軟件和LINUX軟件都用的是CTRL+C和CTRL+V,而Emacs使用的徹底不一樣,是CTRL+SPACE和ALT+W是複製,CTRL+Y是粘貼。更重要的是,Emacs也須要插件才能實現C++IDE的功能。而且以爲Emacs的風格有點像「上個世紀」的東西,
因此我以爲若是你不是一開始就用的linux系統、若是你已經習慣瞭如今的編輯環境,那最好仍是選一個當代的IDE,由於這個用起來更習慣一些。
三、Eclipse
Eclipse是一個很優秀的JAVA作的IDE,在SUN和IBM公司的支持下,Eclipse確實作得至關優秀。雖然我不會java,沒有用Eclipse寫過java程序,而是用Eclipse來寫PHP,可是也能體會出Eclipse的優秀。而且它的插件功能也作得很是棒,網上有不少關於它的介紹,我就不在多說了,由於,它也不是我今天想向你們推薦的C++IDE,主要緣由是——速度慢、體積大。還有就是沒用它調試過C++,因此不知道到底如何。
四、Code::Blocks
今天想向你們隆重推薦的一個跨平臺的C++IDE就是——Code::Blocks。它是基於wxWidget庫的程序。首先,由於它就是用C++開發的,因此在速度上明顯比Eclipse快。其次,由於是一個專門的C++IDE,因此在配置方面也很是符合C++開發的習慣,功能幾乎能夠和VC2005/2007媲美。最後,它仍是一個開源的IDE,而且它的體積比Eclipse和VC小了不止一個數量級——整個壓縮後的源碼包只有6M多!
其實說實話,我也是剛開始用Code::Blocks,可是我敢負責任的說,它真的很好。之前編程和調試都一直在VIM、Emacs和gdb裏掙扎,命令方式的GDB調試把握折騰的都崩潰了。忽然接觸了Code::Blocks之後,立刻讓我找到了當前用VC編程和調試的快樂的感受。就是前幾天,我在GDB下調試一個C++程序時的不便,嘗試了DDD仍是以爲不方便,因而偶然間試了一下Code::Blocks,一會的時間問題就解決了。雖然它使用的仍是GCC+GDB,可是它對其包裝之後使我使用起來感到了極大的方便(儘管和是沒有VC調試起來這麼好用)。
更多的介紹我不想說了,既然它這麼小,而且各大流行的OS下(windows、mac os x、redhat、ubuntu...)都有已編譯好二進制版本,你何不試試呢?它的官方網站是:www.codeblocks.org
最後總結一下:VIM是每個linux程序員都必需會的東西,很是值得學習和熟練使用,可是你沒必要用它來看成你主要的C++IDE。Emacs感受上有點和當代軟件風格不同,等你到達必定層次之後本身再決定是否學習使用它。Eclipse可能更適合JAVA愛好者使用,雖然速度沒有慢到沒法忍受,可是總有點讓人內心感受不是太爽。而我強烈推薦你們試試Code::Blocks,相信你會向我同樣一會兒就被它所吸引。java