经常见到一种论调,就是思想才是最重要的,语言不重要。
这种论调,理论是如此。但是实际上没那么简单。编程这个活动,是以结果为导向的,拿不出有竞争力的产品就等于0
因此光有思想,仍有一个艰苦的实践过程。而且还不容易,得掌握IDE和相关的MFC/VCL库,以及配置正确的编译参数才行,当然还有语言本身,或者RTL库里有好用/不好用的一些函数和特点,还有第三方库的信息和使用方法等等。还有开发者使用某一种开发环境得到的经验技巧的积累,比如有些看上去很神奇的效果,其实很简单,但是在没有见到源代码之前就是不会。
因此,我强调对整个开发环境的掌握,因为我们要拿出的是一个产品,而不是一个简单技术的验证。
比如为了调用一个API,就想用VC试试:
int _tmain(int argc, _TCHAR* argv[])
{
int d = ::GetLogicalDrives();
printf("%d",d);
return 0;
}
报错:
error C2039: ‘GetLogicalDrives‘ : is not a member of ‘`global namespace‘‘
没办法,我都拿出Delphi来准备改写代码试运行了,但是
后来幸亏想起来,很久之前学过的一点VC知识,是不是应该这样:
#include "windows.h"
果然,加上以后就正确了。
这只是一个最最最简单的小问题而已,仍感缚手缚脚。或者,根本就是束手无策。
还有Delphi有String,C++里没有那么好用的类,处处都要用strcpy之类的函数,还要自己配置char*,真是缚手缚脚,而且烦死。
VC++里有CString,但其好用程度也远远不及Delphi的String。
还有Delphi有强大的第三方控件,有些控件实在非常简单好用,用过以后感觉就再也难以离开。
另外,许多软件产品,其开发思想,也能猜到,但是有几个人能去做出来?有多少精力和金钱投进去并做出来?