C

2008-02-23 05:41:08来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  Stephan Lavavej提出了一个很有趣也很尖锐的问题:“C 的未来在哪里?”

  这个问题是有解的。没有哪个语言会成为永恒,不是吗?(尽管C语言现在依旧生机勃勃)我不希望C 在2017年,或甚至在2057年也依然那么有活力。在电脑行业,50年已是个几乎不可思议的时间了;虽然到今年为止,晶体管已有60年的历史。所以,在我问“C 的未来在哪里?”这个问题的时候,实际上是想问在接下来的10年,20年或30年,C 会有什么变化?

  在文章中,Stephan引经据典,提到了Bjarne Stroustrup发布的一篇关于C 的论文,和Alexander Stepanov关于C 底层机器模型的访谈。

  然后他指出,尽管C 作为一门语言一直关注性能的问题,但根据Herb Sutter在2005年发表的一篇关于并发的趋势连同语言必须演进以迎接这些挑战的论文,由于工艺的限制,底层硬件的发展现在处于一个不稳定的状态。Stephan说:

  在C 改变最大的核心语言属性列表中,应该包括可变参数模板(Variadic Template)、概念和左值引用(rvalue reference)等。前两个会使得写模板更加有趣,这当然很好,因为模板是生产高效代码的一个很有力的方法。另外第三个主要面向C 03中最为薄弱的领域之一——复制数值的趋势。

  一个叫Jared的评论者也同意Stephan的观点,但对.NET能否像C 那么长盛不衰,没有太大的信心:

  说得好,但是我相信C 会一直兴盛到2057年。实际上我认为C 会比.NET撑得更久。(我认为.NET最终会因为市场驱动而成为一个技术实体,但不好说)

  Jim Grow不同意关于托管C 没有像其他.NET语言引起别人注意的论点:

  看上去C 将会被打入冷宫,只有几个顽固不化的分子坚守阵地,大部分人都已转投.NET编码阵营。因为C 和现代的工具集那么地不合拍,公司和研发人员在无路可走的时候才会选择他。真的好惨,C 本来能够使.NET平台上的一个很优秀的语言。可悲地是,有些人却别有动机,说.NET研发人员都在使用其他的语言。

  Olivier Giroux担忧的是C 内存模型在未来的表现:

  在单个芯片里同时运行100多个线程的性能,和只运行2到8个的情况是很不同的,尽管您知道将来的趋势是能够做到的。

  因为有足够多的线程同时运行,指令就很充足,您能够将已有的指令全都塞满。很快,阿姆达尔定律(译者注:该定律指出在体系结构的优化设计过程中,应该挑选对整体有重大影响的部件来进行优化,以得到更好的结果。)就把您牢牢拴在内存接口处。在过去,我们用缓存设计解决这样的问题,但那要比一个超线程负载需要更多的分部一致性。

  所以,C 在性能方面最大的威胁可能来自硬件,因为通过C 现在提供的内存模型还不容易对其进行相应的编程工作。

  那么InfoQ中文站的读者对于C 作为一门语言的前景是如何理解的呢?他是会继续昂首上前,还是即将辉煌不再?




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 瘦身前后——兼谈C 语言进化[3]

下一篇: 使用GProf来优化您的C/C 程式

热门词条
热门标签