第十期:过去50年间,十大热门语言及发明者大盘点

本文收集了十大热门编程语言背后的程序员和设计者的名字和大家分享。以下是十大热门编程语言及其创建者,排名不分先后。

 

软件领域有许多编程语言,每年还涌现出越来越的新语言。新发布的语言有Scala、Kotlin、Go和Closure,但历史证明,只有少数语言能存活下来,其中一些语言对软件领域的发展做出了巨大贡献。

编程语言是软件领域的重要一环,虽然大家对热门的编程语言了解较多,例如大家都知道詹姆斯·高斯林发明了Java,但不是每个人都知道Perl,Pascal, Lisp,或是Erlang的创建者是谁。

因此本文收集了十大热门编程语言背后的程序员和设计者的名字和大家分享。以下是十大热门编程语言及其创建者,排名不分先后。

1. Java——詹姆斯·高斯林

Java是最流行、最成功的编程语言。詹姆斯·亚瑟·高斯林博士发明了Java,被誉为Java编程语言之父。

Java最初是由SunMicrosystems公司开发与支持的,2010年1月Oracle收购Sun MyStand后,Oracle便接管了Java。

Java创建的宗旨就是“编写一次,永久运行”,而平台无关性则是Java受到世界企业青睐的一个重要原因。

迄今为止,它是当前最流行的应用编程语言之一。如果想学习Java,不如从全套Java深造讲习课程开始吧。

2. C语言——丹尼斯·里奇

1967年至1973年间,美国计算机科学家丹尼斯·麦卡利斯泰尔·里奇在美国电话电报公司贝尔实验室发明了C语言。

C语言至今仍非常流行,广泛应用于系统编程。虽然比Java更先面世,但C语言仍保持着自身优势。

另外,丹尼斯·里奇还与他的老同事肯·汤普森一起创建了举世闻名的UNIX操作系统。

如果把他的热度与比尔·盖茨或乔·布斯相比,那简直是小巫见大巫。但里奇在软件领域的贡献几乎无人能及。

每个程序员都应该知道丹尼斯·里奇及其对编程界的贡献。如果想学习C语言,可在Coursera上加入C语言专业编程入门课程。跟其他Coursera证书一样,所有的课程都是免费的,但必须付费才能拿到结业证书。

https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=40328&murl=https%3A%2F%2Fwww.coursera.org%2Fspecializations%2Fc-programming

另外,如果想了解数据结构,可以听一听C语言中免费的数据结构与算法课程。

http://javarevisited.blogspot.sg/2018/01/top-5-free-data-structure-and-algorithm-courses-java--c-programmers.html

3. C++——本贾尼·斯特劳斯特卢普

本贾尼·斯特劳斯特卢普,丹麦计算机科学家,1950年12月30日出生于丹麦奥胡斯。他因创建和开发广泛使用的C++编程语言而闻名。

C++, 顾名思义就是在C语言流行时开发的下一代编程语言。C++具有面向对象的编程特性,与更具结构性的C语言相比,这种特性更加突出。

C++仍是当下最流行的编程语言之一,由于与本机系统非常接近,同时还具备面向对象特征,C++在高频交易领域也得到了广泛的应用。

如果想从头学习C++,推荐Udemy上的开启C++编程之旅——从新手到进阶课程。该课程将理论与例子完美地结合在一起。

https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fbeginning-c-plus-plus-programming%2F

4. Python——吉多·范罗苏姆

国家数学和计算机科学研究学会(CWI)的吉多·范罗苏姆创建了Python。这是一种通用的高级编程语言,其设计理念强调了代码的可读性,Python的语法既清晰又富有内涵。

在美国,Python在学术层面上几乎取代了Java。与上一代人不同,现在的学生已经开始学习用Python而不是Java编程。

开始编程时,如果还不确定到底用Python还是Java,本图表信息或许有所帮助:

http://javarevisited.blogspot.sg/2013/11/java-vs-python-which-programming-laungage-to-learn-first.html

Python广泛应用于Web应用程序开发、软件开发和信息安全当中。

谷歌、雅虎和声田等科技巨头公司也普遍采用Python。如果想学习Python,那么Python 3全套训练营(何塞·马西亚尔·波特利亚主讲)是一门合适的入门课程。

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

当然还有更多选择,可在最好的Python课程清单中找到适合初学者和中级程序员的教程。

http://javarevisited.blogspot.sg/2018/03/top-5-courses-to-learn-python-in-2018.html

5. JavaScript——布兰登·艾奇

如果你问我,过去五到十年间哪种语言是最大赢家,我的回答是JavaScript。显然,JavaScript已经用jQuery一类的库制霸了客户端脚本空间,现在JavaScript转而在服务器端开发NodeJS一类的库。

JavaScript是一种基于原型的、动态的、弱类型的脚本语言,具有一流的功能,由布兰登·艾奇设计,网景通讯公司开发。

JavaScript广泛应用于客户端脚本、验证、动画、事件捕获、表单提交和其他常见任务中。它在浏览器中运行,几乎每个主流网站都可以看到它的身影。

