写C++/VC++也有段时间了,虽然时间不是很长,但是也算是有点能力了。
这些天写个修改IP地址的小程序。搜索资料,code代码,总算是写出了个大概。可是我却越来越写不下去了。
我使用codeblocks+mingw写的,自然只是写的win32代码。各种消息处理,消息循环,深深地让我感觉到了C++(或者说是C)的繁琐。可是我却越来越写不进去了,我不知道我在写的是什么,除了调用几个标准C++的函数,类,我实在不知道自己到底是在写C还是C++。曾经看到网上说C++之父批判说面向对象,那时候不是很明白。现在突然明白了,调用C++标准库中的几个类,函数,模板,并不代表这就是面向对象了,它可以仍然是C,这也可能就是C++后面的两个加号的意思了吧。它可以或者它的本意只是做一个C的扩展而已,面向对象只是适逢其会,加入进去了而已,没有面向对象,C++仍旧是C++。
不得不承认,C++在一定程度上确实减轻了曾经C程序员的许多繁重的工作,但是,它也的确不是一个好的面向对象的选择。面向对象对于C++来说,只能算是锦上添花,绝对不算是中梁砥柱!甚至可以说,在一定程度上,面向对象使C++变得更加艰涩、难懂!
没有C#/Java的完全面向对象,没有C的完全面向过程,但是对C进行了改进和扩充,这就是C++。
亦如我当初在犹豫是否要从Java转到C++的时候的想法,C++不是我想要的!我想要的,是Java的面向对象C的底层能力!
或许我将不会再继续C++,或许我将探索新的领域……