AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

  • 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:2415425

评论

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

面向编程式多云管理服务时代的华为云MCP多云跨云的容器治理与实践

华为云开发者联盟

容器 云原生 华为云 多云 跨云

测试开发之网络篇-常用命令

禅道项目管理

Linux 命令行

智汇华云|华云数据ArSDN:自主可控的SDN

华云数据

手写链表之LinkedList源码分析

Ayue、

数据结构

互斥锁Mutex:鸿蒙轻内核中处理临界资源独占的“法官”

华为云开发者联盟

鸿蒙 OpenHarmony 鸿蒙轻内核 互斥锁Mutex 临界资源

WorkPlus房地产行业数字化解决方案—富力地产

BeeWorks

开源 远程办公 即时通讯 IM

Redisson 分布式锁源码 07:公平锁释放

程序员小航

Java redis 源码 分布式锁 redisson

如何对开发团队的人员进行绩效管理?

万事ONES

研发效能 ONES 绩效管理

一个完整的项目管理流程包括什么?

万事ONES

项目管理 ONES

FIL矿机多少钱一台 ?FIL挖矿成本是多少?

原来这就是Java IO啊····

华为云开发者联盟

Java 操作系统 进程 IO流 Java IO

就在今天,浪潮云说第二期来啦

云计算

pha挖矿/phala挖矿APP系统开发内容

pha分币APP系统开发资料

2021 WAIC | EMQ 映云科技:面向云原生的云边协同物联网解决方案

EMQ映云科技

云原生 云端 端边云协同架构 边云协同

见康乘拼团软件开发|见康乘拼团系统APP开发

Fil和BTC有什么区别?Filecoin挖矿的行情如何?

IPFS BTC fil fil币

WICC 2021召开在即 清华大学教授将分享AI+网络音视频服务研究

融云 RongCloud

如何利用云原生技术构建现代化应用

阿里巴巴中间件

云计算 阿里云 云原生 中间件

【LeetCode】主要元素Java题解

Albert

算法 LeetCode 7月日更

多项目同时进行如何做好项目管理?

万事ONES

用中国话学this指向(旧知识新讲)

加百利

JavaScript 大前端 this 7月日更

永续合约交易所搭建,合约平台开发

CODING 带你看腾讯新闻 7 日 DevOps 实践

CODING DevOps

DevOps CODING 腾讯新闻

【Flutter 专题】92 图解 Dart 单线程实现异步处理之 Isolate (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

图的应用——关键路径

若尘

数据结构

深入理解搜索引擎——初识query理解

药老算法

搜索引擎 中文分词 query理解 query纠错 query分析

与微软、IBM同台 斯图飞腾Stratifyd入选G2文本分析Grid报告

小白也能看懂的Java内存模型

程序猿阿星

JMM Java内存模型 原子性 有序性 可见性;

毕业季offer怎么拿?收下这份非典型求职面试指南

华为云开发者联盟

面试 职业规划 求职 毕业季 大学生

WorkPlus高端制造行业数字化解决方案—华晨宝马

BeeWorks

开源 即时通讯 IM 案例分享 汽车

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