强烈建议所有程序员都学习一下JavaScript。JavaScript与jQuery导论是最合适的入门课程。

https://pluralsight.pxf.io/c/1193463/424552/7490?u=https%3A%2F%2Fwww.pluralsight.com%2Fcourses%2Fintroduction-javascript-jquery

如果想先学免费资源,这里有一个免费JavaScript课程清单

(http://www.java67.com/2018/04/top-5-free-javascript-courses-to-learn.html),可以试着听一听这些课,如果还获取更多资源,去看看学习JavaScript的免费网站

(https://hackernoon.com/10-websites-to-learn-javascript-for-beginners-31e13bbdbb5c)。

6. PHP——拉斯马斯·勒德尔夫

不管你多讨厌PHP(Personal Home Page,超文本预处理器),都无法忽视一个事实,即一半的互联网都依赖这一巧妙的互联网语言运行。拉斯马斯·勒德尔夫于1995年首创PHP。

PHP的主要应用是这一语言的官方参考框架,由PHP集团提供。

PHP是微软Microsoft’sActive Server Pages (ASP)服务器端脚本引擎及类似语言,如JavaServer Pages (JSP)的主要竞争对手,但PHP的认可度逐渐上升,目前已安装在2000多万个Web站点和100万个Web服务器上。

同时,PHP也是开源的,Facebook、维基百科、Wordpress和Joomla等互联网巨头均使用PHP。PHP也广泛应用于动态网页构建与服务器端开发当中。

网上有很多PHP课程可供学习,推荐PHP入门(乔丹·埃德温·迪亚兹·普拉多主讲)。

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

如果想学习免费的PHP课程,这里有一个免费PHP与MySQL课程清单可供选择。

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

7. Perl——拉里·沃尔

Perl是一种高级的通用直译式动态编程语言。80年代中期由拉里·沃尔设计和开发,Perl凭借卓越的文本处理能力声名鹊起。

它还是Unix系统上生成报告和脚本的主要语言。Perl擅长解析和处理大型文本文件,可用于数据库、应用程序、网络编程和图形编程。

同时,Perl也被IMDB、亚马逊和Priceline等公司广泛使用。如果想学习Perl,那么建议看一看Perl编程初学者指南课程(Udemy平台)。

https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Fperl-programming-for-beginners%2F

对Java开发人员而言,如果还能掌握Perl和Python,那简直是如虎添翼,因为出于维护和支持目的,会需要一个脚本语言来执行特定任务。

8. Ruby——松本行弘

90年代中期,松本行弘在日本设计开发了Ruby。

吸收了Perl、Ada和Smalltalk,Ruby为高效、轻松的编程而设计。

Ruby主要用于Web应用程序开发,并被推特、Hulu和Groupon等主流网站使用。

如果想学习Ruby,那么Ruby基础是最好的入门课程(亚历克斯·科尔班主讲,Pluralsight平台)。

https://pluralsight.pxf.io/c/1193463/424552/7490?u=https%3A%2F%2Fwww.pluralsight.com%2Fcourses%2Fruby-fundamentals

9. Lisp——约翰·麦卡锡

Lisp语言(List Processing的缩写)由约翰·麦卡锡开发,是排名第二历史悠久的高级编程语言。

Lisp据说是函数编程语言之父,例如Haskell、Erlang和Scala。它主要用于军事开发和防空系统。Lisp的精品课程很少,但尼科洛兹主讲的Lisp编程基础是一个不错的入门课程。

https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Flisp-programming-language%2F

10. Pascal——尼古拉斯·沃斯

Pascal是影响力较大的命令式和程序式编程语言,也是一种是一种小型高效的语言,尼古拉斯·沃斯于1968-1969年设计,1970年发行,旨在鼓励人们使用结构化编程和数据结构来完成编程。与Lisp类似,由于年代较为久远,Pascal的精品课程也不多,但如果想要学习,可在Udemy平台上看一看如何用Pascal编程课程。

https://click.linksynergy.com/deeplink?id=JVFxdTr9V80&mid=39197&murl=https%3A%2F%2Fwww.udemy.com%2Flearn-to-program-with-pascal%2F


阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380691

阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380882

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018-2019-2 20165212《网络攻防技术》Exp5 MSF基础应用

2018-2019-2 20165212《网络攻防技术》Exp5 MSF基础应用 攻击成果 主动攻击的实践 ms17010eternalblue payload windows/x64/meterpreter/reverse_tcp(成功)payload generic/shellreversetcp(成功)ms17010psexec(成功且…

【数据结构与算法】复杂度分析

一、什么是复杂度分析? 1.数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。 2.因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。 3.分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。 4.复杂…

第十一期:30秒内便能学会的30个实用Python代码片段

许多人在数据科学、机器学习、web开发、脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言。 Python流行的部分原因在于简单易学。 本文将简要介绍30个简短的、且能在30秒内掌握的代码片段。 1. 唯一性 以下方法可以检查给定列表是否有重复的地方&…

[Leetcode][第114题][JAVA][二叉树展开为链表][递归][迭代]

【问题描述】[中等] 【解答思路】 1. 前序遍历 将二叉树展开为单链表之后,单链表中的节点顺序即为二叉树的前序遍历访问各节点的顺序。因此,可以对二叉树进行前序遍历,获得各节点被访问到的顺序。 由于将二叉树展开为链表之后会破坏二叉树的…

第三十八期:美国数据隐私保护法案来临,明年1月生效,现仅2%企业合规

2018 年美国加州通过消费者隐私法案(CCPA),缓冲一年多后,将于 2020 年 1 月生效。届时,类似于欧盟的法案,CCPA 将对所有和美国加州居民有业务的数据商业行为进行监管。 依然在应付欧盟数据保护法案(GDPR)的…

二元随机变量

本章记录  1二元随机变量的定义  2二元离散型随机变量的定义、联合概率分布律、边际分布律、条件分布律  3二元离散型随机变量联合概率分布律函数、边际分布函数、条件分布函数  4二元连续型随机变量的定义、联合概率密度函数、边际密度函数、条件密度函数 二元随机变…

第三十九期:原生图数据库的15条规则

不妨看一下原生图形数据库的15条规则。就像复杂的系统网格或空中交通管制图,图形数据库用节点和连接组成的网络(名为标记属性图)来表示。节点显示为圆形或正方形,代表人员、产品、公司或订单等实体。 就像复杂的系统网格或空中交通管制图,图形…

[周赛第200场][Leetcode][第5477题][第5478题][JAVA][双指针][贪心]

【问题描述】[中等]5477. 排布二进制网格的最少交换次数 【解答思路】 贪心 限制条件 第一行要求末尾的0要尽量多 计算每行最后有几个0遍历交互 符合条件 第i行的末尾0的数量为n-i-1 统计交换次数第i行的末尾0的数量小于n-i-1,不符合条件 时间复杂度&#xff1a…

ubuntu异常关机,断电重启后进入紧急模式,挂载磁盘SSD失败了怎么办?(Failed mount on XXX)

解决方案: 进入/etc/fstab中保留你所有的除了必要的系统分区挂载点,这里保存了所有开机引导的时候自动挂载到linux文件系统里的设备还有分区信息,当系统启动的时候,系统会在这里读取信息并挂载到相应目录下。所有的磁盘硬盘SSD挂…

6项目启动

项目启动概述

[Leetcode][第415题][JAVA][字符串相加][双指针]

【问题描述】[简单] 【解答思路】 1. 双指针 从两个字符串最后开始处理 对齐字符串添加当前位 int c abcnt; cnt为进位超过长度的补“0” 要注意最后有可能需要处理溢出位 时间复杂度:O(max(M,N)) 空间复杂度:O(1) public String addStrings(String nu…

401 binary watch

文章题目来源于leetcode,解法学习了讨论去的解法。  问题:有一种二进制LED表。上面的4个LED灯表示小时,下面6个LED灯表示分钟。给定一个int值,写出可能表示的时间。例如输入1, Input: n 1 Return: [“1:00”, “2…

7立项申请

项目诞生的驱动因素 系统服务请求书 识别需求提出项目建议书 项目建议书内容 项目的可行性研究 如何进行项目的可行性研究 市场可行性研究 市场可行性分析注意事项 捕捉用户需求是一件困难的事 三个苹果改变世界 经济可行性 收益与成本 投入产出分析 投资分析期 纯收入 技术可行…

【数据结构与算法】数组与链表

数组的定义和特性 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表(Linear List):数组、链表、队列、栈 非线性表:树 图 连续的内存空间和相…

8构建项目组

组建项目组 组建项目组的任务 项目组架构 项目赞助人职责 项目经理的标签 项目经理的责任 项目成员的职责 案例分析 西天取经的只能架构 西天取经项目组 一个良好团队的七个要素

MySQL数据库面试题

目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引…

log双线性模型log-bilinear model简单概括

LBLM(log-bilinear model)是自然语言处理中的比较简单的模型。LBLM根据上下文的词向量来预测下一个词向量wnw_nwn​,通过对上下文词向量的一个线性组合来表示: rwr_wrw​是一个实数值词向量对于词www对于下一个词的分布计算根据wnw_nwn​预测表示和所有…

9制定项目章程

项目干系人概述 项目主要干系人 项目章程 项目章程的功能 项目章程

【数据结构与算法】栈与队列

栈 一、什么是栈? 1.后进者先出,先进者后出,这就是典型的“栈”结构。 2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。 二、为什么需要栈? 1.栈是一种操作受限的数据结构…

线性代数的本质笔记-更新ing

1. 序言 线性代数不光要会计算,还要理解掌握其几何直观。 2. 向量究竟是什么? 物理学:向量是空间中的箭头,具有长度和方向两个属性。计算机:向量是一个有序数表。比如房屋的参数信息可以根据相关属性按准许列成一个…