第十期:过去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. 唯一性 以下方法可以检查给定列表是否有重复的地方&…

使用scikit中的聚类

这是一次数据实验。基于七月算法邹博讲义和scikit-lean官网。 聚类:就是对大量未知标注的数据集,按数据的内在相似性将数据划分为多个类别,使得类别内的数据相似性较大而类别间的相似性较小。 1 k-means算法  参数:聚类的数目…

概率中比较重要的知识

-什么是协方差? 就是衡量两个随机变量(X,YX,YX,Y)之间相关性的量,取多个两个量的样本,通过判断他们大小变化关系,判断这两个量是正相关还是负相关或无相关。 记做:Cov(X,Y)E[(X−E(X))(Y−E(Y)…

MySQL学习(三)

-- 计算字段 -- 拼接字段 SELECT CONCAT(vend_name, (,vend_country,)) FROM Vendors ORDER BY vend_name;SELECT CONCAT(vend_name,vend_country) FROM Vendors ORDER BY vend_name;-- CONCAT(str1,str2,...) 拼接查询的值 SELECT CONCAT(vend_name,vend_country) FROM Vendo…

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

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

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

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

二元随机变量

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

深度学习:什么是backbone,benchmark,baseline

backbone:骨干网络,比如alexnet,ZFnet,VGG,googlenet... benchmark:性能指标,比如accuracy,内存消耗,模型复杂度,或者在性能上很有代表性的算法框架。 base…

6.mysql 锁机制

概述 定义: 锁是计算机协调多个进程或者线程并发访问某一资源的机制 在数据库中,除传统的计算资源(如CPU,RAM,IO等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发 访问的一致性、有效性是所有数据库…

第三十九期:原生图数据库的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挂…

476 Number Complement

问题:给定一个整数,返回它的补数。补数的是将原数据的二进制表示反转。例如 5 的二进制位是 101,反转之后是:010,也就是整数2。所以输入5,返回2.。输入1,返回0。  思路:取反操作是…

设单链表中存放n个字符,试设计一个算法,使用栈推断该字符串是否中心对称...

版权声明:本文为博主原创文章。未经博主同意不得转载。vasttian https://blog.csdn.net/u012860063/article/details/28281631 转载请注明出处:http://blog.csdn.net/u012860063 问题:设单链表中存放n个字符,试设计一个算法&#…

6项目启动

项目启动概述

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

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

Leetcode 1559二维网格图中探测环 技巧DFS|剪枝

二维网格图中探测环 给你一个二维字符网格数组 grid ,大小为 m x n ,你需要检查 grid 中是否存在 相同值 形成的环。 一个环是一条开始和结束于同一个格子的长度 大于等于 4 的路径。对于一个给定的格子,你可以移动到它上、下、左、右四个方…

LVM--逻辑卷管理

一、分区fdisk /dev/sdb #以下将硬盘/dev/sdb划分为两个主分区(不建扩展分区):/dev/sdb1、/dev/sdb2,类型为Linux、Linux LVM [rootvm-centos7 ~]# fdisk /dev/sdbCommand (m for help): n #按"n"键新建一个分区 Partition ty…