近50年来最具影响力的10种编程语言,都是谁发明的?

大数据文摘出品

编译:洪颖菲、武帅

前不久文摘菌曾报道过4分钟看尽Top15编程语言15年来的沉浮史,评论中就有小伙伴留言了为什么Ruby、Lisp这些语言在榜上寂寂无名?

软件世界中有各种各样的编程语言,每年还会有新的语言出现,最近发布的编程语言就有Scala、Kotlin、Go和Closure,但历史车轮滚滚向前,浪花淘尽英雄,它们中只有少数才能够存活下来。

编程语言是软件开发中最重要的东西,多年来伴随着人们的讨论和批评不断改进,没有最好的语言,只有更合适的语言。尽管大家都很熟悉那些比较流行的编程语言的发展历史,如James Gosling是Java之父,但并不是每个开发人员都知道是谁发明了Perl,Pascal,Lisp或Erlang。

今天文摘菌带大家扒一扒过去的五十年在软件开发领域被列为最具影响力的十大编程语言及其它们背后的开发者,希望可以站在巨人的肩膀上一睹各种编程语言的风采,在每种语言文末都有免费课程推荐给大家学习。

以下排名不分先后,只是为了让我们了解并记住那些在编程语言和软件开发领域中做出巨大贡献的编程大师们!

Java——James Gosling

Java是最流行和最成功的编程语言之一, James Arthur Gosling博士因发明Java而被誉为Java之父,Java最初由Sun Microsystems开发和支持,在2010年1月Sun Microsystems被Oracle收购后转由Oracle继续开发支持。Java的使命是WORA,“Write Once Run Anywhere”(一次编译,到处运行),Java平台的独立性是其在企业领域取得成功的重要支柱之一,至今,它仍是最流行的应用程序编程语言之一。

如果你对学习Java感兴趣,那么The Complete Java Masterclass课程无疑是极好的选择。

来自Unsplash

C——Dennis Ritchie

美国计算机科学家Dennis MacAlistair Ritchie于1967年至1973年间在AT&T贝尔实验室发明了C语言,至今C语言还是非常流行并广泛用于系统编程,它比Java的历史更久远,但它仍在编程语言中占据一席之地,另外,Dennis Ritchie还与他的老搭档Ken Thompson一起创建了举世闻名的UNIX操作系统,他的知名度虽远不及比尔·盖茨或史蒂夫·乔布斯,但其对软件世界的贡献几乎无人能及。

每个程序员都应该了解Dennis Ritchie以及他对编程世界的贡献。如果你想学习C语言,你可以加入Coursera的Introduction to Programming in C Specialization课程。与其他Coursera认证课程一样,所有课程都是免费的但你需要支付认证证书的费用。

图片来自Unsplash平台上的Nikhil Mitra

此外,如果你想学习数据结构,那么可以参考一下这些免费的C语言数据结构和算法课程。

链接:https://javarevisited.blogspot.com/2018/01/top-5-free-data-structure-and-algorithm-courses-java–c-programmers.html

C++——Bjarne Stroustrup

Bjarne Stroustrup,1950年12月30日生于丹麦奥胡斯(Aarhus Denmark),是一名丹麦计算机科学家,因其发明了广泛使用的C++语言而闻名天下。顾名思义,C++是在C流行的时候作为C的下一代语言开发出来的。与偏重结构化的C语言不同,它的显著特性是面向对象,C++仍然是最流行的语言之一,并且在高频交易系统中有着广泛应用,因为它兼容本地系统并具有面向对象的特性。

如果你想学习C++,那么可以参加Udemy上的Beginning C++ Programming——From Beginner to Beyond课程。它的理论与案例组合十分棒。

来源:Unsplash平台上的Dawid Zawiła

如果你不介意学习免费资源,那么就尽情享用这些免费的C++课程吧:

资源链接:https://www.java67.com/2018/02/5-free-cpp-courses-to-learn-programming.html

Python——Guido van Rossum

Python由CWI的Guido van Rossum设计,是一种通用的高级编程语言,其设计理念强调代码可读性,据说它的语法清晰而且通俗易懂。在美国,Python在学术层面上几乎取代了Java,与上一代不同,如今的学生已经开始用Python而不是C或Java编写程序。

