C 是一门造成成千上万异议的语言表达。
眼底下最总听的响声则是C 将趋向衰落,会被某某某语言表达替代。
我很猜疑这类普世价值的起始点是商业服务宣传策划,C 的真正发展趋势应该是愈来愈趋向于精锐化。
精锐化就是指在可以用可无需C 的行业中,C 将慢慢撤出,
而全部剩余务必用C 的行业一般 全是增加值较为高,难度系数较高的行业,例如:电脑操作系统,数据库查询,商业网站后面等。
这一全过程导致的状况便是在TIOBE上,C 的市场份额逐渐降低。
但如同经济发展上挤泡沫塑料一样,这倒并不是C 没落了,只是本来大家对C 的期待过高了。
早在1995年,英国的调查机构就以前*分析:“终端产品用户”程序编写从从业者比例上把占94%,而“基本构造”程序编写从业者只占1.5%不上。
(参照《软件成本估算:COCOMOII模型方法》)
C 原本就不宜“终端产品用户”这类涉众许多的新项目,例如货运物流程序流程,而合适对特性规定较高的基本构造新项目,例如OS,大中型数据库查询等。
(依据Google的检测,C 的performance远超别的语言表达)
仅仅当初OO挺火的情况下,大伙儿又没什么其他挑选,就一窝蜂的用,事实上许多程序流程的确不宜用一个沒有废弃物搜集的程序流程来写。
这里有一份统计分析目录,大伙儿能够自身看一下,当今C 的主阵地是那边。
The Programming Languages Beacon(这一表告知大家:IT领域的骨骼是C/C 做的)
这造成 的結果便是修练C 的程序猿务必往高档走,你要不找工作难,要不就寻找非常好的工作中。
而并不像别的语言表达,大差不差还能混饭吃。
这一发展趋势不太好**,但可能在未来会被加强。TIOBE上C 的市场份额跌得越大,这一发展趋势加强的越强大。
短期内彻底看不见C 撤出历史的舞台的概率,只需硬件配置或是手机软件的基本:
例1:网址A和网址B相近,用C 能够让速率提高30%,你觉得这一网址会挑选语言表达的便捷性,依然会挑选速率?
例2:企业A要开发设计一个新的硬软融合的商品,你觉得他会先开发设计一个vm虚拟机,再开发产品,依然会立即根据硬件配置上封裝推动后开发设计程序流程?
2个重要缺点
这两个重要缺点分别是语言表达的过多繁杂和标准库的过多惨白。
C 语言表达过度繁杂在业内是的共识。
一个表针就使C 比关键词数量同样的语言表达繁杂很多,导进模版后各种各样运用精致的运用使这门语言表达进一步复杂,我觉得C 0x使这多元性又提升了。
Google在发布的C Coding Rule开场便说:
As every C programmer knows, the language has many powerful features, but this power brings with it complexity, which in turn can make code more bug-prone and harder to read and maintain.
这儿也就很少讲了,但贴好多个好玩的句子:
"C makes it easy to shoot yourself in the foot; C makes it harder, but when you do it blows your whole leg off." —— Bjarne Stroustrup(Stroustrup或是挺搞的,直译下:C语言令人非常容易打枪走火打进自身的脚,C 让走火产生的概率减少,但一旦走火,你的腿就没有了。)
"IMO, good C code is better than good C code, but bad C can be much, much worse than bad C code." —— John Carmack.
C 标准库的惨白倒非常值得多讲一点不清楚未用过C 的人是不是能想像,这一全世界也有一门语言表达的规范杜兰特乃至不遮盖正则表达式和XML. C 就是这样,而且还将不断那样。我专业查了一下,C 0x里仿佛总算有正则表达式了,但都还没XML的库。
(无需提示,因为我了解boost里有,但boost并不是标准库。)
C 自身不缺少库,而且还全是巨头级的,如:OpenCV,OpenMP,ACE,MPICH2等。
随意那一个全是一方诸侯国,假如你未用过OpenCV和OpenMP这种物品,**次用一定会有点儿震撼人心,但关键是标准库不没有起色。
从这一角度观察C 0x方位走不对:画龙点睛的事干了许多,锦上添花的事上不太贴心。
感受C 语言表达早已没法简单化,假如c语言编译器可以给予可订制编译程序或许对这一语言表达会出现协助。
例如:设置某一选择项后,C 就变成了有目标的C.设定某一选择项后,多种承继就不兼容了。
或许有c语言编译器能够那样,但我的确还不知道。
再不好,自身定下标准应用C 的特殊非空子集吧。