编程语言排行榜
TIOBE编程语言社区发布了2017年11月排行榜,Java、C、C ++三门编程语言依然占据前三。11月前5排名中,最值得注意的是:Python再次逆袭,已经超越C#,上升到第4的位置。
11月编程语言排行榜--TOP20榜单
年初,Swift 曾一度进入前十名,近期,Swift却不断下滑,本月从上个月的第16名掉到了如今的历史最低第20名,大有跌出20名之外的趋势。作为iOS开发的另一主流语言,Objective-C也难逃厄运,从上个月的第17名跌落至第19名。
Python超越C#排名第4
无论在哪个榜单中Python都是保持着非同寻常的增长速度,为什么Python增长的这么快?众所周知,Python功能非常强大,标准库的极其丰富,从Web开发到数据科学,再到DevOps,而且目前越来越多的应用是使用Python开发的。
除了Python,其他脚本语言都趋于下滑
除了一路攀升的Python,我们可以看出其他脚本语言几乎不在前20名行列。此前脚本语言因其易于编写和易于运行的特性,Perl,Python,PHP和Ruby等语言在当时非常流行,但如今排名都趋于下滑,这是为什么呢?
脚本语言下滑的主要原因可能还是性能问题,当然这可能取决于很多因素,问题是有多少情况下,性能问题才是致命的。比如脚本语言中的大多数错误都是运行时发生的,尽管可以编写所有类型的单元测试来弥补这一点,但是仍然无法避免出现这样的错误。人们对质量要求越来越高,如今几乎没有人敢用脚本语言编写一个关键的大型软件系统。
Java持续下滑
还有一点值得注意的是,纵观整个排行榜发现如今大部分编程语言的市场份额几乎都在不断减少,最为明显的当属排行第一的Java,从2016年开始就持续下滑,本月下滑5.52%,下滑份额在前20名中也是排行第一。
历史排名(1987-2017):以下排名位次取决于12个月的平均值
我们看到这些语言的竞相绽放。其实世界上有很多种程式语言,但能够熬出头被众人采用的却很少。程式语言可以说是软体产业的基石,也是所有工程师每天都会用到的工具。
每一种语言都经过多次修改,才能够顺应潮流,让软体业有更丰富的面貌。虽如此,这些语言背后的推手却鲜为人知,大家大概都知道Java之父是James Gosling,但却没人知道Perl、Pascal、Lisp或Erlang的创造者是谁。以下是我为大家搜集的资料,希望他们的贡献能够被更多人知道。
十位发明了全球最通用10种程式语言的工程师
Java–James Gosling
Java是由任职于升阳电脑的James Gosling等人开发,是目前最受欢迎且广泛使用的语言之一。原本由升阳电脑负责开发和更新,但在2010年升阳被甲骨文并购之后,就改由甲骨文负责。
Java的宗旨是「Write Once Run Anywhere(一次编写,到处运行)」,强调跨平台的特性,也是这语言成功的重要因素。
C–Dennis Ritchie
Dennis MacAlistair Ritchie是一位美国工程师,1967-1973年之间,在AT&T的贝尔实验室开发。虽然开发时间较早,但至今仍保有竞争优势。
顺带一提,UNIX作业系统也是他的作品之一。虽然多数人可能没听过他的名字,但在软体界他的名气可不输给比尔盖兹或贾伯斯。
C++–Bjarne Stroustrup
Bjarne Stroustrup是一位丹麦工程师,后来也在贝尔实验室工作。C++是C的下一代的概念。起初是以物件导向为主,后来加入许多模板和功能。由于接近C语言,速度又快,所以广泛的被大家接受。
Python–Guido van Rossum
Python的设计宗旨就是希望程式码可以被人类阅读,不像一般语言难以理解,由荷兰程式设计师Guido van Rossum所开发。
在美国,多数的学生都学Java,但是近几年,大家都改以Python为入门程式。常用在网页应用工具,Google、Yahoo和Spotify也都大量使用这种语言。如果你还在犹豫要学Java或是Python可以看看我们的另外一篇文章。
PHP–Rasmus Lerdorf
不管你有多讨厌PHP,都无法忽视全世界有半数网页都是使用这种语言。PHP原本只是Rasmus Lerdorf为了快速修编自己的网路履历而开发的,PHP原本的全名也就是Personal Home Page。
当时它的竞争对手是微软的Active Server Pages(ASP)和Java Server Pages(JSP),显然它赢了,并且占领超过2千万个网站和一百万个网站伺服器。它很适合用在动态网页上面,以及网页伺服器的开发上面,Facebook、Wikipedia、Wordpress和Joomla也都是使用这个语言。
Perl–Larry Wall
Perl是一种高阶、通用、直译、动态的程式语言。1980年代中由Larry Wall开发,特别的是它不仅是个工程师,还是个语言学家,这项特质在Perl中也可以发现,也是它最大的优势。
Perl被广泛的应用在编写CGI(通用网关接口)、资料库应用、网路/图形设计上。IMDB、Amazon和Priceline就是以此为基础。对Java程式设计师来说,能够在履历加上Perl或Python是很加分的,因为他们会需要脚本语言来完成维修、支援等特殊任务。
JavaScript–Brendan Eich
如果你问我过去5-10年之间谁是冠军,我会回答「JavaScript」。过去他主攻在客户端的程式撰写,还建立了函示库jQuery,近几年往伺服器开发走,推出了Node.js。
它是一种基于原型、动态型别、弱型别的语言。1995年由网景的Brendan Eich所开发。主要在浏览器上运行,不需要伺服器支援。代表成果有Gmail、Mozila Firefox。
Ruby–Yukihiro Matsumoto
1990年中,由松本行弘开发。Ruby是一种有趣的语言,如果你学过大概就会懂我的意思,它受到Perl、Ada、Lisp和Smalltalk影响,设计的宗旨就是希望能减少编程的时间,强调人性化的介面。
多半用在网页应用程式,像是Twitter、Hulu和Groupon。
Lisp–John McCarthy
第二年长的高阶语言,原名是List Processor(清单处理器),由John McCarthy发明,此生致力于人工智慧研究。
Pascal–Niklaus Wirth
1968年由Niklaus Wirth发明,是一个小型、高校的语言,鼓励结构化编成和资料结构的实践。
不管你是使用哪种语言,都希望你知道这些东西不是凭空出现的,没有他们,我们不会有今天的成就。
芽课:用计算开启科学认知,展开生命智慧的大树。帮助孩子形成更好的科学素养和科研能力。让这些出生即数字公民的孩子,拥有释放自己无限想象力的能量。