43 种顶级编程语言:何时以及如何使用它们
有很多编程语言可供选择。TIOBE 编程语言指数是一份按流行度排序的编程语言列表。本文列出了该列表中排名前 50 的语言(大部分)(少数没有列出任何工作机会的语言被排除在外)。
每种语言列表包括:
- 评论:包括每种语言的描述,以及一些背景和历史。
- 人气排行:
- 职位数量:这是在 Indeed.com 上搜索该语言找到的职位数量(截至撰写本文时)。该数字与所使用的搜索词相关。每次搜索都会显示在纽约市(纽约州)找到的该语言的职位数量。这个“基准”搜索可以很好地反映该语言的受欢迎程度。
- 高(> 1,000 个职位)
- 中型(500 - 1000 个职位)
- 低(<500 个职位)
- 利基市场(<100 个职位)
- 职位数量:这是在 Indeed.com 上搜索该语言找到的职位数量(截至撰写本文时)。该数字与所使用的搜索词相关。每次搜索都会显示在纽约市(纽约州)找到的该语言的职位数量。这个“基准”搜索可以很好地反映该语言的受欢迎程度。
- 学习难度:简单、中等、困难
- 用例:
- 一般用途
- 本地(桌面)应用程序
- Web 应用程序
- 移动应用程序
- 专业
- 嵌入式系统
- 大型机
- 工业的
- 学术/研究
- 一般用途
如何选择编程语言
编程语言是以结构化方式表达意图的工具。软件开发人员选择语言的方式就像建筑工人选择工具一样:选择最适合其工作的工具。
此列表中的语言都具有以下一种或多种属性:
- 程序
- 面向对象
- 至关重要的
- 声明式
- 功能
...以及更多
这些属性,结合开发任务的具体要求,使得某些语言比其他语言更适合完成当前任务。了解这些属性之间的差异,并结合经验,可以帮助开发人员选择适合其工作的工具。
选择正确的语言需要综合考虑开发团队的知识和经验、语言及其支持库的成熟度等因素。
43 种编程语言列表
1.什么是Java?
- 受欢迎程度:非常高
- 学习难度:中等至困难
- 用例:通用和专用
- Web 应用程序
- 移动的
- 嵌入式系统
Java 是领先的通用应用程序开发语言和框架。它由 Sun Microsystems 于 1991 年推出,是一种高级、编译型、内存管理型语言。
Java 的语法与 C/C++ 类似,使用花括号表示闭包,使用分号结束语句。自动内存管理是 Java 首次发布后迅速流行的特性之一。在 Java 推出之前,C 和 C++ 等需要手动内存管理的语言占据主导地位。手动内存分配繁琐且容易出错,因此 Java 被誉为应用程序开发人员向前迈出的一大步。
Java 的优势在于其跨平台能力,这在当时被称为“一次编写,随处运行”。Java 虚拟机 (JVM) 运行由 Java 语言编译而成的 Java 字节码。JVM 适用于大多数主流操作系统,包括 Linux、Mac 和 Windows。JVM 并非总是完美运行,但只要运行良好,用 Java 编写的程序就可以在任何兼容 JVM 的平台上运行。
Java 广泛应用于商业、Web 和移动应用。它是 Google Android 操作系统的原生语言。Java 还为数百万台机顶盒和嵌入式设备提供支持。Java 开发技能备受追捧。
如果您正在考虑从事软件开发工作,那么您应该强烈考虑学习 Java。
2.什么是C?
- 受欢迎程度:中等
- 学习难度:中等
- 用例:通用和专用
- 嵌入式系统
- 硬件驱动程序
- 本地应用程序
在 Java 出现之前,C 语言一直是主流的高级语言。它于 1972 年首次推出。Unix 的第一个版本是用汇编语言编写的,后来移植到了 C 语言。之后,C 语言被用于其他早期操作系统的开发,包括 IBM System/370。
C 语言在处理器速度较慢、内存较小的老旧系统上有着悠久的开发历史。用 C 语言编写的程序必须非常高效,因此在速度至关重要的场合,C 语言以其高性能而闻名。
C 语言仍然非常流行,因为它在系统开发(包括操作系统、嵌入式设备和固件)中的应用非常广泛。C 标准库已被移植到许多平台,因此在许多用例中都适用。然而,它通常用于低级系统编程,这比一般的应用程序编程需要更专业的技能。这也解释了为什么 TIOBE 指数中排名第二的语言,其招聘信息与排名前十的其他语言相比相对较少。
就业市场上可能与 C++ 存在一些重叠(请参阅下面的 C++ 列表。)
3.什么是Python?
- 受欢迎程度:非常高
- 学习难度:容易到中等
- 用例:通用和专用
- Web 应用程序
- 人工智能
Python 是一种相对较新的解释型编程语言,于 1989 年首次推出。它是一种支持自动内存管理和面向对象编程的解释型语言。
Python 在通用编程(包括 Web 应用程序)领域非常流行。近年来,它因其在人工智能应用领域的专业应用而广为人知。
Python 的工作机会非常多,因此很容易找到使用 Python 的工作。
4.什么是C++?
- 受欢迎程度:高
- 学习难易程度:困难
- 用例:通用、专用
- 本地应用程序
- Web 服务
- 专有服务
C++ 扩展了 C 语言的功能,使其更具面向对象特性。“双加”运算符源自 C 语言的增量运算符。C++ 的开发旨在将一些老语言的特性引入到速度更快、功能更强大的平台上。
C++ 在市场上占据着与 C 类似的领域,包括系统编程和底层硬件开发。多年来,C++ 标准库和规范得到了显著扩展,但也招致了人们的批评,认为它过于复杂,难以学习。
5.什么是 Visual Basic .NET?
- 受欢迎程度:低
- 学习难度:中等
- 用例:一般用途
- Web 应用程序
- 本地应用程序
Visual Basic.NET (VB.NET) 是 Microsoft 对 Visual Basic 语言的实现,可编译为 .NET 中间语言。这使得开发人员可以使用 Visual Basic 编写 .NET 应用程序。用
VB.NET 编写的应用程序功能与其他应用程序基本相同。但是,
VB.NET 在商业应用中从来就不怎么流行。应用程序开发人员更喜欢 C、C++ 和 C#。大多数用 VB.NET 编写的应用程序都比较老旧,很容易被视为“遗留”应用程序,最终会被淘汰或重新开发。
6.什么是 C#?
- 受欢迎程度:高
- 学习难度:中等
- 用例:一般用途
- Web 应用程序
- 本地应用程序
- 服务/微服务
C# 由微软于 2000 年开发并推出,同时发布的还有整个 .NET 框架。从语法上讲,C# 与 Java 和 C/C++ 非常相似。它是一种编译型、面向对象的语言,可编译为 .NET 中间语言。
最初,C# 用于以微软为中心的 Windows 窗体开发和使用 ASP.NET 的 Web 开发。近年来,随着 .NET 标准和 .NET Core 的推出,.NET 生态系统得到了发展。这些新的框架和标准是跨平台的,可在 Windows、Linux 和 Mac 上运行。
C# 在本地和 Web 应用程序编程中非常流行,通常(但不一定)用于主要基于 Microsoft 技术开发的系统。Microsoft 的 Xamarin 框架允许开发人员使用 C# 编写 Android 和 iOS 应用程序。在某些情况下,它适用于系统编程,并且提供可用于嵌入式系统的库。
7.什么是 PHP?
- 受欢迎程度:高
- 学习难易程度:简单
- 用例:一般用途
- Web 应用程序
PHP 最初是其名称 PHP/FI(表单解释器)的一部分,代表“个人主页”。现在的官方缩写是PHP:超文本处理器。它的主要作用是作为 Web 应用程序服务器端脚本系统。它最初是为了扩展 CGI 程序以支持 HTML 表单和数据库访问而开发的。PHP 程序的代码与 HTML 混合在一起,使其类似于微软经典的(.NET 之前的)Active Server Pages。解释器读取 HTML 和代码,并执行页面的代码部分。
PHP 因其易学性而广受欢迎。它也是 WordPress 和 Joomla 等热门 Web 应用程序的基础。然而,PHP 在软件质量方面也褒贬不一。早期版本缺乏安全控制和功能,导致开发高度安全的应用程序变得困难。PHP 框架和库的最新发展提升了其安全性。
有大量的 PHP 工作机会,适用于以内容为中心的 Web 应用程序(如 WordPress)以及用 PHP 开发的专有系统。
8.什么是 JavaScript?
- 受欢迎程度:非常高
- 学习难度:中等
- 用例:一般用途
- 本地应用程序
- Web 应用程序
JavaScript 是一种高级、动态类型、解释型语言。它使用类似 Java 的语法,因此得名 JavaScript。JavaScript 最早出现在 1995 年公共互联网的早期。JavaScript
用于编写在客户端 Web 浏览器中运行的代码。如果您使用 Web 的时间足够长,并且还记得 Google 地图的推出,那么您一定见证了它最初的一些神奇之处:地图中的“无限滚动”功能就是使用 JavaScript 实现的。
自 JavaScript 首次推出以来,所有主流 Web 浏览器都已支持 JavaScript。包括 React、Angular 和 Vue 在内的JavaScript 框架提供了完全在浏览器中运行的“模型-视图-控制器”应用程序开发范式。JavaScript 现在支持大多数现代 Web 应用程序的可视化、浏览器运行元素,因此大多数真实用户监控工具都支持 JavaScript。
JavaScript 还可以与 HTML 结合,创建跨平台的移动应用程序。NodeJS
是一个在服务器端运行 JavaScript 的 Web 服务器。NodeJS 应用程序完全用 JavaScript 编写。
鉴于所有这些用例和支持,JavaScript 既流行又需求旺盛。它学习起来并不难,尽管有一些高级编程技巧需要花时间掌握。如果您更喜欢面向对象的语言,可以考虑研究 TypeScript。TypeScript 可以“叠加”面向对象的特性和语法,并将其转换为原生 JavaScript。
9.什么是 SQL?
- 受欢迎程度:非常高
- 学习难度:容易到中等
- 用例:专业
- 数据库查询
SQL 代表结构化查询语言。SQL 用于查询和修改关系数据库管理系统 (RDBMS) 中的数据。特定于供应商的实现,例如 PL/SQL (Oracle) 和 T-SQL (Microsoft),提供特定于产品的功能。
SQL 并非一种通用的编程语言,无法用于编写应用程序。然而,它至少是一项对大多数开发人员有用的技能,即使不是必需的。“全栈开发人员”指的是拥有全面技能的开发人员,涵盖应用程序的各个方面。这几乎总是包括访问和保存数据库数据。SQL 最初学习起来并不难,但在大数据和数据分析中有一些高级用例需要丰富的经验。
SQL 在开发人员和数据库管理员中都非常流行,因此需要 SQL 技能的工作很多。然而,SQL 本身并不是一项完整的技能。SQL 经验在简历上是一大加分项,但它很少成为任何工作所需的主要技能。
10.什么是Objective-C?
- 受欢迎程度:高
- 学习难易程度:困难
- 用例:移动应用程序
- Apple iOS 设备:iPhone、iPad
Objective-C 是一种通用的、编译型的面向对象语言。它的语法源自 Smalltalk。在 2014 年 Apple 推出 Swift 之前,它一直是 Apple 开发 MacOS 和 iOS 应用程序的主要语言。
Objective-C 仍然相对流行,因为有大量应用程序是使用它编写的。如今,现代 MacOS 和 iOS 开发主要使用 Swift,随着支持的应用程序数量逐渐减少,它的流行度很可能最终会下降。Objective-C 学习起来并不容易。它使用的语法和语言约定与其他语言并不通用,因此其他语言的经验并不适用于 Objective-C。
如果你想专注于 Apple 生态系统的软件开发,那么同时学习 Objective-C 和 Swift 是个不错的选择。这样你既能开发用 Objective-C 编写的旧应用程序,又能用 Swift 编写新应用程序。两者兼具,工作机会非常丰富。
11.什么是Delphi/Object Pascal?
- 受欢迎程度:超小众
- 学习难度:中等
- 用例:一般
- 本地应用程序
Delphi 是 Object Pascal 语言的编译器和集成开发环境 (IDE)。Object Pascal 是 Pascal 语言的面向对象衍生语言,开发于 20 世纪 60 年代末。
Delphi/Object Pascal 之所以上榜,是因为市面上有很多用 Object Pascal 和 Delphi 编写的软件。从工作岗位数量来看,Object Pascal 实际上已经是一门消亡的语言了。如果你想以软件编写为职业,那就别再用 Delphi 和 Object Pascal 了。它们的时代已经过去了。
12.什么是 Ruby?
- 受欢迎程度:高
- 学习难度:容易到中等
- 用例:一般
- Web 应用程序
- 脚本
Ruby 是一种解释型、动态类型、面向对象的语言,最早出现于 20 世纪 90 年代中期。它受到了本文列出的其他几种语言的启发,包括 Lisp、Perl 和 Ada。Ruby
在 Web 应用程序开发中非常流行。Ruby on Rails 框架(现简称为“Rails”)是一个用 Ruby 编写的模型-视图-组件服务器端框架。
Ruby 相当容易学习。它在 Web 应用程序中的广泛使用使其很容易找到工作机会。
13.什么是 MATLAB?
- 受欢迎程度:中等
- 514个职位
- 学习难度:中等至困难
- 用例:专业
- 数学研究
MATLAB 本身并非一种编程语言。它是一个用于计算和建模复杂数学计算的应用程序。它主要用于大学和实验室的研究环境。MATLAB 可以处理复杂的矩阵运算,并支持使用复杂数学符号的扩展。可以用 C、C# 和 FORTRAN 编写的函数在 MATLAB 中调用。
使用 MATLAB 所需的知识更多地与数学概念和技能相关,而非编程知识。如果您已经是正在攻读数学博士学位的高等数学学生,那么 MATLAB 相对容易学习。
14.什么是汇编语言?
- 受欢迎程度:低
- 学习难易程度:困难
- 用例:专业
- 系统编程
- 硬件/固件开发
“汇编语言”是指与特定微处理器的本机机器指令紧密相关的低级代码的统称。本列表中的大多数语言都是“高级”语言,其语法与英语更接近。高级语言代码必须编译为中间字节码,或直接编译为机器指令。汇编代码是汇编的(因此得名),而不是编译的。
用 C 或 Ruby 编写的一行代码,只需阅读即可相对容易理解其意图。相比之下,如果不仔细阅读整个程序,汇编语言就很难理解。每个操作,包括数学运算和将数据移入移出寄存器,都是一个完整的语句。这意味着完成相同数量的工作,汇编代码比 C 代码需要更多。
当性能是首要目标时,汇编代码最为有用。它可用于极低级的系统编程,或者在某些情况下与应用程序代码结合使用以提升性能。需要汇编知识的工作包括系统编程和硬件开发。
15.什么是 Swift?
- 受欢迎程度:中等
- 学习难度:中等至困难
- 用例:Apple 移动和桌面应用程序
- MacBook
- iPhone
- iPad
苹果于 2014 年推出了 Swift,作为 Objective-C 的现代替代方案。它的目标是比 Objective-C 更易于调试。Swift 的语法比 Objective-C 更易于阅读,并且完成相同工作所需的代码更少。然而,新版本引入的重大更改可能阻碍了它的普及。
Swift 有相当多的职位空缺,所以 Swift 很可能会继续存在下去。正如 Objective-C 清单中提到的,如果你想为 Apple 生态系统开发,最好两头下注,两种语言都学。
17. 什么是 Go?
- 受欢迎程度:低
- 学习难度:中等
- 用例:一般
- Web 应用程序
- 本地应用程序
Go(也称为 Golang)相对较新。它由两位 Google 工程师于 2009 年推出。Go 的语法大量借鉴了 C 和 Java。Go 的设计目标包括跨平台兼容性、简单易用以及对现代处理器的支持。
Go 相对容易学习。它具备一些 C/C++ 的复杂性(例如指针),但语法和约定更简单。虽然 Go 的工作机会并不多,但在工程和 DevOps 领域,Go 的追随者正在迅速增长。
18.什么是 Perl?
- 受欢迎程度:高
- 学习难度:容易到中等
- 用例:一般
- 本地应用程序
- Web 应用程序
Perl 于 1987 年推出,是一种实用的脚本语言,由 CGI 脚本演变而来。Perl 的最新版本与早期版本有很大不同。
Perl 相当容易学习,但也有一些缺点。Perl 的开发有些杂乱无章,导致人们批评它组织性不强。这使得 Perl 背负着不够健壮的名声。
相当多的软件都是用 Perl 编写的,这种情况一直持续到今天。Perl 的工作并不难找。话虽如此,说 Perl 是一门“现代”语言未免有些牵强。Perl 或许是职业生涯早期学习的一门不错的入门语言,但它不应该是唯一的选择。
19. 什么是 R?
- 受欢迎程度:低
- 学习难易程度:困难
- 用例:专业
- 统计计算与分析
编程语言 R 主要由统计学家和研究人员用于对数据集进行统计分析。人口统计学家、保险精算师以及其他与统计学相关的工作都使用 R。与 MATLAB 一样,使用 R 所需的大部分知识都与统计学相关。R 程序员将统计学知识与编程和软件开发的基本知识相结合。
R 编程工作并不难找,但由于工作的专业性,数量并不多。如果你是一名从事统计工作的数据分析师,你很可能已经学过 R。如果你对这份工作感兴趣,那么你强烈建议将 R 添加到你的工具箱中。
20.什么是PL/SQL
- 受欢迎程度:低到中等
- 学习难度:中等
- 用例:数据库查询
- Oracle 数据库
PL/SQL 是上述 SQL 语言的特定供应商实现。PL/SQL 的语法和特性与 Oracle 数据库的特性一致。所有 SQL 方言的学习难度都适中。简单的数据查询和更新相当容易学习。连接、聚合以及诸如游标之类的高级概念需要对数据库理论有更深入的了解。
Oracle 是占主导地位的数据库供应商,因此 PL/SQL 的工作机会相当多。如果您是 Oracle 数据库管理员,PL/SQL 是必学的。在数据“层”工作的全栈开发人员应该考虑学习 PL/SQL 和其他方言。
21. 什么是 Visual Basic?
- 受欢迎程度:低
- 学习难易程度:简单
- 用例:一般
- 本地应用程序
Visual Basic (VB) 是由微软推出的,是 BASIC 编程语言的一个变体。它是一种事件驱动型语言和集成开发环境,主要用于开发 Windows 应用程序。VB 的设计目标是易于学习并快速生成可用的软件。Visual Basic for Applications (VBA) 嵌入在旧版 Microsoft Office 应用程序中,例如 Access。VBA 用于提供对 Office 文档的编程操作。Access 数据库使用 VBA 来编写小型应用程序。
微软于 2008 年弃用了 Visual Basic 6.0(Visual Basic 的最后一个版本)。它不再受支持。需要 Visual Basic 的工作正在减少。这类工作很可能专注于维护和/或移植到现代平台。
22.什么是SAS?
- 受欢迎程度:低
- 学习难易程度:困难
- 用例:一般
- 本地应用程序
SAS 最初代表“统计分析系统”。SAS 于 1966 年在大型计算机上首次开发,用于统计数据分析。
SAS 并不常见,尽管仍有一些工作机会。现代统计分析工具已经超越了 SAS。
23.什么是Dart?
- 受欢迎程度:小众
- 学习难度:中等
- 用例:一般
- Web 应用程序
- 移动应用程序
Dart 由 Google 工程师于 2011 年推出。它是一种静态类型的编译型语言,语法类似于 C 语言。Dart 可以转换为 JavaScript。
Dart 从未真正流行起来,因此它并不流行,而且就业机会也很少。
24.什么是 F#?
- 受欢迎程度:小众
- 学习难度:中等至困难
- 用例:通用和专用
- Web 服务
- 机器学习
F# 是由微软推出的面向对象的函数式语言,可编译为 .NET 中间语言。作为一门函数式语言,F# 将程序表达为数学函数。函数式语言不同于面向对象语言和过程式语言,因为它们避免使用可变数据和状态。
函数式编程与其他更流行的编程形式截然不同,但它非常适合特定类型的应用程序。某些计算可以用函数式语言比面向对象语言更简洁、更优雅地表达。
F# 是一种特殊语言,可用的工作很少。
25. 什么是 COBOL?
- 受欢迎程度:小众
- 学习难度:中等至困难
- 用例:
- 大型机应用程序开发
COBOL 是一种非常古老的语言,主要用于大型机开发。与现代语言相比,它的学习难度略高。
由于在职且未退休的 COBOL 程序员数量稀缺,数十年来一直使用 COBOL 的程序员就业率很高。然而,如果你还不了解 COBOL,这并不是学习它的好理由。更好的做法是投资学习新一代语言和平台的新技能。
26.什么是Scala?
- 受欢迎程度:中等 - 高
- 学习难度:中等至困难
- 用例:一般用途
- 软件框架
- Web 应用程序
Scala 的设计初衷是为了填补 Java 语言的空白,例如函数式编程功能。它在软件库和应用程序开发领域备受青睐。
Scala 因其高学习难度而备受诟病。有人认为,学习新语言对软件开发者来说是一件好事,尤其是那些能够迫使开发者以新视角思考旧问题的语言。Scala 相关的工作机会很多。它或许不是一个很好的入门语言,但如果你有一定经验,还是值得一试的。
27.什么是ABAP?
- 受欢迎程度:小众
- 学习难度:中等至困难
- 用例:专业
- SAP 企业软件
ABAP 被设计用于与 SAP 企业软件系统一起使用来开发报告。
ABAP 是一种小众语言,就业机会很少。它的语法与现代语言截然不同。ABAP 可能不适合长期从事该职业。
28.什么是 Fortran?
- 受欢迎程度:小众
- 学习难易程度:困难
- 用例:专业
- 大型机编程
FORTRAN 是由 IBM 开发的,用于科学研究编程。它最初于 1957 年推出,至今已有 61 年历史,是本榜单上最古老的语言之一。
FORTRAN 已经达到了 COBOL 可能在大约 10 到 15 年后达到的水平 — — 几乎完全过时。
29.什么是Lua?
- 受欢迎程度:小众
- 学习难易程度:简单
- 用例:一般用途
- 通用编程
Lua 诞生于巴西,当时的贸易政策使得从世界其他地方购买授权软件的成本高昂。Lua 的设计初衷是便于移植,方便非技术用户学习。作为一种脚本语言,Lua 在游戏开发者新手中广受欢迎。
Lua 是一门小众语言,就业机会很少。学习 Lua 或许能让你成为更优秀、更全面的开发者,但未必能帮你找到工作。
30. 什么是 Rust?
- 受欢迎程度:小众
- 学习难易程度:困难
- 用例:专业用途和一般用途
- 应用程序/软件框架和组件
- 系统编程
Rust 是一种相对较新且功能强大的语言,在系统编程领域颇受欢迎。它的设计目标包括安全性、可靠性和速度。然而,这些特性的代价是复杂性和较高的学习曲线。
Rust 并不是一门好的入门语言,也不太受大众欢迎。它很适合用来挑战学习,也有一些工作需要用到它,但把职业生涯押注于它或许不是一个好主意。
31. 什么是 Lisp?
- 受欢迎程度:小众
- 学习难易程度:困难
- 用例:专业
- 系统编程
LISP 仅比 FORTRAN 年轻一岁,因此它成为这份榜单上的“曾祖父”语言之一。LISP 启发了这份榜单上许多“年轻”语言的设计,包括 JavaScript、Scala、Python 等等。
LISP 学习起来并不容易,而且语法非常冗长(如果你喜欢输入括号,那就太棒了!)。那些要求掌握 LISP 的职位,与其说是因为它本身,不如说是因为它能让你深入了解后来的语言。LISP 知识最有用的作用在于,它能让你成为更胜任的现代语言开发人员。
32.什么是 Groovy?
- 受欢迎程度:小众
- 学习难度:中等
- 用例:专业和通用
- 本地应用程序
- 开发人员工具
Groovy 与 Java 紧密相关。它的代码编译为 Java 字节码,语法与 Java 非常相似。Groovy 增加了 Java 所不具备的特性,例如动态类型和运算符重载。Groovy 代码也可以在未编译的情况下运行,使其成为一个脚本平台。
Groovy 在开发者中拥有一小群追随者,并被应用于一些流行的工具,例如 Jenkins。如果你已经了解 Java 或类似的语言,那么 Groovy 应该相当容易学习。它在很多招聘启事中被列为加分项,但它不太可能成为任何职位的核心要求。
33.什么是LabVIEW?
- 受欢迎程度:小众
- 学习难度:中等至困难
- 用例:专业
- 工业自动化
LabVIEW 是一个使用图形化语言设计程序的集成开发环境 (IDE) 和编译器。它主要用于工业自动化场景中的机器控制。
LabVIEW 之于机械工程和自动化,就如同 MATLAB 之于数学研究。如果您是一位构建自动化系统的工程师,那么使用 LabVIEW 很可能是您工作的一部分。否则,LabVIEW 很可能不会在学术研究之外发挥任何作用。
34.什么是Prolog?
- 受欢迎程度:小众
- 学习难易程度:困难
- 用例:专业
- 人工智能
Prolog 是一种基于相当先进的数学和逻辑理论的声明性语言,用于复杂系统。
Prolog 的语法学习和阅读都比较困难。除非你恰好从事使用 Prolog 的领域,否则最好还是跳过它。
35. 什么是Ada?
- 受欢迎程度:小众
- 学习难度:中等
- 用例:一般用途
Ada 是此列表中较老的语言之一。它于 1980 年首次推出。Ada 与 Pascal 最为接近。Ada 具有许多典型的高级语言特性,包括静态类型和面向对象。
Ada 是一种小众语言,目前可用的工作岗位不多。大部分工作可能涉及维护和移植到新平台。
36. Julia是什么?
- 受欢迎程度:非常小众
- 学习难易程度:困难
- 用例:专业
- 数据科学
Julia 是一种相对较新的语言,于 2012 年推出。它的语法源自 C。Julia 是为数据科学和分析应用而设计的。
Julia 是此列表中另一种与其设计支持的工作紧密相关的语言。如果您已经从事数据分析工作,那么很有可能您已经学习过 Julia。
37. 什么是 Haskell?
- 受欢迎程度:小众
- 学习难易程度:困难
- 用例:通用/专业
Haskell 是较老的纯函数式高级语言之一。函数式语言专注于通过数学语句表达意图,而不是通过命令式的子程序来“操作”数据。许多其他函数式语言都源自 Haskell。
Haskell 学起来相当困难,但它却是学习函数式编程的好机会。如果你学习 Haskell,你就能学会这种编写软件的方法。你也会对那些需要这种专业软件开发方法的利基市场很有价值。
38.什么是Apex?
- 受欢迎程度:低
- 学习难度:中等
- 用例:专业
- Salesforce.com 开发
Apex 是一种类似于 C# 和 Java 的语言。它由 Salesforce.com 开发,作为在 Salesforce 平台上开发的专有语言。
Apex 的学习难度与 C# 和 Java 差不多。如果你想使用 Salesforce 进行开发,那就学习 Apex 吧。
39.什么是Kotlin?
- 受欢迎程度:低
- 学习难度:中等
- 用例:移动开发
- Android 应用程序
Kotlin 在 Java 虚拟机上运行并编译为 JavaScript。其语法与 Java 非常相似。Google 支持使用 Kotlin 进行 Android 操作系统开发。
随着时间的推移,Kotlin 的受欢迎程度不断上升,但总体而言它仍然是一种小众语言。
40.什么是Bash?
- 受欢迎程度:低(查看详情)
- 学习难度:容易到中等
- 用例:
- Linux 脚本和自动化
Bash 脚本用于在 Unix 和 Linux 平台上自动执行任务。其语法相当简单,易于掌握。
Bash 技能主要用于 Unix/Linux 管理,以及需要为这些平台编写脚本的岗位。开发人员可以使用 Bash 来帮助实现软件交付流程的自动化。对于这些用例和其他用例而言,Bash 是一项重要的技能,然而,它本身并不是一门完整的编程语言。
41.什么是梯形逻辑?
- 受欢迎程度:小众
- 学习难易程度:困难
- 用例:
- 工业自动化
梯形逻辑与其说是一种编程语言,不如说是一种电路设计的符号。它主要用于工业电子产品的设计。
42. 什么是Clojure?
- 受欢迎程度:小众
- 学习难易程度:困难
- 用例:一般
Clojure 与 LISP 相关,并使用类似的语法。Clojure 运行在 Java 虚拟机上。它被广泛应用于各种应用程序和系统。虽然 Clojure 的工作机会不多,但确实存在。
43.什么是Scheme?
- 受欢迎程度:小众
- 学习难易程度:困难
- 用例:专业
Scheme 是另一种与 LISP 相关的函数式语言。它被广泛应用于操作系统和游戏开发等各种应用领域。
那么,您应该选择学习哪种编程语言?
现在我们已经向您展示了一些最流行的编程语言,是时候选择最适合您的项目的语言了。
文章来源:https://dev.to/raygun/top-43-programming-languages-when-and-how-to-use-them-515n