发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

过去五十年最具影响力的十大编程语言及其创造者

  • 2019-08-19
  • 本文字数:3490 字

    阅读完需:约 11 分钟

过去五十年最具影响力的十大编程语言及其创造者

在本文中,我们将一同了解过去五十年以来最具影响力的十种编程语言及其创造者的故事。



软件世界当中存在不少编程语言,而且每一年都有更多后起之秀加入进来。最近一段时间,我们迎来了 Scala、Kotlin、Go 以及 Closure 等新成员,但从历史的角度来看,只有极少数编程语言能够真正得到市场的认可。而生存下来并蓬勃发展的语言,为软件开发行业做出了巨大的贡献,这也是我们整理这份五十年来最具影响力的十大编程语言榜单的原因。


由于编程语言在软件开发领域可谓举足轻重,而且多年来始终是讨论、批评与改进的焦点,因此如果不了解其背后的历史,我们在实际使用时往往会产生不少疑惑。另外,虽然许多朋友都知道 James Gosling 是 Java 之父,不过 Perl、Pascal、Lisp 以及 Erlang 的诞生故事,大部分开发人员恐怕就不甚了然了。正因如此,我才打算将这十种最具人气、最成功的编程语言背后的程序员与设计师,一口气介绍给大家。

十大编程语言及其创造者

以下是我整理的十大编程语言及其创造者榜单。排名不分先后,但由于我个人身为 Java 开发者并从中受益匪浅,因此我毫不犹豫地把它放在了榜单第一位。我知道,很多 C 程序员要跳起来批评我了,毕竟 C 才是最常用的语言。但这份榜单的意义并不在于排名,而是帮助大家了解并记住那些曾为编程语言以及软件开发世界做出巨大贡献的大师。

1) Java — James Gosling

Java 是目前最流行也最成功的编程语言之一。James Arthur Gosling 博士一手创造了 Java,是公认的 Java 编程语言之父。Java 最初由 Sun Microsystems 公司开发及支持,现在则转入甲骨文手中(2010 年 1 月甲骨文收购 Sun Microsystems)。


Java 源自 WORA 计划,即“一次编写,随处运行”。另外,Java 一直强调的平台独立性也是其在企业界取得成功的支柱之一。截至目前,Java 仍是最具人气的应用程序编程语言之一。如果大家对学习 Java 感兴趣,那么The Complete Java Masterclass课程无疑是一个理想的起点。


2) C — Dennis Ritchie

Dennis MacAlistair Ritchie 是一位美国计算机科学家,他于 1967 年至 1973 年间在 AT&T 贝尔实验室创造了 C 语言。C 语言目前仍极具人气并被广泛应用于系统编程。它虽然比 Java 老旧不少,但仍然保持着稳固的市场份额。


顺带一提,Dennis Ritchie 还和他的老同事 Ken Thompson 一道开发出著名的 UNIX 操作系统。当然,Ritchie 在知名度方面无法与 Bill Gates 或者 Steve Jobs 相媲美,但他对于软件世界的贡献则是后面这两位所无法匹敌的。


每一位程序员都应该记住 Dennis Ritchie 的名字,以及他对编程世界做出的巨大贡献。如果各位有意学习 C 语言,那么不妨从 Coursera 上的Introduction to Programming in C Specialization课程起步。与其它 Coursera 认证项目一样,所有课程都免费开放,只有认证资质收取费用。另外,如果大家希望了解数据结构,那么我推荐 free Data Structure and Algorithm courses in C


3) C++ — Bjarne Stroustrup

Bjarne Stroustrup,1950 年 12 月 30 日出生于丹麦奥胡斯,是一位丹麦计算机科学家,他最大的贡献当然是创造出了目前仍被广泛使用的 C++编程语言。


C++,顾名思义,属于 C 在巅峰时期诞生的下一代语言,具有面向对象的编程功能,这一点也使其成功超越了更强调结构化的 C 语言。C++目前仍是最流行的语言之一,而且在高频事务领域得到广泛应用。另外,它还具有接近本机系统以及面向对象等重要特性。如果大家打算从零开始学习 C++,我推荐 Udemy 上的Beginning C++ Programming — From Beginner to Beyond课程。其中包含良好的理论与实例素材组合。如果大家更倾向于选择免费资源,那么这里还有free C++ courses供您使用。


