译者:欧剃 编辑:肉松 世界上目前现有大约 600 种编程语言,它们的使用趋势和流行程度每年都在变化,而新的编程语言也不断涌现,带来各种全新的特性。 那你该学哪一种语言呢? 学习语言的过程,总要投入不少时间和脑力。 如果你是一名经验丰富的老程序员,或者你已经掌握了几种编程语言,也许你也该了解一门更现代,薪资更高,专业性更强的编程语言,进一步提升你的个人竞争力。 但如果你是一名刚准备入门的编程新人,或是打算学习你的第一种编程语言,也许你该先学习一种主流的通用编程语言。 今天文章里推荐的这些编程语言都满足以下几个标准:
同时我们也会对这些语言的历史背景、关键特性以及主要用途进行概括。让我们开始吧! Python关于 Python 我已经不想说太多了。 Guido van Rossum 在 1990 年代创造 Python 语言的时候,只是把它当作一个业余项目来做。没人能想到这个项目有朝一日居然成为了全世界最热门的编程语言。在综合考虑了所有著名的排行榜和行业趋势后,我觉得 Python 是当之无愧的第一。 Python 未曾像 Java 或者 C/C 当年那样迅速普及,也不是一种颠覆性的语言。它从一开始就专注于改善程序员的编程体验,降低编程学习的难度,即使是学生也能写出真正可用的代码。 在 2008 年,Python 发布了新一代 Python 3 版本,引入了许多突破性的重大变化和改进。 关键特性:
普及程度: 在过去的几年中,对 Python 的需求出现了巨大的增长,并且没有放缓的迹象。编程语言排名网站 PYPL 将 Python 评为 2019 年增长最快的编程语言,全球同比增长 4.3%,总份额达到了 29.72%。 同时,Python 在 Github 的语言排名中也上升了一位,超越 Java 取得了第二的位置: 而 StackOverflow 开发者调查显示,Python 在最受欢迎的编程语言中排行第二(在所有技术工具中排行第四): 和大部分传统的主流编程语言的热度都居于稳定,或是略微下降的趋势相反,Python 在近 5 年的 Google 趋势上一直保持了不错的上升势头: 就业市场: 根据 Indeed 网站的分析,Python 是美国就业市场上最炙手可热的编程语言,2020 年 1 月的招聘职位数量达到了最高 7.4 万个,平均年薪水平排行第三,达到 12 万美元。 而 StackOverflow 开发者调查显示,比起其他主流编程语言,Python 开发者所需的工作经验相对较少,而获得的平均薪资相对更高: 主要用途:
JavaScript在第一次网页浏览器战争期间,Netscape 让 Brendan Eich 开发一款用于网景浏览器的新编程语言。Brendan Eich 只用了大约 10 天就搞出了一个最初的原型,后来的事情你们都知道了。 早期,软件开发者经常嘲笑 JavaScript 糟糕的语言设计、各种功能的欠缺。 然而随着多年的发展,Javascript 已经变成了一种多范式的高级、动态编程语言。Javascript 最早的一个重大突破,是 2009 年 Ryan Dahl 发布的跨平台 JavaScript 运行环境 Node.js,它让 JavaScript 走出了浏览器,能够在服务器段运行。 而 JavaScript 的另一个巨大飞跃,则是 2010 年 Google 开发的 JavaScript 网络开发框架 AngularJS。 如今,Javascript 已经成了全世界使用最广泛的编程语言,基本上你在任何地方都能发现它的身影:浏览器、服务器、移动设备、云端、容器……甚至微控制器等等。 关键特性:
普及程度: JavaScript 是所有平台上被广泛采用的高级编程语言。它在 GitHub 贡献排名中连续五年蝉联第一: 同时,StackOverflow 2019 年度开发者调查显示,JavaScript 在所有语言和技术工具中的受欢迎程度都是第一名。 Google 搜索趋势显示,JavaScript 的总体热度保持平稳: 就业市场: 根据 Indeed 网站的分析,JavaScript 是美国就业市场上需求量排行第三的编程语言,2020 年 1 月的招聘职位数量达到了最高 5.7 万个,平均年薪水平排行第四,达到 11.4 万美元。 而 StackOverflow 开发者调查显示,比起其他主流编程语言,JavaScript 开发者所需的工作经验也不太多,获得的平均薪资比较居中: 主要用途:
JavaJava 是至今为止最具颠覆性的编程语言之一。 在上个世纪 90 年代,许多商业应用程序都是用 C 进行开发,导致这些软件的维护非常复杂,而且更加依赖于系统平台。James Gosling 和他在 Sun 公司的团队一起创造的 Java 语言,通过提供更加简单、面向对象的解释型编程语言(也支持多线程编程),降低了开发商业应用程序的门槛。 Java 使用 Java 虚拟机(JVM)对底层操作系统进行抽象,首创了“编写一次,到处运行”的跨平台编程能力。同时 JVM 也提供了最早的垃圾回收机制,以管理对象的生命周期。 近年来,Java 的市场空间被其他更加“面向开发者”的新兴编程语言(比如 Python、JavaScript)所蚕食。而同时,JVM 的臃肿体积使它不太适应现在的云计算态势。在收购 Sun 之后,Oracle 对 JDK 收取高额的许可费用,这也进一步削弱了 Java 的受欢迎程度。 不过 Java 依然还是大型企业开发商业产品时的首选编程语言。 关键特性:
普及程度: 在发布 5 年以后,Java 就成了普及程度全球第三的编程语言,并且将这一领先优势保持了 20 年之久。下面是 TIOBE 网站统计的历史数据: 在 Github 贡献排名中,2014-2018 年 Java 都排第二,直到 2019 年被 Python 超越: Google 搜索趋势显示,Java 的总体热度相对缓慢下降: 就业市场: 根据 Indeed 网站的分析,Java 是美国就业市场上需求量排行第二的编程语言,2020 年 1 月的招聘职位数量达到了最高 6.9 万个,平均年薪水平排行 第六,达到 10.4 万美元。 而 StackOverflow 开发者调查显示,Java 开发者需要几年的工作经验,获得的平均薪资比较居中: 主要用途:
C#2000 年,科技巨头微软打算构建一个自己的面向对象 C 语言,作为他们 .NET 计划的一部分。C# 类似 Java,也需要在虚拟机运行。 资深语言设计师 Anders Hejlsberg 将 C# 设计为微软公共语言计划(Common Language Initiative,CLI)平台的一部分,该平台将许多其他语言(主要是微软设计的语言)编译成一种中间格式,该格式可以在名为公共语言运行库(Common Language Runtime,CLR)的平台上运行。 在刚问世时,C# 被人吐槽说是 Java 的仿制品,当然,后来这两种语言分别都有了巨大的改变。此外,微软对 C# 编译器/运行库的许可授权并不总是很清晰,虽然微软目前基于开放规格项目,没有强制实施它的专利,但这也许哪天就变了。 如今的 C#,是一门被广泛采用的多范式编程语言,它不但能运行在 Windows 平台,也能运行在 iOS/Android 平台(感谢Xamarian 的贡献),甚至是 Linux 平台上。 关键特性:
普及程度: 编程语言排名网站 TIOBE 将 C# 列为排行第 5 的编程语言,近一年来它的评分有了显著增长。 同时,GitHub 贡献排行中,C# 的受欢迎程度也排到了前 5: Google 搜索趋势显示,C# 的总体热度相对缓慢下降: 就业市场: 根据 Indeed 网站的分析,C# 是美国就业市场上需求量排行第五的编程语言,2020 年 1 月的招聘职位数量达到了最高 3.2 万个,平均年薪水平排行第八,达到 9.6 万美元。 而 StackOverflow 开发者调查显示,C# 开发者获得的平均薪资比 Java 高一些,但需要的经验(工作年限)可多了不少: 主要用途:
C上个世纪 60~70 年代,每一秒的 CPU 运算时间,每一比特的内存空间都相当宝贵。在 1969~1973 年间,贝尔实验室的工程师Dennis Ritchie 创造出了一种结构化的通用编程语言,它的代码能直接被编译成计算机可直接读取运行的机器码。 C 语言提供了能访问底层物理内存的方法,还让程序员能够获得底层硬件的全部控制权。 多年以来,C 语言一直是使用最为广泛的编程语言。除此之外,C 语言可以说是史上最具颠覆性和影响力的编程语言,今天我们介绍的几乎所有编程语言里,或多或少都留下了 C 语言带来的印记。 尽管 C 语言因其较大的偶然复杂度、不安全的代码,依赖于平台(不能跨平台运行)以及缺少许多功能而被人诟病,但如果你要将硬件的性能用到极致,那你只能选 C/C 或者 Rust 语言。 关键特性:
普及程度: C 语言是今天介绍的所有语言中最古老的,它统治了整个编程行业已有 47 年。在 TIOBE 的长期热度榜上,C 语言从 1985 年起屠榜至今,最差不过也就是偶尔落回第二名而已: 同样是 TIOBE 的年度榜单,C 语言依旧力压 Python,紧跟在 Java 之后: Github 贡献排名中,C 语言近几年不断下滑,如今排在第九名: Google 搜索趋势显示,C 语言的总体热度在最近五年里还算相对稳定: 就业市场: 根据 Indeed 网站的分析,C 是美国就业市场上需求量排行第六的编程语言,2020 年 1 月的招聘职位数量达到了最高 2.8 万个,平均年薪水平排行第六,达到 10.4 万美元。 而 StackOverflow 开发者调查显示,C 开发者获得的平均薪资和 Java 差不多,但需要的经验(工作年限)可多了不少: 主要用途:
C上个世纪 70 年代,Bjarne Stroustrup 和 C 语言的作者 Dennis Ritchie 曾经在贝尔实验室共事过。Bjarne Stroustrup 创造的 C 原来本是 C 语言的一个扩展,在原基础上增加了面向对象的功能。随着时间的推移,C 也进化成了一门多范式的通用编程语言。 和 C 一样,C 也提供了访问底层内存的功能,也能直接编译成机器码。 同样,C 也能取得对硬件的完全掌控,但会增加偶然复杂度;同时 C 也没有提供语言层面的内存安全和并发安全设计,却提供了太多的复杂特性,导致它成为最复杂也最难学的语言之一。 由于上述原因,C 在 2000 年代初被 Java 吃掉了大量市场份额,特别是在商业软件开发和大数据领域。 随着 GPU、容器化和云计算技术的兴起,C 又一次以其能快速、有效地利用软硬件变化的优势,在新的市场中占据了一席之地。 如今,C 是业内最重要也最常用到的编程语言之一。 关键特性:
普及程度: 作为今天介绍的第二古老的语言,它在 TIOBE 上排行达到第四: Github 贡献排名中,C 基本上保持平稳,如今排在第六名: 虽然 C 如今受到许多现代编程语言,如 Rust 和 Go 的正面竞争,但 Google 搜索趋势显示,C 的总体热度在最近五年里还算相对稳定: 就业市场: 根据 Indeed 网站的分析,C 是美国就业市场上需求量排行第四的编程语言,2020 年 1 月的招聘职位数量达到了最高 4.1 万个,平均年薪水平排行第五,达到 10.8 万美元。 而 StackOverflow 开发者调查显示,C 开发者获得的平均薪资比 Java 更高一些,但需要的经验(工作年限)可多了不少: 主要用途:
PHP和 Python 一样,PHP 也是在上个世纪 90 年代由一名开发者独立完成的编程语言。 软件工程师 Rasmus Lerdorf 最初创造的 PHP 是一个用 C 语言编写的通用网关接口(CGI)工具集,用来动态生成网页。后来更多的功能被加入进来,PHP 也逐渐演变成一门成熟的编程语言。 如今的 PHP,是一门通用动态编程语言,主要用于编写服务器端网页应用程序。 随着基于 JavaScript 的浏览器端网页应用的兴起,PHP 的热门程度有一定的下滑,它的黄金时期已经过了。不过 PHP 作为成熟的技术,并不会很快消失。 关键特性:
普及程度: TIOBE 网站将 PHP 列为排名第八的编程语言,但从长期趋势来看,PHP 确实已经在走下坡路了: Github 贡献排名中,PHP 基本上保持平稳,如今排在第四名,这说明使用 PHP 开发的软件仓库数量还有很多: 由于 PHP 依然还是网页开发中最常用的编程语言,所以 Google 搜索趋势中 PHP 的总体热度在最近五年里还算相对稳定,但已经可以看出正在缓慢下滑: 就业市场: 根据 Indeed 网站的分析,PHP 是美国就业市场上需求量排行第七的编程语言,2020 年 1 月的招聘职位数量达到了最高 1.8 万个,平均年薪水平排行第十,达到 9 万美元。 而 StackOverflow 开发者调查显示,PHP 开发者是 2019 年平均薪资最低的: 主要用途:
SwiftSwift 算是近年来新兴的编程语言中的一匹黑马。 在 Chris Lattner 带领下,一帮苹果工程师花了大约 4 年时间,开发出了一款全新的编程语言 Swift。它主要是为了代替 Objective-C,为 Mac 和 iOS 平台编写软件使用。 Swift 是一门多范式,通用的编译型语言,能带来较高的开发生产力。类似 C/C 和 Rust,Swift 支持 Chris Lattner 开发的 LLVM 编译器工具链。 Swift 能非常出色地与 Objective-C 代码库进行互用,并已经成为 iOS App 开发中的主要编程语言。作为一种强大的编译型语言,Swift 在其他领域中也越来越受欢迎。 关键特性:
普及程度: Swift 作为新兴编程语言,StackOverflow 程序员最爱的编程语言调查中排到了第六: 它在 TIOBE 上也已挤进了前十: 而 Google 搜索趋势显示,Swift 自发布以来的热度就不断上涨: 就业市场: 根据 Indeed 网站的分析,Swift 是美国就业市场上需求量排行第 9 的编程语言,2020 年 1 月的招聘职位数量达到了最高 6 千个,平均年薪水平排行第二,达到 12.5 万美元。 而 StackOverflow 开发者调查显示,Swift 开发者获得的平均薪资比 JavaScript 稍高一点,需要的工作经验比 Objective-C 那可要好太多了: 主要用途:
Go和 Swift 类似,Go 也是近年来才问世的编程语言。同样,Go 也是由一位科技巨头企业创造的。 在过去的十年中,Google 一直沮丧于现有的编程语言无法有效利用看似无限的 Google 硬件与人力资源。比如,编译 Google 的C 代码库需要花上半个小时。此外,Google 还希望用一门新语言来解决开发规模的问题。 2007 年起,著名的软件工程师 Rob Pike(UTF-8 编码的提出者)和 Ken Thompson (UNIX 操作系统的设计者)为 Google 创造了一门崭新、实用、容易上手、扩展性好的系统编程语言 Go,并在 2012 年 3 月发布了 1.0 版。 Go 拥有运行时和垃圾回收功能,这个运行时在编译过程中被打包进了生成的可执行程序中。 虽然 Go 的功能有一点不足,但很快它就迅速迭代加入了许多特性的语言级支持,并一跃进入主流编程语言的行列。 关键特性:
普及程度: 像 Swift 一样,Go 也正处于它的爆发期。在几乎所有的网站上,Go 语言的热度都正在超越许多已有的编程语言。比如 TIOBE 排行中,Go 排在第 14 位: 而在 StackOverflow 程序员最爱的编程语言调查中,Go 排到第九: Google 搜索趋势显示,近年来 Go 的热度不断攀升: 就业市场: 根据 Indeed 网站的分析,Go 是美国就业市场上需求量排行第 10 的编程语言,2020 年 1 月的招聘职位数量达到了最高 4 千个,平均年薪水平排行第九,达到 9.3 万美元。 而 StackOverflow 开发者调查显示,Go 开发者获得的平均薪资相当高,需要的经验则和 C/C 程序员差不多: 主要用途:
RubyRuby 诞生于1990年代,是由一名日本计算机科学家松本行弘独立创造的编程语言——这也是今天介绍的编程语言中第三种由单人独力打造的。它被设计为一种“面向对象的脚本语言”。 如今的 Ruby 已经演化成一种命令式、动态类型、支持元编程、多范式的通用编程语言。Ruby 的解释器是用 C 实现的,提供了垃圾回收机制。 和 Python 类似,Ruby 专注于提高程序员的生产力,令编写程序的人高兴。 虽然 Ruby 目前暂时还不是顶尖的编程语言,对新手来说,它平缓的学习曲线还是相当有吸引力的。 关键特性:
普及程度: TIOBE 网站将 Ruby 列为最受欢迎编程语言的第 11 位,处于快速上升中: Github 贡献排名中,Ruby 处于第 10 位: Google 搜索趋势显示,虽然 Ruby 现在还不是最顶级的编程语言,但目前热度情况比较平稳(可能略有下降)。 就业市场: 根据 Indeed 网站的分析,Ruby 是美国就业市场上平均年薪水平最高的编程语言,达到 13.4 万美元;而它目前的需求量排行第八,2020 年 1 月的招聘职位数量达到了 1.6 万个。 而 StackOverflow 开发者调查显示,Ruby 开发者获得的平均薪资已经超过 Rust,需要的经验则比 Swift 程序员少: 主要用途:
好啦,以上就是今天要介绍的 10 种年内最热门编程语言,你考虑好接下来学哪一门了吗? 来源:https:///top-10-in-demand-programming-languages-to-learn-in-2020-4462eb7d8d3e C 编程内容大更新!新增 40h python 内容,零编程基础可学习。C 语言创始人参与课程设计,深入学习到 C 语法,面向对象编程,智能指针,内存管理,性能优化,多线程编程等知识,掌握 C 高性能开发语言,成为专业级 C 工程师 |
|