最开始学习C++,是还在学校读书的时候,教材是清华大学出版社的白皮书,用的工具是Visual C++ 6.0。那时,我连一台自己的电脑都没有,每天都要到图书馆去抢位子。直到毕业参加工作后,才有了自己的PC,然而,C++却用得很少了。
没毕业之前,以为C++语法加上MFC就是全部,连STL是什么都不知道。工作后,随着见识的增长,知道了Unix/Linux,知道了开源软件,知道了X Window,知道了Qt和wxWidgets,也知道了boost和ACE,知道了Effective C++和Imperfective C++。我对C++一直不能忘情,虽然日常工作使用的是Java,但我却一直关注着C++。凡是讨论C++的文章,无论是褒奖还是贬低,我都看得津津有味。编译器我也是从Visual C++ 6.0关注到Visual Studio 2005,从GCC 3.3关注到GCC 4.2。硬件也是从单核关注到多核,从32位关注到64位。现在,我决定暂时放下Java,重拾C++,付诸系统的学习并加以实践。以我目前的见识,这可以算是高起点C++学习之路了。
之所以说是高起点,我认为可从以下方面阐述:
1、硬件的高规格,目前的CPU已经全面从32位上升到了64位,从单核上升到了多核。因此,我必须更加注重64位编程,更加注重并发程序设计;
2、操作系统的高规格,目前新版本的Linux一个接着一个,每一个都提供了越来越优越的内核和越来越漂亮的桌面,让人目不暇接;
3、框架的多元化,目前已不仅仅只是MFC的天下,Qt、wxWidgets,每一个都比MFC设计得要更好,STL、Boost这些库也必须得花苦功去学。
4、C++ 0x标准就要出台了,所以更加需要把目前的C++学好用好,不仅要知道C++之所能,更要知道C++之所不能,要和其他的更多的优秀语言进行比较以便知道什么样的语法特色既简洁优美又不失效率,这样才能理解C++ 0x设计小组的苦心孤诣。
好了,不说了,C++ 0x标准的出台还有那么几年,而符合标准的编译器诞生还要再迟那么几年。在这几年的时间里,我得抓紧学习,赶快把自己锻炼成一个C++高手。