4) Python — Guido van Rossum

由 CWI 研究院的 Guido van Rossum 设计的 Python 语言,是一种通用型高级编程语言,其设计理念强调代码可读性。其语法清晰且极具表现力。在美国,Python 已经在学术层面广泛取代了 Java 的地位。新一代的学生们开始学习使用 Python——而非传统的 Java 或者 C——进行编程。如果大家仍不确定在迈出编程第一步时该选择 Python 还是 Java,那么这份信息图可能会对您有所帮助。


Python 被广泛用于 Web 应用程序开发、软件开发以信息安全等领域。Python 也得到了谷歌、雅虎以及 Spotify 等科技巨头的青睐。如果您打算学习 Python,那么 Jose Marcial Portilla 编撰的The Complete Python 3 Bootcamp可以说是最好的课程之一。作为其它选择,您也可以点击此处查看这份适合初学者以及中级程序员的最佳 Python 课程列表。


5) JavaScript — Brendan Eich

如果要问过去五到十年以来,哪种语言人气最高,那答案基本会毫无争议地指向 JavaScript。它已经在 jQuery 等库中占据了客户端脚本领域的绝对优势,而且目前正通过 NodeJS 等库进军服务器端开发。


JavaScript 是一种基于原型的脚本语言,具有动态、弱类型以及一流函数等特性,由 Brendan EIch 负责设计,并由网景通信公司开发完成。JavaScrip 被广泛用于客户端脚本、验证、动画、事件捕捉、表单提交以及其它各类常见任务。几乎在每一个主要网站都能看到它的身影。我强烈建议每一位程序员都学学 JavaScript。Introduction to JavaScript & jQuery课程正是最好的起点。如果大家更倾向选择免费资源,这里也有free JavaScript courses。作为补充,您也可以点击此处查看更多免费的 JavaScript 学习网站。


6) PHP — Rasmus Lerdorf

无论大家多么厌恶 PHP,都不能否认精彩的互联网当中有一半是由这种语言构成的。PHP 最初由 Rasmus Lerdorf 于 1995 年创造完成。PHP 的主要实现目前已经交由 PHP Group 接手,他们也成为 PHP 的正式供应方。


PHP 属于微软 Active Server Pages(ASP)服务器端脚本引擎与其它类似语言(例如 Java Server Pages,简称 JSP)的竞争对手,且最终在对抗当中胜出,目前被安装在超过 2000 万个 Web 站点以及上百万台 Web 服务器当中。


PHP 也是一种开源语言,Facebook、维基百科、Wordpress 以及 Joomla 等互联网巨头目前都在使用。PHP 被广泛用于构建动态网页以及服务器端开发。如果大家打算学习 PHP,互联网上的课程相当丰富,我个人比较推荐 PHP for Beginners。至于免费资源,大家可以点击此处获取免费 PHP 与 MySQL 课程。


7) Perl — Larry Wall

Perl 是一种高级、通用、具有解释性的动态编程语言。由 Larry Wall 于上世纪八十年代中叶设计并开发,因其出色的文本处理能力而声名鹊起。


目前,Perl 仍是 UNIX 系统上开发报表与脚本的首选语言。Perl 最著名的特性就是强大的大型文本文件解析与处理能力,主要用于 CGI、数据库应用程序、网络编程以及图形编程。Perl 也得到了 IMDB、亚马逊以及 Priceline 等企业的广泛使用。如果大家有意学习 Perl,我个人推荐 Udemy 上的Perl Programming for Beginners课程。对于 Java 开发者,将 Perl 或者 Python 加入自己的技能储备同样很有必要。因为我们可能经常需要利用脚本语言执行临时任务,从而解决维护与支持等实际需求。


8) Ruby — Yukihiro Matsumoto

Ruby 最初由日本的 Yukihiro “Matz” Matsumoto 于上世纪九十年代中叶设计并开发完成。Ruby 的使用体验非常有趣,相信尝试过 Ruby on Rails 的朋友都能理解我说的意思。Ruby 受到 Perl、Ada、Lisp 以及 Smalltalk 的影响,专为高效而愉快的编程体验而设计。Ruby 主要用于 Web 应用程序开发,并得到了 Twitter、Hulu 以及 Groupon 等主要站点的青睐。如果大家打算学习 Ruby,由 Alex Korban 编写、Pluralsight 发布的Ruby Fundamentals课程是您最好的起点。


