首页投稿(暂停使用,暂停投稿)程序员

C++ IDE口味谈

2016-06-28  本文已影响3266人  MagicBowen

我们都知道高效地编程离不开一款高效的IDE,但是上个十年在ruby等动态语言以及前端技术逐渐流行的时候,社区里掀起了一阵去IDE浪潮,很多人开始诟病IDE启动速度慢,资源占用多,转而去拥抱TextMate,Sublime这类现代化文本编辑器,甚至关于vim和emacs孰优孰劣的争论又开始充斥我们的眼球!我一直很赞成熟练掌握一个跨平台、轻量级的编辑器,这样当我们临时面对一个新的工作环境时不至于束手无策,而且对于像ruby这样的动态语言,IDE可以帮上的忙确实并不比一个现代化文本编辑器多多少,但是这并不是说我们就要从一个极端走向另一个极端。回到静态语言,IDE可以在编译之前就帮程序员进行错误检查,可以精准地索引代码符号,可以准确显示代码元素之间的各种关系,可以支持自动化的重构...,尤其对于较大型的工程,如果没有一款合适的IDE,绝对会极大地影响开发者的工作效率。

IDE所支持的功能可以从代码开发到代码测试、构建、调试、发布、部署...,就如何评判一个IDE是否好用,因人而异。我本人认为一个好的IDE应该满足以下几类主要的功能:

如上所列的feature,根据语言特点不同,IDE的实现难度也不同!由于java的运行环境和语法相对单纯,所以好用的java IDE从不匮乏,例如常用的eclipse、intelliJ IDEA等几乎都能做到上述功能!而反观c++语言,IDE的支持一直不是很理想!由于现代c++主要用在高性能计算、系统编程、嵌入式开发中,早已不是当年主要用来在windows平台上开发GUI工具软件了,所以visual studio c++早已是明日黄花,难以满足今天对c++灵活的使用要求了,我们更需要的是一款跨平台的,适应各种使用场景的现代化IDE。

下面对比了个人使用过的一些c++ IDE,其中我着重强调了每种IDE的口味,因为在我的经验里选择一款IDE其实更多是在选择一种编码风格。

Source Insight的口味单一,它喜欢咀嚼传统的c语言工程,不喜欢代码中有太多的函数指针(对它如同鱼刺一样)。它的消化能力很好,文件大点也能吃下,即使有很多预编译条件的不明物体也能尽力吞下消化。适合经常阅读遗留系统中的c代码而很少用其写代码的程序员使用!

VS喜欢吃快餐,但又极度挑食,只爱吃按照微软烹调法构建的快餐,而且最好搭配番茄酱(Visual Assist X)。它适合那些被绑定在windows下,追求强大debug功能,不介意经常使用鼠标,对开发效率没有极致要求的开发人员使用。

Eclipse的口味比较小资,它更喜欢程序员手动烹饪出来的各种私房菜。它喜欢精细的食物,对粗放的食物则往往消化不良(eclipse对大文件支持不好,默认配置是5000行,一旦文件过大,符号解析往往出问题);有的时候eclipse甚至显得有些洁癖,一旦你的代码风格不统一或者配置有问题,eclipse会出现很多不适症状。Eclipse适合对C++构建过程比较清楚、对代码风格保持整洁、追求开发效率的程序员使用。

Clion目前是收费的,免费版可以试用30天。

Clion对就餐环境档次要求很高,对食材的烹饪级别要求也比较高,可是它却有点眼大肚子小,行事铺张,导致其难以消化太大的工程,否则会让自己负重难行。Clion由于其新贵出身继承了不少优势,但也正是由于其不够平民化,所以阻碍了其使用范围。Clion目前适用于喜欢尝试新鲜事物,相对比较阔绰,没有历史负担的程序员使用。对于Clion我们可以跟踪其发展,希望它能够早日接地气!

上面是本人对IDE的一些看法,分享了我自己使用各种c++ IDE的切身感受。由于c++的应用环境比较多样,构建过程比较自由,依赖的外部条件比较多,而且语言也相对复杂,很多语法例如宏、模板特化、函数重载等都会增加IDE的解析难度,所以做好一款c++ IDE还是很难的,必须得承认目前为止还没有任何一款能够做到java领域的成熟度。但还是得说新版本的eclipse-cdt在各个方面做的还是很不错的,如果能够合理的配置eclipse-cdt,并且熟练掌握它的操作方式,绝对可以帮助你提高c++的开发效率。

下一篇文章将会全面分享我自己的eclipse-cdt配置,以及一些常用的可以提高效率的操作方式,希望可以深入地帮助到大家。

上一篇 下一篇

猜你喜欢

热点阅读