如果你还在犹豫用Python还是Java开启你的编程之旅,这个信息图可能会对你有所帮助👇

链接:https://javarevisited.blogspot.com/2018/06/java-vs-python-which-programming-language-to-learn-first.html

Python广泛用于Web应用程序开发,软件开发和信息安全。谷歌、雅虎和Spotify等科技巨头已经广泛使用Python,如果你想学习Python,那么Jose Marcial Portilla的The Complete Python 3 Bootcamp无疑是最好的入门课程之一。

课程链接:https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fcomplete-python-bootcamp%2F

照片来自Unsplash上的Hitesh Choudhary

如果需要更多学习资源,你可以参考这份适合初学者及中级程序员的Python资源列表👇

链接:https://javarevisited.blogspot.com/2018/03/top-5-courses-to-learn-python-in-2018.html

JavaScript——Brendan Eich

如果你问我哪种语言是过去五到十年里的最大赢家,我会说那必须是JavaScript,它借助jQuery这样的库统治了客户端开发领域,现在正凭借NodeJS这样的库进军服务器端开发领域。

JavaScript是由Brendan Eich设计,Netscape Communications Corporation开发的一种基于原型的脚本语言,具有动态弱类型的特点,其功能十分强大。JavaScript广泛用于客户端脚本编写,验证,动画,事件捕获,表单提交和其他常见任务。它在浏览器中运行,几乎各大网站都有所使用。

我强烈建议所有程序员都学习一下JavaScript,Introduction to JavaScript & jQuery是最好的入门课程。

来自Unsplash平台上的Artem Sapegin

如果你更倾向于从免费资源起步,这里就是一些不错的JavaScript课程👇

链接:https://www.java67.com/2018/04/top-5-free-javascript-courses-to-learn.html

更多资源可参见这些网站👇

链接:https://hackernoon.com/10-websites-to-learn-javascript-for-beginners-31e13bbdbb5c

PHP——Rasmus Lerdorf

无论你多么讨厌PHP(Personal Home Page),你都不能忽视这样一个事实:一半的互联网都运行在这一美妙的互联网语言上。

PHP最初由Rasmus Lerdorf于1995年发明,PHP借助于PHP组生成实现,并以此作为对PHP语言的正式引用,PHP是微软的Active Server Pages(ASP)服务器端脚本引擎以及其他类似语言(如Java Server Pages(JSP))的竞争对手,但PHP在与这些语言的竞争中脱颖而出,现在已被安装在2000多万个Web站点和一百多万台Web服务器上,PHP也是开源的,被诸如Facebook、Wikipedia、Wordpress和Joomla等互联网巨头所使用,PHP广泛用于构建动态网页和服务器端开发。

网上有很多PHP的课程,如果你想学习,我强烈推荐jorge edwin diaz prado的PHP for Beginners。

课程链接:https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fphp-for-complete-beginners-includes-msql-object-oriented%2F

来自于Unsplash

如果你需要免费的PHP学习资源,这里列出了一些PHP和MySQL的免费课程:

链接:http://www.java67.com/2018/02/5-free-php-and-mysql-courses-for-web-developers.html

Perl — Larry Wall

Perl是一种高级的、通用的、解释型的动态编程语言,Perl由LarryWall在20世纪80年代中期设计和开发,因其出色的文本处理能力而声名鹊起。至今它仍是在Unix系统上开发报告和脚本的主要语言,Perl以解析和处理大型文本文件而闻名,广泛用于CGI、数据库应用程序、网络编程和图形编程,Perl也被IMDB、Amazon和Priceline等公司广泛使用。

如果你想学习Perl,那么我建议你看看Udemy上的Perl Programming for Beginners课程。

对于Java开发人员来说,Perl或Python是一个很好的补充,因为开发人员通常需要脚本语言来执行维护和支持等特定任务。

Ruby — Yukihiro Matsumoto

Ruby最初是由日本的Yukihiro“Matz”Matsumoto在20世纪90年代中期设计和开发的。如果你曾尝试过Ruby和Rails,你就会发现使用Ruby是一件很有趣的事。Ruby受Perl、Ada、Lisp和Smalltalk的影响,致力于让编程更加高效有趣。Ruby主要用于Web应用程序开发,被Twitter、Hulu和Groupon等各大网站所使用。

