现在随着M$ .NET平台的推出和新的开发平台的推出,越来越多的人向我问到关于开发语言选择的问题。我越来越害怕回答,总有一种一旦回答错就会误人子弟的感觉。
但不论以后出现再多的开发语言,C/C++永远都将是我不变的追求。我喜欢C的简单和高效,C++强大的面向对象功能。它不是最强的,但它却最适合我和我现在的工作。虽然现在的站点的是关于VC开发的,但我更希望大家能够多花些时间去关注C/C++语言的本身。MFC是C++的一个具体应用,那些使用C++ Builder的开发人员,同样的是在使用在C++上建立起来类库。在所有的这一切中语言是根本,大家只不过是为了不同的工作选择了不同厂商的产品而已,然后又因为不同的产品养成了自己不同的开发习惯。
我时常在论坛上看见一些问题,让我无从回答,因为我实在不知道如何回答才可以讲得清楚,说得明白。很多人的问题都是因为对语言本身缺乏熟悉。
现在我和别人聊天都很少再谈关于VC的长长短短,开发中我也渐渐减少了对MFC的依靠,更多的使用C的标准函数和STL。但由于在Win32的平台上开发,还是避免不了对平台的依靠,其实使用标准的C++完全可以编写出独立与平台的程序。
其实无论如何多的开发语言的出现还是新平台的出现,C/C++都不会轻易消失(我认为是绝对不会消失),到目前为止C仍然是一种可以直接的轻易的操纵内存地址的开发语言,就凭这一点它就有足够生存的理由。C#那些所谓的受控代码(Managed)都是些欺骗人的谎言,出于内存操作这个目的,C#已经没有必要使用指针,或者说C#已经没有必要再去操作地址。有时后我使用指针时会想到贩毒,有风险才会让人觉得刺激,成功时的感觉才会更强烈。
我现在也希望自己能够学一些其他的开发语言,当初想过学Dephi,java但都是浅尝辄止,没有深入。后来为了开发网站才学了asp,我觉得会使用C/C++已经足够了。我做不了RAD但我可以开发出高效和稳定的后台服务程序。
以前用C是因为它原始和高效,C++和其他的面向对象语言相比更加简单和稳定。因为简单我们才能够做更多的事情,我们开发出的系统才可以比别人开发出的更加稳定。
现在出现的各种语言入Java,C#包含了太多的商业利益在里面,让人感觉失去了开发语言的纯洁(我这样说大家是不是觉得希奇)。象C#这种语言就是一个典型的只为M$服务的开发语言,用社会主义的话来说就是从出生时每个毛孔都就散发着M$的铜臭气(那些学C#的朋友不要生气,我这样说只是开开玩笑)。
虽然Java在国内用得少,但在国外却很火。这可能是因为国外得软件业更正规和更趋利,国内得开发人员更多的还是在摸索和寻找自己的位置,因为整个软件业不规范,在这种环境下成长起来的程序员就惟有用高编程水平来阿Q一下了,我们做得比别人多,钱比别人少,待遇比别人差,但我们水平高呀。怎么说着说着又开始发牢骚了,其实没必要这样,假如不能改变现实就学会适应现实。
我觉得自己真正学好的开发语言就是C/C++和Perl。但想起来总有点怪怪的,这些语言都面临着被淘汰的可能,至少是在Windows平台上。(虽然很多朋友这么看,但我确不这么看,否则我还有什么必要写这篇文章)
能够看见 int main(int,char**)是我一生的追求,我永远都不会放弃C/C++,哪怕有一天我为了生计而使用另一种语言,但在我心中C/C++永远都是一片圣洁的土地,我永远也不会放弃的追求。
对了M$推出了Visual J# .NET Beta 2,所以使用任何一种开发语言的程序员都不会被轻易放弃。更不用说是C/C++。
更多内容请看C/C++技术专题专题,或