公告:服务器迁移已顺利完成! 网址全面启用 https

服务器2号 服务器3号 服务器4号 服务器5号

申请VIP无广告,支付宝,微信,USDT!
在线客服请尝试以下不同链接如果进不了的话在线客服(1) (2) (3) (4) (5) (6)
(7) (8) (9) 实时开通

查看完整版本: 为什么 C 语言屹立不倒?[1P]

dadiwuchen 2012-6-12 01:06

为什么 C 语言屹立不倒?[1P]

有些语言诞生几十年了依然是世界上最流行的语言,比如C语言。有些语言虽然号称新兴的语言却很少有人使用。在编程语言这个领域里似乎不符合长江后浪推前浪这个规律。这恐怕不止语言本身的因素,里面的缘由值得研究者好好去探索一番。
[align=center][img]http://pic003.cnblogs.com/2012/157064/201206/2012061123010044.jpg[/img]
[/align]
[align=center]语言之间是不平等的[/align]

[align=left]  近年来,谷歌一直致力于开发出自己的编程语言以取代当今世上最常用的C、C++和 JavaScript。在系统语言方向,谷歌的 Go 语言能够为用户在数据中心内建立大型软件提供更多的便捷,有望取代C语言和 C++ 的地位;而在网络开发方面,谷歌希望凭借 Dart 取代 JavaScript。编程语言的世界里可谓是江山代有人才出,可有那么一位引领风骚达数十年之久,它就是C语言。

  编程语言之间的竞争一天也没能停歇,长江后浪推前浪,一代更比一代强。它们之中只有屈指可数的少数能够被市场接纳,成为程序员们日日夜夜的伴侣。究竟怎样的编程语言才能够成为大浪淘沙中的幸运儿?普林斯顿大学(Princeton)和加州大学伯克利分校(University of California at Berkeley)的研究者雷欧·马耶若维奇(Leo Meyerovich)和阿里·拉布金(Ari Rabkin)希望通过自己的研究,来解开编程语言世界的丛林法则。他们在探寻一个问题——为何C语言虽垂垂老矣却能屹而不倒?

  雷欧和阿里采访了数以万计的程序员,又在全球最大的软件仓库 SourceForge 梳理了超过 30 万份的程序。“为什么C语言没有被淘汰?”拉布金提出了这个问题。的确,C语言距问世之初已经有了 35 年的历史。在这期间里,计算机迈出了不可测量的发展步伐,软件和操作系统也早就今非昔比,编程语言中不乏叱咤风云的新生代,而C语言也有了升级版。即便如此,C语言依旧风采不减当年。

  拉布金刚刚取得了加州大学伯克利分校的计算机博士学位,如今在普林斯顿大学攻读博士后学位。“在学术领域,现今的趋势是解决那些尚未出现的难题,”拉布金说,“学者们希望能够标新立异地建立起一个全新的语言系统,就没有考虑这么一套编程语言是否有实践的价值。编程语言的开发者们缺少一个明确的目标。”他指出,有些编程语言甚至缺失了最基础的东西,比如缺省文件编制(Documentation);还有些开发者不停地在语言系统上画蛇添足,弄到最后搞的程序员们只能因为它太“丰富”了不得不放弃。马耶若维奇认为:“我们发现这个问题事实上不是一个技术领域的问题,它是因为整个学术界不够注重实践需求所造成的”。

  新兴编程语言 Scale 是一个很好的例子。数据分析机构 Slice-Data 的创始人之一张洋(音译)是 Scale 众多使用者中的一员,他从 2006 年起开始接触 Scale。Scale 在问世之初文件编制就存在很大的缺陷,这给用户的学习使用造成了很大的不便和痛苦。“我当时肯定是个受虐狂。”他回忆道。

  除却新兴语言本身的问题,这里面还有一个要素是程序员的学习能力。试验中收集的信息表明,因为学习新语言太辛苦困难了,程序员们在使用一款新型的编程语言前并不会认认真真地去学习一番。马耶若维奇拿 Adobe 公司开发的 ActionScript 作为例子。ActionScript 是一款以用户为导向的编程语言,程序员们普遍认为 ActionScript 的使用比较简单。可是当要用 ActionScript 做新的事时,比如从媒体开发转向游戏开发,因为没有系统的学习过,他们就束手无策了。

  我们普遍认为,程序员年龄越大,经验就越老道,掌握的语言就越多。事实又是怎样的呢?雷欧和阿里在试验中发现,多数程序员都掌握了 3 至 4 种程序语言,但当他们到了 35-40岁时,很多人就会步入管理岗位。脱离了编程一线,学习新语言的动机和机会就大打折扣了。

  马耶若维奇认为,他们正在研究的这个课题十分重要,关乎整个行业是否能够高速和健康地发展。他和拉布金把实验数据都发布在网络上,希望他人能够给出新的视角,同时为如何解决这一问题提供建议与帮助。
[/align]

jnu621 2012-6-12 07:36

我不是专家,但我曾经粗浅地学习过C语言,后来转向了DELPHI(现在已经衰落了),最早学习的是BASIC,这几种比较起来,我觉得C语言魅力体现在两方面:1、代码比较简洁。当然,这还是跟编程者本身的功力有关的;但在同等条件下,C语言确实会简洁一些,但同样的,对于不熟悉的人来说,这反而是一个障碍;2、编译的效率更高。据说用C语言编译出来的程序,体积上会相对较小,我曾经对比过一下,是小那么一点,但我的那些是小程序,如果是大型程序应该会有比较大区别。

dlanjiao 2012-6-12 08:07

现在的学生基本都是从C入手的,然后是C++,再后则是Java、VC++之类的。

JerryHe 2012-6-14 02:22

好多历史遗留代码是C语言写的,除非你把所有历史代码都翻译成你现在新建立的语言,否则,真的没有办法抛弃C语言。

ppnnwlgq 2012-6-14 08:42

现在大学先学c或者c++,这样c语言短期内怎么会倒呢。

蝶舞夕阳 2012-6-14 09:42

java也是从C语言中提炼出来的,但要成为优秀的java程序员必须精通C语言,由此可见C语言的强悍!

cai0421 2012-6-14 14:28

C语言是最早比较流行的语言,现在仍然有很多语言都是冲他进化而来的,所以他能屹立不倒

ren52jing 2012-6-14 18:36

C语言几乎是所有编程语言的鼻祖了,唯一面向过程的语言。初学编程用C语言入门之后,再转其他语言都比较轻松。

84837713 2012-6-14 18:56

有一部分习惯把,就像windows用习惯了一样,而且没有海量的相关软件游戏又有多少人会继续使用XP呢,C真的能做一些很底层的东西,而且他的资料也真的很多。

onlyhall 2012-6-14 23:00

三长一短就选短,三短一长就选长,长短不一就选C
页: [1]
查看完整版本: 为什么 C 语言屹立不倒?[1P]