2021 年要学习的 9 种新编程语言
随着新处理器、逻辑板的发展以及对更高性能的需求,Go 和 Rust 等新编程语言正在取得进展。开发人员通常会收到很多此类问题——接下来要学习什么?这个行业正在以非常快的速度变化,你总能找到新的东西来学习。但问题是你如何选择你的下一门语言?
您的知识、兴趣和职业目标 是主要的关键。有一些著名的语言统治着计算机行业,比如 Python 和 JavaScript,它们很难出错。
但是,如果您想尝试一些不太受欢迎的东西怎么办?为了帮助您解决这个问题,我们收集了一些有机会成为行业主流的新编程语言。仔细选择你的武器。
9.科特林
受以下因素影响: JavaScript、Java、C# 和 Scala
Kotlin 是现代多平台应用程序的静态类型语言。它由 JetBrains 团队开发,于 2011 年首次亮相。它旨在成为具有工业实力的面向对象编程语言,优于 Java,并且可以与 Java 代码完全互操作,以便用户可以逐步从 Java 迁移到 Kotlin。
除了面向对象方法的方法和类,Kotlin 还支持使用函数的过程编程。它还支持 Linux 和 Perl shell 脚本样式的字符串插值和类型接口。
Kotlin 具有中缀表示法、空点安全性和扩展功能。在 Google I/o 2017 中,Kotlin 被宣布为官方 Android 开发平台。成为继C++、Java之后第三种完全兼容Android的语言。
Pinterest、Square、Trello、亚马逊网络服务、优步和 Corda 在其代码库中使用了超过 90% 的 Kotlin。
8.榆木
受以下因素影响: 标准 ML、F#、Haskell 和 OCaml。
Elm 是一种令人愉悦的语言,专为创建基于 Web 浏览器的图形用户交互而设计。与 JavaScript 不同的是,它不会生成运行时异常。相反,Elm 使用类型推断来检测编译期间的问题并提供用户友好的提示。
该语言侧重于 3 个因素——性能、可用性和健壮性。它包含一组富有表现力的语言结构,包括 let 表达式、匿名函数、if 表达式、case 表达式和列表插值。
Elm 有自己的虚拟系统,但是,它不支持更高级的类型。因此,它没有提供各种常见操作的抽象,例如没有通用的映射和过滤功能。
在生产中使用 Elm 的公司有 NoRedInk、Futurice、Gizra、Hearken、PivotalTracker 等。随着移动设备的兴起,Elm 有很大的机会进入市场并在那里停留一段时间。
7.朱莉娅
受以下因素影响: Fortran、Lisp、Lua、Python、Perl、Ruby 和 MATLAB
Julia 是一种用于数值分析和计算科学的高级编程语言。它具有丰富的数学函数库、分布式并行执行程序、复杂的编译器以及数值精度。
它包括用于信号处理、线性代数、字符串处理和随机数生成的开源 Fortran 和 C 库。用 Julia 编写的程序围绕多个分派进行组织,使您能够跨参数类型的各种组合定义函数行为。
Julia 没有对用户强加任何特定的并行风格。它为分布式计算提供了不同的关键构建块,使其足够灵活以支持广泛的并行样式,并让用户添加更多。
不仅可以在 Julia 中快速轻松地制作 Web 应用程序,而且生成的产品响应迅速且易于使用。许多老牌公司已经开始使用 Julia,包括 Facebook、McAfee、Zulily、迪士尼、Capital One、IBM 和 Forio。
6.灵丹妙药
受以下因素影响: LFE、Clojure、Erlang 和 Ruby。
Elixir 是为创建实时分布式应用程序而开发的。它是一种动态的函数式语言,它利用了以运行低延迟和容错系统而闻名的 Erlang VM。这种语言的目标是提高在不同 CPU 上运行的 Rails 应用的性能。
Elixir 代码在称为 BEAM 的 Erlang 虚拟机上运行并编译为 Erlang 字节码。如果您正在处理数据处理、网络应用程序或某种银行软件,这是一个不错的选择。但是,如果你还没有做过函数式编程,这对你来说可能并不容易。
Elixir 中的一切都是一个表达式,并且可以在不影响运行时间的情况下调用函数。该语言更重视高阶函数和递归,而不是基于副作用的循环。此外,它具有模式匹配、轻量级并发以及带有流的 Lazy 和 asyn 集合。
Elixir 已成功用于 Moz、Pinterest、Inverse 和 Bleacher Report 等公司。它在欧洲和美国组织年度活动,以及小型会议和当地活动。
5.锈
受以下因素影响: C#、Ruby、C++、Alef、Haskell、NIL、Cyclone、Limbo 和 Erlang。
Rust 是 Mozilla 开发的系统编程语言。它在 Stack Overflow 的 2016 年和 2017 年开发者调查的“最受欢迎”类别中名列前茅。代码的设计已经通过 Servo 网络浏览器布局引擎和 Rust 编译器进行了改进。它与 C++ 非常相似,语法易于学习。
Rust 被设计为安全、并发和实用的编程语言,支持命令式过程和函数式方法。它不是用于为最终用户开发应用程序,而是用于硬件,更具体地说,是为了在保持性能的同时获得更好的内存安全性(防止分段)。
Rust 没有使用自动垃圾收集(如 Java 和 Go),而是通过资源获取即初始化来管理内存和其他资源,并带有可选的引用计数。此外,它以最小的开销提供资源的确定性管理,并有利于值的堆栈分配。
其企业用户名单令人印象深刻,其中包括 Telenor Digital、SmartThin、Dropbox、Wire、Braintree、daZta、Ather、Onesignal、Faraday 和智能云。
4.水晶
受以下因素影响: C、Ruby、C# 和 Python
Crystal 是一种面向对象的语言,希望将类似 C 的性能带入高度抽象的网络开发人员世界。语法主要受 Ruby 启发,对于有经验的 Ruby 开发人员来说,这是一个较低的学习曲线的额外好处。
Crystal 依赖 LLVM 来发出本机代码,因此利用了工具链中内置的所有优化。此外,它是静态类型检查的,因此任何类型的错误都会更早地被捕获而不是在运行时失败。
该语言拥有宏系统并支持运算符重载和自动垃圾收集。它有专用的语法来轻松调用本机库,从而无需重新实现低级任务。此外,它使用绿色线程(称为纤程)来实现并发。
阅读:有史以来最伟大的 20 位计算机程序员
Crystal目前处于开发阶段。尽管如此,一些勇敢的人已经开始在生产线上使用它,包括 Neopoly GmbH、Appmonit、Bulutfon 和 Protel。
3.常规
受以下因素影响: Python、Java、Smalltalk、Objective-C 和 Perl
Groovy 是一种面向对象的脚本语言,于 2003 年首次出现,但稳定版本于 2007 年发布。由于它被动态编译为 Java 字节码,因此它可以与任何 Java 库无缝集成。因此,如果您使用 Java 或任何其他使用大括号语法的代码进行编程,则可以快速学习 Groovy。
Groovy 也越来越受欢迎,因为它提高了开发人员的生产力并且可以访问 Grails Web 应用程序框架。它包含大量很酷的功能,包括 NoSQL 支持、强大的视图技术、可插拔性等。
与 Java 不同,Groovy 具有动态和静态类型、对正则表达式的本机支持、添加的辅助方法、运算符重载以及自动检查空指针的安全导航运算符。此外,它还为许多标记语言(如 HTML 和 XML)提供本机支持。
该语言已被一些巨头公司使用,包括 Oracle Sales Cloud、eXo 平台、LinkedIn、XWiki Saas、DataMelt、Mastercard、Netflix、Airbus 和 Apache OFBiz。
2. R
受以下因素影响: S、XLispStat、Common Lisp 和 Scheme。
R 编程语言并不新鲜,但由于大数据革命,它近年来变得越来越流行。它最早出现在 1993 年,现在它被广泛用于数据挖掘人员和统计人员中,用于数据分析和开发统计软件。它带有命令行界面和图形前端。
R 语言包含一组用于矩阵计算的运算符、有效的数据处理工具和用于数据分析的中间工具。与大多数统计计算语言相比,它具有更强大的面向对象编程功能。
R 的数据结构包括数组、矩阵、数据框、向量和列表。可扩展对象系统具有用于时间序列、地理空间坐标和回归模型的对象。此外,R 作为通用矩阵计算工具运行,其性能基准可与 MATLAB 或 Octave 相媲美。
阅读:8 种最佳人工智能编程语言
政治预言家 FiveThirtyEight 使用 R 来模拟 2008/2012/2016 年总统选举和 2010/2014 年中期选举的机会。共和党全国委员会和民主党全国委员会也使用它来确定潜在选民并管理努力以获得最大数量的投票。
1.去
受以下因素影响: C、Python、Smalltalk、Alef、CSP、Modula、Pascal、Limbo 和 BCPL。
Go 于 2009 年由 Google 发布,旨在管理大型组织每天面临的编码问题。易于使用、简单、并发特性和性能是开发人员对 Go 感到满意的主要原因。 2016年荣获TIOBE年度编程语言奖。
Go 提供了两个替代类继承的特性:第一个是“嵌入”,可以被视为一种自动组合形式,第二个是它的“接口”,它提供了多态性。它具有用于编写并发代码的内置功能和库支持——不仅适用于 CPU 并行性,而且适用于异步性。
阅读:50 种计算机编程法则
该语言包括调试、测试和代码审查工具,例如用于测试和微基准测试的 go test、用于格式化代码的 go fmt 等等。它还包括调试和分析支持、竞争条件测试器和运行时检测(如垃圾收集暂停)。
Go 拥有许多大企业用户,包括 YouTube、Dropbox、Cloudflare、Netflix、BBC、Soundcloud、Zerodha、MaxCDN、Tumbler、Twitter、Yandex、雅虎、Wikia、Uber 和 CoreOS。
工业技术