.net

注册

 

发新话题 回复该主题

编程语言中的ldquo前浪rdqu [复制链接]

1#
白癜风身上复发该怎么办 https://m-mip.39.net/nk/mipso_4646330.html

(给程序员的那些事加星标)

转自:开源中国

近日,TIOBE公布了00年5月的编程语言排行榜,C语言时隔5年重返榜首,Java和Python分列二、三位。

前段时间,B站推出的青年节演讲视频《后浪》在朋友圈刷屏,看着“后浪”们丰富多彩的生活,同事们纷纷自嘲自己就是被拍在沙滩上的那一个,被生活疯狂蹂躏。然而在编程语言界,“后浪”们掀起的波澜则十分有限。与近年来陆续涌现的新兴编程语言相比,那些出道即巅峰、一巅几十年的“前浪”们,似乎还没有要退位让贤的意思。

在TIOBE公布的最新编程语言排行榜中,排名前十的语言中有8个诞生于上个世纪90年代,最“年轻”的是诞生于年的C#,而位于榜首的C语言距今已有48年的历史。如果我们再来纵观自00年以来的编程语言排行榜,基本上也还是这些老牌编程语言的身影,尤其是C与Java这两位“前浪”老大哥的江湖地位一直难以撼动。

数十年来,陆续出现的新兴编程语言不在少数,其中不乏一些以取代某种老语言为目的而设计的,那么这些编程语言界的“后浪”们,是否能够追上“前浪”们的脚步呢?下面不妨让我们来看看这些年编程界的知名“后浪”们。

前浪C++()VS后浪Go()

诞生于年的Go语言堪称编程语言中的“星二代”。Go的早期作者有三人,分别是RobPik,KnThompson和RobrtGrismr,每一位的来头可都不小。

RobPik曾是贝尔实验室的Unix团队以及Plan9操作系统计划的成员,与Thompson共事多年,并共创出广泛使用的UTF-8字元编码;KnThompson则是B语言、C语言的作者,Unix之父,年图灵奖和年美国国家技术奖得主;而RobrtGrismr在开发Go之前是GooglV8、Chubby和HotSpotJVM的主要贡献者。

年,RobPik认为C++在Googl分布式编译平台上的编译过程太过漫长,于是他和RobrtGrismr开始探讨“简化编程语言相比于在臃肿的语言上不断增加新特性,会是更大的进步”。

两人一拍即合,随即说服了身边的KnThompson,三人决定要捣鼓一门新语言。几天后,他们在Googl内部发起了一个叫Golang的项目。很快,一个在C语言基础上进行了优化的新语言诞生了,这就是Go。

作为一个设计目的就是为了取代C/C++的新语言,Go的语法在很多地方借鉴了C/C++。比如用花括号作为定界符,以分号作为语句结束等等,这使得Go很容易就能被精通C/C++的开发人员接受。

而在沿袭C/C++基本语法的基础上,Go新加入了很多针对当下流行的分布式系统的实用功能,比如超轻量级的线程goroutin,在高并发的系统中,可以按照多线程的方式写程序,从而保证逻辑的清晰和简单,又可以获得非常高的性能。

而同样的事情在C++中则需要调用第三方框架,如果用多线程,会导致系统线程过多带来大量的上下文切换ovrhad;如果采用基于消息的架构,虽然可以获得较高的效率,但程序逻辑会被打散,可读性和可维护性较差。

此外,Go语言作为Googl大力支持的“亲儿子”,拥有编译、测试、调试、性能分析等一整套成熟的工具,编译效率极高,再加上其还内置了

分享 转发
TOP
发新话题 回复该主题