[C++]千万不要碰VisualStudio
最近遇到一些事情,让我对于现在的C++程序员有了很大的担忧。主要是:
- 将C++ = VC,不知道 VC/C++ 之间的差异,不清楚C++的标准其实是开放的,而非C#一样为Microsoft所"垄断"
- 不知道 C++ 的程序需要经过 编译(Compile)与链接(Link)过程,完全不知道 Make
- 不知道 C++ 程序的编译模式,不清楚 Debug 与 Release 间的差异
- 不知道 C++ 程序可以离开IDE单独运行,仿佛每次运行都要先按 F5
- 不知道 C++ 程序最主要的运行方式是 Console,所有的程序都要用 GUI
- 只知道 C++ 开发 GUI 使用 MFC,不知道可以用QT、wxWidgets、SmartWin 或者 VCF
- 不知道 Boost 库,也不知道 STL 库不是一种
- 不知道 GDB,不知道如何利用命令行方式进行调试
C++学习者,以上的一些问题你是否遇到呢?可惜的是,我遇到一些自称是”c++高手“的朋友,对上述问题无法做答。因此,我不得不大声对C++初学者强烈建议:千万不要碰Visual Studio。其实,这本不是Microsoft的问题。作为一个软件提供商,其为用户提供最方便快捷的IDE工具是必然的。但Visual Studio是商业软件(除了Express版本以外),要获得Visual Studio的授权是需要支付高额的费用(相对于学生而言)。因此作为学生,不应该也没有经济基础在学习C++阶段应用VisualStudio这样的IDE软件。他们应该去用 Code::Blocks、CodeLites,或者EclipseCDT。只有这样,才能在简单的环境下熟悉掌握C++最基本的概念,才能领会C++的精神。而一旦在这些环境下能够开发C++程序,到了工作单位,有了Visual Studio这样的环境,就能够游刃有余地工作了。否则,在Visual Studio下学习很可能不熟悉C++基本知识,造成"与浮沙上筑高台"的现象,最终所学不牢靠,遇到有些难度的技术问题找不到解决之路。这样的记录,希望C++的学习者们,要深刻反思Visual Studio对于学习的作用,让工具辅助学习,而不要阻碍学习。