C ++为什么没有被一种快速,实用且合理的语言取代

从甲骨文到金文,再从金文到小篆直到现在的文字。每种语言更迭变化,淘汰的无外乎是那些繁琐的,于现实中无意义的文字。那C++存在这么久,就没有任何一种语言可以取代它吗?前面文章也说过一些,但是现在想从实际难度出发去说。这里很多借鉴了国外学者的看法。

1.需要大量投资:将新的编程语言广泛使用需要大量的精力和时间。通常大约十年,通常在大公司或社区的支持下。这必须包括语言的设计和开发,标准库的开发(或与标准库集成),可靠的编译器/解释器的构建,以及(最后但并非最不重要的)普及语言所需的社区发展。看看现在被广泛使用的语言-C,C ++,Java,Python,Ruby,PHP,C#,JavaScript,Perl-这很清楚。

2.语言优势很少推动采用:同样,从历史上看。Lisp具有垃圾回收功能,并且动态功能现在在Ruby或Python中得到了认可,具有更好的性能,但无法保持吸引力。几乎没有人认为PHP是一种经过精心设计的语言,但是它仍然在发展(在Facebook之类的巨头的支持下),即使在大多数评估中,更喜欢Python或Ruby之类的替代方案。实际上,在采用方面,几乎每一个 重要的因素比语言的基本设计更为重要,包括企业或社区(Sun,Microsoft,Python社区)的支持,工具(Eclipse,Visual Studio),库支持(C ++,PHP,Java等),杀手级应用程序(Rails),平台(Mac / iPhone,.NET)和历史悠久的利基专业知识(具有Fortran的物理学家)。

3.缺乏专业知识:令人惊讶的是,考虑到进行实时编程的人数,对编程语言的广泛了解非常罕见。大多数开发人员最多只了解其中的两个或三个,并且通常来自同一家族(例如C ++和Java)。部分原因是学习语言需要大量投资,部分原因是文化孤立主义。(作为说明,请查看有多少Java程序员可以使用REPL风格的探索性开发,例如使用BeanShell,Rhino或其他工具。)很难提高一流函数,类型推断,闭包,元编程的重要性。 ,延续或方法周围(例如,当它们不熟悉时)。甚至更糟,成功的编程语言的设计者们自己似乎常常没有认真调查其他语言的想法。(这里当然有例外。)结果是,回想起来似乎“合理”的功能在可以添加时就被忽略了。

4.设计难度:即使您有才华横溢且见多识广的设计师提供了大量支持,但在设计语言时仍然很难做出明智的选择,因为学习您的错误(包括遗漏和调试)都需要花费很长时间。从根本上讲,语言设计就是其中的微小细节会产生巨大影响的情况。很难预测一种新语言的五十万行代码库的外观,以及问题将如何。到您知道的时候,更改任何实质性内容通常为时已晚。

5.实施困难:编写好的编译器或解释器和平台很困难。如果没有功能全面且可靠的平台,该语言将一无所获。它很容易启动并运行一些玩具程序,但是构建(例如,与gcc进行竞争以进行优化的优化编译器或与Sun的JVM进行竞争的虚拟机)所需的专业知识非常丰富。它需要足够牢固地构建,或者至少要有足够的支持,以使人们足够信任它才能使用它。

快速的软件业务周期:在软件行业中,也许是因为它是如此的不稳定,所以企业通常会避免这种长期投资。尽管几乎可以肯定,通过改善编程语言的状态可以大大提高生产力,但是相对于其他因素(例如不断发展的Web使用,移动技术或消费产品使用),这项投资的规模如此之大投资通常看起来昂贵且冒险。

大概所有的内容就在这里了,有什么不对的还请多多指出,今天发文时间也比较晚了,然后各位看官晚安,好梦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值