首先C++做为提出超过25年的标准,很多方面已经跟不上时代发展了。最突出的矛盾就是C++尝试涵盖过多应用领域,却没办法让大家脱离繁琐的语言标准本身。下面分几个方面讨论一下:
1. OOP
C++作为第一个实用的OOP Language为行业进步做出了辉煌的贡献(所谓实用主要是相对于smalltalk),不过C++的OOP毕竟很不纯。我个人觉得可以用波尔的原子模型来类比,即大致上建立了可行的模式,但是当需求触及边界的时候模型就开始失效。用C++来做大项目,程序员很难专注于OO Modeling本身,需要了解太多所谓的C++ gotchas。当项目进入维护阶段的时候这种语言标准本身的先天不足更是噩梦一般的烦扰。
之前的人们是没有选择,不过现在立项的新项目大多寻求Ruby, Python之类的脚本语言来做复杂的OO Modeling,辅以C来做核心的数据结构和算法实现。比如Google就遵循C+Python的模式。
2. 语法
C++的语法严重偏向imperative。在20年前是没有任何争议的东西,不过现代语言都需要在imperative和declarative之前取得一定平衡。具体到使用上,C++太容易出所谓的human mistake,这也使得C++的维护非常困难。当然了,C也是纯粹的imperative,不过C是门简单的小语言,而且有明确的应用场合(核心数据结构/算法优化,嵌入式开发,操作系统底层,驱动等等),而C++应用无所不含却又很真正难适应需求。所以C的生命力一直顽强。
3. 易用性
这个和语法相关,当然也和别的语言特性相关。总的来说初学者不容易上手是公认的,而且熟练程序员也不容易出效率。
总的来说新项目用到C++的越来越少,cutting edge的用到的就更少了。如果不是在已有code base上开发,大家现在都不倾向于选C++。这就是为什么我判断C++已经死的差不多了。就算是0x的几个诸如smart pointer的标准出来,也很难让C++再一次具备竞争力。
我也不太晓得你的判断依据,不过我先说好了
所有跟帖:
•
你说得似乎都在点子上, 应该是高手。 我不太写程序。
-乱弹-
♂
(0 bytes)
()
05/12/2009 postreply
19:22:59
•
你说的很好。一看就知道是个高手。可是,尽管
-戏雨飞鹰-
♀
(233 bytes)
()
05/12/2009 postreply
20:24:43
•
说明一下,我不崇尚C++。
-戏雨飞鹰-
♀
(0 bytes)
()
05/12/2009 postreply
20:29:27
•
感谢两位花时间看我的闲话
-累死算了-
♂
(758 bytes)
()
05/13/2009 postreply
10:52:51
•
你的闲话,让我这个连菜鸟都不如的草包子很受启发。
-戏雨飞鹰-
♀
(252 bytes)
()
05/13/2009 postreply
12:58:57
•
很多都说不上是我自己的话
-累死算了-
♂
(0 bytes)
()
05/13/2009 postreply
18:26:31
•
上个帖子不小心发空了
-累死算了-
♂
(246 bytes)
()
05/13/2009 postreply
18:29:28
•
thanks a lot.
-戏雨飞鹰-
♀
(0 bytes)
()
05/14/2009 postreply
04:07:23
•
才发现有字似乎被滤掉了
-累死算了-
♂
(63 bytes)
()
05/13/2009 postreply
21:12:53
•
回复:我也不太晓得你的判断依据,不过我先说好了
-我爱C++-
♂
(227 bytes)
()
05/13/2009 postreply
16:21:15
•
我认为你举的例子还是有些历史原因
-累死算了-
♂
(203 bytes)
()
05/13/2009 postreply
18:47:33
•
纯属讨论
-我爱C++-
♂
(1230 bytes)
()
05/14/2009 postreply
10:44:45
•
我们展开来讨论一下
-累死算了-
♂
(2325 bytes)
()
05/14/2009 postreply
17:40:55
•
可以开个主贴讨论。蛮有意思的。
-乱弹-
♂
(0 bytes)
()
05/14/2009 postreply
18:23:30
•
毕竟不是专门板块,回帖里灌灌水没什么,开主贴就不合适了
-累死算了-
♂
(0 bytes)
()
05/14/2009 postreply
18:25:42
•
I highly recommend u make a new thread
-戏雨飞鹰-
♀
(234 bytes)
()
05/14/2009 postreply
18:53:09
•
不过,现在的职坛跟以前不大一样了:失业的人太多了。讨论技术的话题少了。。
-戏雨飞鹰-
♀
(128 bytes)
()
05/14/2009 postreply
19:00:20
•
typo: 不敢
-戏雨飞鹰-
♀
(0 bytes)
()
05/14/2009 postreply
19:04:06
•
回复:我们展开来讨论一下
-我爱C++-
♂
(1058 bytes)
()
05/14/2009 postreply
21:39:02
•
我也说着玩吧:)。一个产品的存在与否,最终要由市场说的算。
-戏雨飞鹰-
♀
(678 bytes)
()
05/15/2009 postreply
04:56:20