9) Lisp — John McCarthy

Lisp 代表的是 List Processor,由 John McCarthy 开发完成,也是历史第二久远的高级编程语言。我从未尝试过 Lisp,但据说它算得上 Haskell、Erlang 以及 Scala 等函数编程语言的始祖。Lisp 主要用于 AL 开发以及防空系统。目前没有太好的 Lisp 学习课程,这里我姑且推荐 Nikoloz 的Learn Lisp Programming Basics课程。

10) Pascal — Niklaus Wirth

Pascal 是一种极具影响力的命令式与程序式编程语言,于 1968 年左右开发,由 Niklaus Wirth 于 1970 年推出。这是一种小巧而高效的语言,鼓励开发者采用结构化编程以及数据结构良好的编程实践。与 Lisp 类似,目前还没有多少出色的 Pascal 课程——毕竟这种语言已经相当古老。但如果大家打算学习,我推荐 Udemy 上的Learn to Program with Pascal


好了,到这里我们的十大编程语言及其创造者榜单就汇报完毕了。这些开发者为编程世界带来了巨大的变化。没有他们的贡献,我们的世界也许将完全不同。


原文链接:


The 10 Most Influential Programming Languages of the Last 50 years and Their Creators


2019-08-19 15:2414904

评论

发布
暂无评论
发现更多内容

【LeetCode】合并两个有序链表Java题解

Albert

算法 LeetCode 10月月更

C++使用protobuf嵌套结构体总结

中国好公民st

c++ protobuf 10月月更

不同的子序列 II

掘金安东尼

算法 10月月更

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

JVM诊断工具中的深堆、浅堆、支配树,你都明白吗

JAVA旭阳

Java JVM 10月月更

变量与常量介绍笔记

魏铁锤

10月月更

Python进阶(二十)Python爬虫实例讲解

No Silver Bullet

Python 数据分析 10月月更

为什么编程第一课都要学Hello World?

博文视点Broadview

腾讯云继续加码布局云原生,将披露全新产品战略

科技热闻

深度解析:智能合约DAPP(bsc)币安链系统项目开发解决方案

I8O28578624

微信朋友圈架构设计

风行

架构 架构实战训练营9期

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析01

桑榆

源码刨析 10月月更 C++

Python进阶(十九)Python3安装第三方爬虫库BeautifulSoup4

No Silver Bullet

Python 字符串 10月月更 BeautifulSoup4

React循环DOM时为什么需要添加key

beifeng1996

React

给 SAP BTP 创建的 Java 应用添加 Custom Event Handler 支持创建功能

Jerry Wang

spring 云原生 Cloud SAP 10月月更

PriorityQueue源码-成员变量解析

知识浅谈

Priority Queue 10月月更

Java编程之数组

魏铁锤

10月月更

最火的物联网技术MQTT,其服务质量QoS的三个级别分别是什么意思,本文一定对您有帮助!

wljslmz

物联网 mqtt QoS 10月月更

金九银十前端面试题总结(附答案)

loveX001

JavaScript

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

React组件之间的通信方式总结(下)

beifeng1996

React

react高频面试题自测

beifeng1996

React

「Hive进阶篇」二、万字长文超详述hive企业级优化

大数据阶梯之路

大数据 hive 面试 hive优化

Java对象的使用和对象内存图解

共饮一杯无

Java 对象 10月月更

大数据ELK(二十四):安装Kibana

Lansonli

10月月更 安装Kibana

开源无国界,从openEuler Maintainer到Spark Committer的贡献开源之路

openEuler

spark 开源 openEuler

【一Go到底】第十四天---break快速入门

指剑

Go golang 10月月更

Jib使用小结(Maven插件版)

程序员欣宸

Docker 10月月更 Jib

SAST + SCA: 结合使用安全升级

SEAL安全

SCA 安全测试 攻击 SAST 应用安全测试

「Hive进阶篇」一、详解存储格式及压缩方式

大数据阶梯之路

大数据 hive 面试 数仓

面向对象思想和Java中类的定义

共饮一杯无

Java 面向对象 10月月更

过去五十年最具影响力的十大编程语言及其创造者_编程语言_javinpaul_InfoQ精选文章