今天就是 2022 年了,祝你新年快乐。
一年的开始,通常要立个 flag,今天要不选一个没学过的编程语言学一下?
如果说一个编程语言是一支股票的话,你会选择哪一个编程语言去投资呢?你可能会去查一些编程语言的排行榜和分析,就像标准普尔 500 指数对股市所做的那样,比如说股票有 3 种类型:
- 大盘股:业务稳定的大公司,如财富500强公司。上行是稳定的,但不是多方面的,下行是有限的。
- 中盘股:未来成为大盘股的可能性很高的中型公司。这些回报率要高得多,但也可能大幅下降。
- 小盘股:即将成立的公司。目前非常小,但潜力很大。这些可能变成了多张张张,但也非常危险。
如果只投资大盘股,回报将受到抑制。如果只投资小盘股,可能会中大奖,但也可能会破产。多样化的投资组合为每个资产类别分配资金。这保持了回报的稳定,也有获得更高回报的公平机会。
本文也按大中小盘的分类分享 10 个最具投资(学习)价值的编程语言,这些语言将足以完成大多数团队所做的大部分工作,选择一个或多个,学它。
一图胜千言
大盘
大盘编程语言是至少一个域或多个生态系统中的主导者。
1、Python
Python 是一种广泛使用的解释型、高级和通用的编程语言。如果你是一名初学者,学习 Python 就是你最好的选择,因为它容易学,功能强大,很容易就能构建 Web 应用,非常适合初学者作为入门的开发语言。
它确实存在性能问题(包括 GIL),但在机器性能已经快到顶的今天,几毫秒的延迟已经不再重要,开发效率比机器效率更为重要。最著名的云核算开源渠道 OpenStack 就是基于 Python 开发的。
人工智能,机器学习首选开发语言也是 Python。Python 已经成为互联网开发的焦点。在 TIOBE 编程语言走势图可以看到,Python 已经是第一位。
Python 有很多杀手级的框架,Flask、FastAPI 和 Django 是开发微服务的流行框架。NumPy、SciPy、Pandas、Scikit-Learn、TensorFlow 和PyTorch 是数据处理和机器学习最受欢迎的库。Jupyter Notebook 是数据科学家流行的、几乎是默认的 IDE。
2、Javascript/TypeScipt
JavaScript 是一种解释、动态类型和带垃圾回收的编程语言。TypeScript 是 JavaScript 的静态类型超级集。
JavaScript 与 HTML 和 CSS 一起统治着 Web 开发世界。所有主要网页浏览器都优化了 JavaScript 执行引擎。
Node.js 是一个受欢迎的服务器运行时环境。Express、Sails、Hapi、Meteor、Loopback、Fastify、Koa 是最受欢迎的网络服务框架。
React、Angular、Vue、Ember、Inferno、Svelte、Preact 是流行的前端框架。这种前端和后端的全栈覆盖使 JavaScript 成为开发Web应用程序的最主要语言。
JavaScript甚至在机器学习方面也取得了进展。例如,TensorFlow.JS 可用于在 node.js 的浏览器中部署机器学习模型。
3、Java
Java 是一种面向对象、静态类型、垃圾收集的编程语言,在 Java 虚拟机(JVM)上使用实时(JIT)编译进行解释。
除了 C 语言,Java 几乎是性能最好的编程语言,从第一张编程语言走势图也可以看到,经过很多年编程语言竞争依然傲视群雄,这就是它主导企业软件市场的原因。它也是 Android 应用程序开发中的主导语言。
Java/Java EE是开发企业级服务的经典平台。有许多微服务框架:Spring Boot、Vert.X、Helidon、Lagom、AxonIQ、Micronaut、Dropwizard、Quarkus。
Java 也是数据处理应用程序中的一种突出语言。Spark 和 Flink 等大多数 Apache 数据处理框架都基于 JVM。
4、C#
C# 是适用于 Windows 的静态类型、垃圾回收的编程语言。微软生态的必备语言。Active Server Pages(ASP.NET)是其 .NET 平台 Web 开发框架。
5、Swift
Swift 是一种通用、静态类型、编译的语言。它是目标 C 语言的替代品,Apple 和 iOS 是两个占主导地位的移动平台之一,Apple App Store 是 iPhone 和 iPad 应用程序市场,开发人员在这些平台上发布软件可获得收益。Swift 是用于创建 iOS 应用程序的编程语言。
中盘
中盘类编程语言已具有显著用途,并可能至少在一个域或生态系统中成为主导者
6、Kotlin
Kotlin 是一种具有类型推断的跨平台、静态类型的编程语言。它在 JVM 上运行,并与 Java 完全互操作。谷歌使其成为 Android 的首选语言。Kotlin 主要针对 JVM,但它可以编译为 JavaScript 和本机代码(使用 LLVM )。因此,Kotlin 代码可以在浏览器和 iOS 中运行。
在服务器端,它可以在任何 Java 微服务框架以及 Ktor 或 http4k 上运行。Kotlinx.html 是构建 DOM 的 DSL, Kotless 是无服务器部署的框架。还有一些不断发展的 Kotlin 数据科学库。
在 JVM 上运行,并受益于成熟的 Java 生态系统,跨平台,可编译为 JavaScript,这些优势使得 这些优势使得 Kotlin 越来越受欢迎。
7、Golang
Go 语言是一种来自谷歌的静态类型编译编程语言。它的语法类似于 C,但具有内存安全、垃圾收集和结构输入。Go 语言的杀手级应用 Docker 已经成为新一代的云计算技术。
Go 语言的 Goroutine 和 Channel 这两个神器简直就是并发和异步编程的巨大福音。像 C、C 、Java、Python 和 JavaScript 这些语言的并发和异步的编程方式控制起来就比较复杂了,并且容易出错,但 Go 语言却用非常优雅和流畅的方式解决了这个问题。
Go 的优势是其性能,因此它有可能在编写服务器端代码方面占据主导地位。
8、Scala
Scala 是一种静态类型面向对象的功能编程语言。Scala 代码可以编译为 Java 字节码并在 JVM 上运行。它提供了 JVM 生态系统的优势,而无需 Java 的冗长性。与 Kotlin 一样,它与 Java 是可互操作的。除了 Java 框架外,Scala 服务还可以使用 Akka HTTP 、 Play 、 Chaos 和 Scalatra 等框架开发。
Scala.js 是将 Scala 编译为 JavaScript 的编译器,Scala Native 是将其编译为本机代码的 LLVM 编译器。Scala 在编写大数据处理应用程序时也很受欢迎。
小盘
9、Rust
Rust 是一种静态类型的编程语言,专为性能和安全而设计。它有一个强大的类型系统和所有权模型,保证编译时的内存安全(不收集垃圾)和线程安全。Rust 的明显用途是开发后端服务,但它也可以用于开发带有 Web 组件的前端。Hyper、Rocket、Actix、Warp 是最受欢迎的网络框架之一。
考虑到 Rust 的编译时内存和线程安全保证,Rust 框架是 Web Framework Benchmark 中速度最快的框架之一也就不足为奇了。有了前端 WASM 框架,Rust 可以成为强大的全栈替代品。
10、Dart
Dart 是一种静态类型、垃圾收集的编程语言,专为 Web 和移动应用程序的客户开发而设计。Dart 为 Flutter 框架提供动力——一个多平台用户界面工具包。Dart 附带 Dart VM,便于开发。对于生产部署,代码将根据目标平台编译为本机代码或 JavaScript。出于这些原因,Dart 有潜力成长为前端开发的主要语言。
最后的话
本文分享了大中小三种类型的语言共 10 种,新的一年,你会选择哪些编程语言来学习呢?留个言,立个 flag,找到伙伴一起组队学习吧。如果觉得还不错,点个赞吧,感谢支持。