如果你想学习Ruby,那么Alex Korban在Pluralsight上的Ruby Fundamentals无疑是最好的入门课程。

拍摄:Oleg Chursin来自Unsplash

Lisp——John McCarthy

Lisp是列表处理器(List Processor)的缩写,由JohnMcCarthy开发,是第二古老的高级编程语言,它是像Haskell、Erlang或Scala这样的函数式编程语言之父,主要用于军事开发和防空系统。

教授Lisp的课程不多,特别是好的课程,但是Nikoloz的Learn Lisp Programming Basics课程还不错。

Pascal——Niklaus Wirth

Pascal是一种极具影响力的命令式和过程式编程语言,设计于1968-1969年,由Niklaus Wirth于1970年正式发布。Pascal是一种小型高效的语言,旨在鼓励使用结构化编程和数据结构,从而带来良好的编程体验。

与Lisp类似,Pascal因其年代久远而没有什么好的课程,但是如果你想学习Pascal,你可以在Udemy上学习Learn to Program with Pascal课程。

相关报道:https://medium.com/better-programming/the-10-most-influential-programming-languages-of-the-last-50-years-and-their-creators-6559bb9ce224

Image placeholder
nullable
未设置
  57人点赞

没有讨论,发表一下自己的看法吧

推荐文章
Go编程语言教程_1.0. Go编程语言(简介)

介绍 Go是一种过程编程语言。它由Google的RobertGriesemer,RobPike和KenThompson于2007年开发,但于2009年作为一种开放源代码编程语言发布。程序通过使用软件包

Go编程语言教程_1.6. Go和Python编程语言之间的区别

Golang是一种过程编程语言。它由Google的RobertGriesemer,RobPike和KenThompson于2007年开发,但于2009年作为一种开放源代码编程语言发布。程序通过使用软件

C、PHP、JAVA…哪种编程语言最不安全?

   在IT开发圈子里,常常会有哪种编程语言最好/哪种最差的一些争论。在这种争论中,安全性往往是决定大家支持一种语言、不信任另一种语言的一个因素。那么,到底哪种语言最安全,哪种最不安全呢?Photob

关于分析IT系统宕机对业务影响的10个提示

在制定灾难恢复计划时,一个非常重要的任务就是,要确定并想方设法避免潜在的威胁,同时为最坏的情况做准备。业务影响分析(BIA)提供了解决突发事件所需的信息,前提是您要事先做好万全准备。遵循详尽的业务影响

Go编程语言教程_2.0. Go语言中的标识符

在编程语言中,标识符用于标识目的。换句话说,标识符是程序组件的用户定义名称。在Go语言中,标识符可以是变量名称,函数名称,常量,语句标签,程序包名称或类型。 例: packagemain import

深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?

前不久,微软以75亿美元的价格收购GitHub,引发了科技行业的关注。在短短的10年内,GitHub改变了人们的编程方式。不仅让编程变得更简单,还改变了软件开发者对编程的看法。GitHub是如何做到的

学习一门新编程语言的 6 步

有些人学习编程刚开始头脑发热,买了很多书,下载很多视频,收藏上百G的资料,没过几天,热情就褪去了,最后完成了从入门到放弃的全过程,究其原因主要是缺乏清晰的目标,没有方向,或者方向不明确。那么,我们应

五种拥有光明发展前景的新兴编程语言

在软件项目与具体实现层面,我们需要考虑众多具体因素。但无论从哪种角度出发,技术栈的选择永远是决定项目成功与否的核心因素之一。根据您的实际应用需求、站点或者产品设计思路,不同的编程语言往往能够带来不同的

Go编程语言教程_1.1. 如何在Windows上安装Go?

先决条件:Go编程语言简介 之前,我们从在系统上安装Golang的过程开始。我们必须对Go语言是什么以及它实际上是什么有第一手的了解。Go是Google的RobertGriesemer,RobPike

Go编程语言教程_1.2. 如何在MacOS上安装Golang?

之前,我们从在系统上安装Golang的过程开始。我们必须对Go语言是什么以及它实际上是什么有第一手的了解。Go是Google的RobertGriesemer,RobPike和KenThompson于2

Go编程语言教程_1.3. Golang的Hello World

