为何CC++语言一直屹立不倒?
为何C语言屹立不倒???
近年来,谷歌一直致力于开发出自己的编程语言以取代现今世上最经常使用的C、C++和JavaScript。在系统语言方向,谷歌的Go语言能够为用户在数据中心内建立大型软件提供更多的便捷,有望取代C语言和C++的地位;而在络开发方面,谷歌希望凭仗Dart取代JavaScript。编程语言的世界里可谓是江山代有人材出,可有那末一名引领风骚达数十年之久,它就是C语言。
编程语言之间的竞争一天也没能停歇,长江后浪推前浪,一代更比一代强。它们当中只有寥寥可数的少数能够被市场接纳,成为程序员们日日夜夜的伴侣。究竟怎样的编程语言才能够成为大浪淘沙中的幸运儿?普林斯顿大学(Princeton)和加州大学伯克利分校(UniversityofCaliforniaatBerkeley)的研究者雷欧·马耶若维奇(LeoMeyerovich)和阿里·拉布金(AriRabkin)希望通过自己的研究,来解开编程语言世界的丛林法则。他们在探访一个问题——为什么C语言虽垂垂老矣却能屹而不倒?
雷欧和阿里采访了数以万计的程序员,又在全球最大的软件仓库SourceForge梳理了超过30万份的程序。“为何C语言没有被淘汰?”拉布金提出了这个问题。的确,C语言距问世之初已有了35年的历史。在这期间里,计算机迈出了不可丈量的发展步伐,软件和操作系统也早就今非昔比,编程语言中不乏叱咤风云的新生代,而C语言也有了升级版。即使如此,C语言照旧风采不减当年。
拉布金刚刚取得了加州大学伯克利分校的计算机博士学位,如今在普林斯顿大学做博士后。“在学术领域,当今的趋势是解决那些还没有出现的困难,”拉布金说,“学者们希望能够独树一帜地建立起一个全新的语言系统,就没有斟酌这么一套编程语言是不是有实践的价值。编程语言的开发者们缺少一个明确的目标。”他指出,有些编程语言乃至缺失了最基础的东西,比如文档(Documentation);还有些开发者不停地在语言系统上弄巧成拙,弄到最后弄的程序员们只能由于它太“丰富”了不能不放弃。马耶若维奇认为:“我们发现这个问题事实上不是一个技术领域的问题,它是由于全部学术界不够重视实践需求所造成的”。
新兴编程语言Scala是一个很好的例子。数据分析机构Slice-Data的创始人之一张洋(音译)是Scala众多使用者中的一员,他从年起开始接触Scala。Scala在问世之初文件编制就存在很大的缺点,这给用户的学习使用造成了很大的不便和痛苦。“我当时肯定是个受虐狂。”他回想道。
除却新兴语言本身的问题,这里面还有一个要素是程序员的学习能力。实验中搜集的信息表明,由于学习新语言太辛苦困难了,程序员们在使用一款新型的编程语言前并不会认认真真地去学习一番。马耶若维奇拿Adobe公司开发的ActionScript作为例子。ActionScript是一款以用户为导向的编程语言,程序员们普遍认为ActionScript的使用比较简单。可是当要用ActionScript做新的事时,比如从媒体开发转向游戏开发,由于没有系统的学习过,他们就束手无策了。
我们普遍认为,程序员年龄越大,经验就越老道,掌握的语言就越多。事实又是怎样的呢?雷欧和阿里在实验中发现,多数程序员都掌握了3至4种程序语言,但当他们到了岁时,很多人就会步入管理岗位。脱离了编程一线,学习新语言的动机和机会就大打折扣了。
马耶若维奇认为,他们正在研究的这个课题十分重要,关乎全部行业是不是能够高速和健康地发展。他和拉布金把实验数据都发布在络上,希望他人能够给出新的视角,同时为如何解决这1问题提供建议与帮助。
再多的文字也表达不完我们要学的东西,所以希望需要学习的朋友可以直接
湖北治疗白癜风医院白癜风介绍