工欲善其事,必先利其器。用了这么久的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