你好,世界!是任何编程语言中的第一个基本程序。让我们使用以下步骤用Go语言编写第一个程序: 首先打开Go编译器。在Go语言中,该程序以.go扩展名保存,它是UTF-8文本文件。 现在,首先在程序中添加

Go编程语言教程_1.4. Go vs C++

C++是一种通用编程语言,如今已广泛用于竞争性编程。它具有命令式,面向对象和通用编程功能。C++在Windows,Linux,Unix,Mac等许多平台上运行Go是一种过程编程语言。它由Google的

Go编程语言教程_1.5. Go vs Java

Go是一种过程编程语言。它由Google的RobertGriesemer,RobPike和KenThompson于2007年开发,但于2009年作为一种开放源代码编程语言发布。程序通过使用软件包进行组

Go编程语言教程_2.1. Golang中的关键字

关键字或保留字是用于某些内部过程或表示某些预定义动作的语言中的字。因此,不允许将这些单词用作标识符。这样做会导致编译时错误。 例: //Go程序说明 //使用关键字 packagemain impor

Go编程语言教程_2.2. Go中的数据类型

数据类型指定有效的Go变量可以保存的数据类型。在Go语言中,类型分为以下四类: 基本类型:数字,字符串和布尔值属于此类别。 聚集类型:数组和结构属于此类别。 引用类型:指针,切片,地图,函数和通道属于

Go编程语言教程_2.3. Go 变量

典型的程序使用在执行过程中可能会更改的各种值。例如,该程序对用户输入的值执行一些操作。一个用户输入的值可能与另一用户输入的值不同。因此,这有必要使用变量,因为另一个用户可能不会使用相同的值。当用户输入

4分钟看尽Top编程语言15年沉浮:C#默Java泪,Python终上位!

大数据文摘出品作者:宁静哪种编程语言最火爆?在不同的时代,这个问题也有着不同的答案,而一部编程语言的使用人数变迁史,实际上也是一部计算机世界的成长编年史。一位名叫PYPL的油管up主很尽心地统计了从2

3种可靠的物联网开发编程语言

物联网设备的普及程度持续上升,人们与物联网的联系愈加紧密。物联网为结合虚拟和现实世界提供了最大的平台。大多数支持IoT设备的命令都可以通过智能手机上的一个图标来实现。物联网的发展和成长不能归结为某一方

PHP跌出前十,铁打的 Python 连续3年第一:IEEE Spectrum 2019编程语言排行榜出炉

Python势头不减,依旧第一,而且进一步拉开了与其他语言的差距。这一结果,来自IEEESpectrum2019年度编程语言排行榜。这已经是Python连续3年保持第一。在Python之下,第二交椅的

最受欢迎的编程语言排行:Python与Java谁更受欢迎?

Python在全球开发人员中的受欢迎程度急剧上升,专注于研究开发人员的SlashData最近公布了实际使用该语言的开发人员数量。根据SlashData的数据,目前世界上有820万使用Python编写代

GitLab,是谁给了你歧视中国程序员的勇气?

GitLab安全漏洞不断,收集用户行为数据,今天又找到新的作死方法了。由谷歌投资的全球第二大开源代码托管平台GitLab在其官网上发布了一项声明,称他们决定为有权访问客户数据的团队成员启用“工作家庭国

5G是一个数据通道,未来最大的产业是人工智能 | 任正非对话卡普兰

大数据文摘出品昨天下午,华为创始人任正非邀请两位人工智能领域的国际顶级专家参与“与任正非咖啡对话”。这已经不是任正非第一次举办这种与行业专家的对话,上一次是在6月17日在与《福布斯》著名撰稿人乔治·吉

java字符串“我是谁”的转码问题

微信公众号:爱问CTO专业编程问答社区www.askcto.com 问题出场publicstaticvoidmain(String[]args)throwsException{ Stringa="我是

MongoDB初学者最常用的10个命令

1.登录mongodb 以下命令可以用于登录mongodb数据库,但是需要保证用户你声明的数据库中存在对应的用户和密码 mongo--host--port-u-p--authenticationDat

制定灾备计划时要考虑的10个问题

每年的3月31日,世界各地的IT专业人士都会庆祝世界备份日,这引起了全世界对数据备份的重视,设立世界备份日的目的是通过确保实施并遵循备份计划来保护我们的数据。尽管人们已经有这方面的意识,但令人难以置信