浅析C++标准化问题

开发 后端
C++标准化在面向企业的软件开发中,在开发便捷性等方面的确要比Java和C#差很多,其中一个问题是C++语言本身比较复杂,学习曲线比较陡峭。

在C++标准化中,有关缺省变量值的限制非常模糊。基于此,很多编译器允许开发人员将缺省变量值包含在函数声明,指向函数的指针和引用,成员函数的指针,以及typedef声明中。

文章列举的大量相关资源就是***的证明,而业界的大量用C++写成的产品代码以及大量的C++职业工程师则是最直接的证明。同时,我们可以看到各个高校的计算机专业都开设有C++标准化这门课程,网络上对于C++的学习讨论也从来都没有停过。但是,在Java和.NET两大企业开发平台的围攻下,给人的感觉是C++越来越“不行”了。

另外一个问题是C++标准化的时间太长,丧失了很多的壮大机会,耗费了很多精力在厂商的之间的斗争上,而C++的标准库离一个完善的程序开发框架还缺少太多太多的内容,各个第三方的类库和框架又在一致性和完整性上没法和随平台提供的框架相提并论。难道C++真的要退出历史舞台了?

C++目前的活跃程度,以及应用现状来说是完全能够肯定C++仍然是软件工业的基础,也不会退出历史舞台的。另外从Boost,Loki这些库中我们也能够看到C++的发展非常活跃,对于新技术新思维非常激进,C++仍然广泛受到关注。

从ACE在高性能通信领域的应用,以及MTL这样的库在数值计算领域的出色表现,我们可以看到C++在高性能应用场合下的不可替代的作用,而嵌入式系统这样的内存受限开发平台,比如Symbian OS上,C++已经发挥着并且将发挥更大的作用。

可以预见的是以后的软件无论上层的应用怎么变,它的底层核心都会是由C++标准化这样的系统级软件编写的,比如Java虚拟机,.NET Framwork。因为只有这样的系统级软件才能完全彻底的发挥机器的功能。 需要看到的是两个趋势,一个趋势是C++变得更加复杂,更加学院派,通过模板等有潜力的语法因素构造越来越精巧的库成为了现代C++的热点。

虽然在利用库实现新的编程范式,乃至设计模式等方面很有开创意义,也确实产生了一些能够便捷开发的工具,但是更多的是把C++变得更加强大,更加复杂,也更加难懂,似乎也更加学院派,不得不说它正在向边缘化道路发展。

另一个趋势是C++在主流的企业应用开发中已经逐渐退出了,ERP这样的企业软件开发中基本上不会考虑C++,除非需要考虑性能或者和遗留代码的集成这些因素。C++退守到系统级别语言,成为软件工业的基础是大势所趋。

然而反思一下,真的是退守么?自从STL出现,无数的人风起云涌的开始支持C++,他们狂呼“我看到深夜消失了,目标软件工程的出现。我看到了可维护的代码。”是的,STL在可维护性下做得如此出色。

但是又怎样呢?STL为C++铺平了现代软件工程的道路,而在上层应用程序软件开发领域这块场地早不单独属于C++,很多程序设计语言都做得很出色,疯狂的支持者会毫不犹豫地说我们应当支持C++标准化,因为它是世界上最棒的语言。

而坦率地说,你的腰杆真的那么硬么?也许只是在逃避一些事实。C++标准化是优秀的,这不可否认,STL的出现让C++一度走上了最辉煌的时刻。然而现在看来……我的一位恩师曾言。

真正能够将STL应用得***的人很保守地说国内也不超过200人,或许不加入STL能够使C++向着它应当发展的方向发展的更好,而现在看来,C++也应当回首到真正属于他的那一片圣地上……

【编辑推荐】

  1. C与C++中标准输入实现方式上的一点区别
  2. C++编译器如何对Const常量进行分配存储空间
  3. C++类库设计的基本构思与方法
  4. 玩转C++语言的几种方法
  5. 如何更好的进行C++代码编制
责任编辑:chenqingxiang 来源: NET130
相关推荐

2010-01-21 16:18:06

C++语言

2010-01-25 14:18:46

C++对象模型

2009-12-18 16:33:14

ADO.NET标准化

2016-10-07 22:09:59

2010-04-20 14:55:58

Oracle标准化

2010-01-19 10:04:30

C++类

2010-01-22 17:21:32

C++语言

2015-09-01 10:28:56

云计算标准化需求标准化组织

2012-06-14 10:16:30

ibmdw

2021-05-14 13:57:01

数据标准组织技术

2024-09-29 08:54:36

2018-01-09 09:32:48

开源标准化基础设施

2010-01-27 16:05:06

C++堆栈

2010-01-21 09:34:57

C++语法

2015-09-02 13:09:32

大数据标准化

2017-12-07 11:16:17

云计算云服务国际标准

2012-07-27 09:33:56

云计算标准化

2011-03-03 10:37:24

云计算戴尔

2009-12-21 13:42:10

Linux手机

2015-08-25 10:40:22

运维标准化
点赞
收藏

51CTO技术栈公众号