C++ 0x 简要介绍

C++语言已经发展了很多年,依然是现在的主流语言之一。曾经在Java诞生之初,有人曾预言c++将会消失。然而这一切似乎仅仅是一个小小的玩 笑。c++作为继c之后一门系统级语言在8,90是年代可以说是风靡一时。那么它有哪些特性呢?它支持什么呢?用Bjarne的观点来看:

  1)  比c好用

  2)  支持数据抽象

  3)  支持面向对象的编程(80年代)

  4)  泛型编程 (90年代)

那么它能应用在那些领域呢?基本上全球都在使用。通信,航天,google,微软,linux,游戏,photoshop,finance,火星探测器系统。。。。。。。。。。。。。。。。。。。。。。。。。。。

那么c++到底是什么?Bjarne说过,c++是一个hybrid language.它支持c,面向对象,泛型,模板元编程,各种编程接口。

说了这么多和c++0x有什么关系? 任何事物都在发展,人们的认识也在发展,所以c++也要发展。c++要发展的让人更容易使用,学习,所以,它注定了要把很多新的技术联合起来,这就形成了c++0x。

 

给c++0x做一个简要的介绍吧,跟c++98比,它看起来更像是一个新的语言。同时,它不仅仅是面向对象,更强调:类型,分类和类型的操作以及concepts,算法,资源及资源的生命周期管理。

c++0x的一些规则:

  1)最重要的是把功能特征以组合的方式使用。

  2)稳定性和兼容性。

  3)以库的形式来扩充语言。

  4)更提倡泛化而不是特化。

  5)给专家和初学者提供帮助。

  6)增强类型安全。

  7)提升性能和增加直接对硬件操作的能力。

  8)只增加人们思维变化认识变化的特性。

  9)和现实世界紧密结合。

总的来讲,c++0x包括c++语言核心和标准库两部分,现在c++标准委员会主要致力于语言的core,而标准库的实践主要有boost及其他几个公司或社区在开发。

对于语言核心主要有:

  1) 机器模型和并发模型:比如线程库,同步方式等。

  2) 支持泛型编程:比如concepts,auto,decltype,lambda等等。

  3) 统一的初始化。

  4) 性能提升,如运行时性能提升,编译时性能提升,以后有时间再介绍。

对于标准库,则主要是tr1和对数学库,c99的支持。

 

总之,有了0x只有,你会发现,c++也越来越好用,强大。不过c++的核心从未变过即 系统级,强静态类型的语言。请那些还停留在语言好坏的同志们,赶紧去研究研究自己喜欢的语言的新特性,看看是不是都有相互学习的趋势。c++ 也会越来越动态,但是应该不会到达像python,ruby那样的程度。毕竟,c++和他们的应用场合是不同的。

随着硬件发展越来越趋于平缓,除非新的理论出现,否则电子的工作频率总会到达一定的程度,像c++这样注重效率的语言必定能大显身手。这里还要罗嗦一点,一个语言的发展不仅仅是看语言本身,还要看它的支持者,说通俗点,要看钱。

就像c#一样,发展很快,主要还是微软有钱,发现什么不好,马上找人改,发现什么好,马上找人加。D语言也是一份非常棒的语言,但是就是缺乏厂商的支持,所以发展很慢。

 

现在google又出新语言go,让我们拭目以待:)

 

希望c++能越来越好用!

posted on 2009-12-22 16:29  thunderzhang  阅读(918)  评论(4编辑  收藏  举报

导航