专栏首页编程编程语言之间的百舸争流

编程语言之间的百舸争流

编程语言排行榜

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发明,是一个小型、高校的语言,鼓励结构化编成和资料结构的实践。

不管你是使用哪种语言,都希望你知道这些东西不是凭空出现的,没有他们,我们不会有今天的成就。

芽课:用计算开启科学认知,展开生命智慧的大树。帮助孩子形成更好的科学素养和科研能力。让这些出生即数字公民的孩子,拥有释放自己无限想象力的能量。

本文来自企鹅号 - 全球大搜罗媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2017 CV 技术报告之图像分割、超分辨率和动作识别

    选自The M Tank 机器之心编译 参与:晏奇、蒋思源 The M Tank 编辑了一份报告《A Year in Computer Vision》,记录了 ...

    企鹅号小编
  • 2017年最后一篇推送,仍然与技术有关盘点深度学习论文年度之“最”

    今年有很多的学术论文发表,以下是小编觉得能够深刻影响到自己的几篇,为大家推荐。对于每一篇文章,都阐述了论文的“目标”,简要总结了相关工作,并解释了推荐的原因。 ...

    企鹅号小编
  • 每个AI程序员都应该知道的基础数论

    -欢迎 这篇文章讨论了数论中每个程序员都应该知道的几个重要概念。本文的内容既不是对数论的入门介绍,也不是针对数论中任何特定算法的讨论,而只是想要做为数论的一篇参...

    企鹅号小编
  • Asp.net Ajax AlwaysVisibleControl使用方法

    这个控件非常好用……哈哈,有些时候,我们需要在系统中显示一些信息,又不希望这些信息通过页面滚动而不能在页面固定展示,例如广告……哈哈,所以就可以用这个控件了……

    thz
  • Android P WiFi扫描流程详解

    2、WifiTracker–>WifiManager WifiTracker 广播监听到WifiManager.WIFI_STATE_CHANGED_ACTI...

    用户7557625
  • 动效案例:纯手工写一个滚动视差效果

    视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。作为网页设计的热点趋势,越来越多的网...

    前端达人
  • mix-blend-mode 混合模式 background-blend-mode 背景混合模式 isolation:isolate 隔离

    css3 mix-blend-mode 混合模式 该属性不仅可以作用于HTML,还可以作用于SVG   兼容性: IE 8~11 Ed...

    用户1197315
  • 【转】动效案例:纯手工写一个滚动视差效果

    大家好,今天我们一起来实践一个滚动视差的动画效果。虽然我们不是设计师,不擅长PS、AE,但是我们完全可以通过前端技术设计一幅漂亮的画面,今天我们要设计一幅月下山...

    夏末浅笑
  • 斯坦福项目NeutralTalk:让电脑像人一样看懂照片

    大数据文摘
  • 【程序牛人】UNIX之父

    丹尼斯·里奇 丹尼斯·里奇,C语言之父,UNIX之父。曾担任朗讯科技公司贝尔实验室下属的计算机科学研究中心系统软件研究部的主任一职。1978年与布莱恩·科尔尼干...

    程序员互动联盟

扫码关注云+社区

领取腾讯云代金券