我们还需要c++吗?——我的概率解

我们还需要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)所以,它的命运,是不确定,或许非常光明,或许是晦暗的。

5)如果有哪个二线厂商,抓住这个机会,在兼容C++基本标准的基础上,听听写程序人的呼声,做出一个革命性的C++来,将获得很大的支持。比如这个c++,保留运行速度快的特点,保留指针,但用一个选项让程序员自行决定在他自己写的工程里面是否保留指针。有一套易于使用的操作数据库、操作网络接口、操作网站接口、操作类似DLL的接口库的东西。应该还是有很大机会。因为C++程序员人数众多。 这是一个可能。或者不知道从哪里跑出来一个类似linus的人来,以开源的方式、独立的姿势,整一个新的C++ IDE以及类库出来。这两个基本属于同一类可能性。

6)另外一个可能是,没有哪个一线或者二线厂商愿意真正在C++开发工具上图谋发展,则C++真的有可能日薄西山了。这个可能性是无法排除的。

7)在我个人看来,第一种可能性会高一点,因为目前C++的处境还是比UNIX那种情况好一些。我给它一个70%的概率吧,第二种情况给它一个29%概率。

8)剩余的1%的概率,留给上帝。也许某种超级NB的语言(不是C#啊)正在酝酿过程中,等它出来,用5-10年时间把我们目前的c++/c/java/c#等等来一个横扫,也是有可能的。这个真的只有上帝才知道。

关于封装性问题。我专门用一个例子来讲吧。

(又晃点大家了,不好意思,忙去了,回来补充)

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值