返回

天津达内教育

C++的精英化趋势与两个关键缺陷

java学习网更新时间:2021-10-06 浏览:182

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 的特殊非空子集吧。

相关资讯

java技术有哪些优点优势
2021-07-15 371
Java技术性有以下优势:简易、面向对象编程、分布式系统、表述实行、鲁棒性、安全性、系统架构保持中立、生命期、性能卓越、线程同步及其动态...
c++ vector 使用效率问题
2021-07-15 370
1. vector中的erase方式 高效率是很低。由于为了更好地维持vector中原素在存储空间中的持续性,在删掉某一原素以后,*将之后...
Java未来发展的趋势
2021-06-15 367
没有Java,甚至不会有大数据的大发展,Hadoop本身就是用Java编写的。当你需要在运行MapReduce的服务器集群上发布新功能时,你需...
初学者适合学习哪些编程语言
2021-07-15 354
许多同学想改行程序编写,可是那么多的计算机语言究竟该怎么选呢?头痛~如果你是一名具备创新性的开发人员或是想变成一名具备展望工作能力的开发人员得话,那麼,你应该最少在**是的计算机语言中挑选一个,相近 Python, JavaScript, C#, C++, PHP, Java, 或是 go...
云计算技术与应用学什么东西
2021-07-16 343
云计算技术与应用是学什么的?众所周知,云计算技术是当前的热门技术, 云计算专*技*人才是香饽饽,计划学习云计算技术与应用...
学Java可以做哪些职位
2021-06-11 323
Java是时下非常流行的语言,这意味着有很多很多不同的工作可供选择。Java软件工程师入行1-3年,*已达到10-15万,而且在IT行业...
学什么技术有前途 Java怎么样
2021-07-19 305
如今正是互联网信息时代,随着时代的变迁肯定会发展的越来越好,而Java编程语言是最于我们生活息息相关的,用处范围广泛,比如:...
JAVA基础课程学习知识点有哪些
2021-06-24 286
步骤一:学习 JAVA 的开发环境配置、开发 Java 程序。也建议大家开始使用eclipse 等 IDE,不必纠结是不是一定要从记事本开始。...

相关课程

栏目导航