C++ 0x 简要介绍
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) 编辑 收藏 举报