我们还需要c++吗?

来源:互联网 发布:网站数据库怎么迁移 编辑:程序博客网 时间:2024/04/29 05:03

 

我们还需要c++吗?

1)这个问题一直是个争议很多的话题。

2)c++ 一直面临的尴尬。

1) 关于c++的争议,这个问题自从它诞生就有了。 它一直没有一个明确的二进制标准。 而且它不是一个纯的面向对象的语言。 面向对象的封装性,在其语言内部是很难得到直接实现的。 必须要使用者建立类工厂这种应用库模式 ,才能保证封装(这个问题,我会仔细解释)。

这个问题好像是很根本的。

相比而言,垃圾收集等问题,倒成为了小问题。

同时,要想熟练掌握c++,不是说精通,需要花费比其它OO类语言更长的时间。这也几乎是有定论的。

第三,除了厂商提供的专用c++库以外,c++的标准库,非常匮乏,相对于java工程师,c++工程师发现自己经常在制造轮子。 而模板库,c++倒是一直走在前面。但对于大部分工作的开发效率来讲,类似java那种标准库,来得更快。在快速建造应用方面,c++一直是相对劣势的。

比如很少有资深的工程师愿意直接在c++代码里面去操作数据库,而宁可用c++完成内核需要大量计算的工作,把调用sql的工作留给vb和其它更容易操纵数据库的语言,进行所谓的混合语言编程。

还有一点,由于保留了指针,写这种语言的程序,其内存调试周期会稍微长一些。c++对于那些没有多少经验的入门工程师来讲,某种意义上就是一种梦魇。

2)但是,在关键的领域,c++语言却又很难被vb或者java这些语言取代。这些领域里面,oo模型加上灵活的指针,可以做出很多精巧的系统来,而且可以做到执行起来很快速。

3)相对于java拥有sun这种所有者,c++不是属于哪个厂商的标准。这个是劣势,也是其优势。 看看四分五裂的unix(现在还横空出世了一个linux试图来消解这个问题),就知道标准的分裂多可怕。还好,c++比unix强,没有四分五裂。虽然各个厂商推出了一些私货。但好在还算统一。我估计微软正是因为感觉它自己控制不了c++,所以“阴御之”。弄出一个C#,而且加上它自己的.net平台,弄得c++无处容身。因为borland已经日薄西山,而微软在有意无意放弃c++。所以,c++已经很难找出一个真心实意大力支持其发展的强力厂商。 java上好歹也有ibm和sun。微软在弄自己的C#。c++有点孤儿的架势。

4)所以,它的命运,是不确定,或许非常光明,或许是晦暗的。

待续。

 

原创粉丝点击