2020 年值得学习的 7 种语言,附赠免费资源
最初发表于deepu.tech。
我们正处于新十年的开端,软件行业正变得比以往任何时候都更加庞大。如果要选择一份职业,那一定是软件开发。如果你已经是一名软件开发人员,那么在接下来的十年里,你将学到很多东西。
让我们从那些你绝对应该学习的编程语言开始,如果你还没有学过的话。这些语言正在兴起,而且短期内不会消失。我的推荐也基于实用性以及这些语言在软件开发市场上能给你带来的优势。
那么让我们开始吧,不分先后顺序。
科特林
Kotlin 是近年来发展最快的语言之一,也是 JVM 语言的绝佳选择。它与 Java 具有良好的互操作性,功能强大,而且学习起来并不复杂。
为什么
- JVM 仍然是最大的和使用最广泛的平台之一,尤其受到世界各地企业的信赖和使用。
- JVM 拥有相当不错的就业市场,并且在可预见的未来对 JVM 开发人员的需求始终存在。
- Kotlin 与 Java 的互操作性有助于逐步采用它。
- 具有简单直观的语法、强大的功能集以及通过 Coroutines 实现的出色的并发和异步编程支持。
- 它是当今 Android 编程的首选语言,因此,如果您想深入研究移动应用程序开发,它可以为您提供更广阔的空间。
谁应该学习它
- 如果您是一名Java 程序员,并且希望学习一种可以使用的语言,而无需完全切换到新堆栈。
- 如果您对 JVM 感兴趣但认为 Java 不再流行。
- 想要学习新语言的 Web 应用程序开发人员或全栈开发人员。
- 如果您对 Android 应用程序开发感兴趣,那么 Kotlin 就是您的起点。
从哪里开始
- 官方教程是一个很好的起点,它免费,并且包含一个互动游乐场。官方入门指南可以在这里找到。
- 这是一篇关于使用 Kotlin 进行 Android 开发的优秀免费教程。
- 如果你想专注于使用 Kotlin 进行 Android 开发,这门 Udemy 课程非常适合你。不过,它不是免费课程。
Golang
Golang 本质上是一种简洁的语言,得益于谷歌的大力推广以及 Docker 和 Kubernetes 等流行工具的早期采用,它变得非常流行。以下是我对该语言的详细评测。
为什么
- 最容易学习的语言之一,并且拥有一个伟大的社区。
- 它具有相当不错的性能,如果您不介意样板的话,它可以用作通用语言。
- 对于具有大量并发性或并行性要求的用例来说,这是一个很好的选择。
- 它在就业市场上有很好的需求,而且随着许多大公司使用 Golang 作为其主要平台,它的采用率正在不断增加。
谁应该学习它
- 使用 C、C++ 等语言的开发人员会熟悉 Go,虽然您可能会发现其功能有限,但一旦习惯了它,它就是您工具库中一门很棒的语言。
- 希望学习新语言的系统程序员会发现 Go 相当不错。
- 更倾向于 Ops 方面并希望学习一门语言的 DevOps 工程师会发现 Go 非常方便。
- 如果您正在编写微服务,那么 Golang 是一个不错的选择,您应该学习它。
- 如果您是希望涉足 Web 组装的前端开发人员,那么 Go 是最容易上手的语言之一,因为它支持 Web 组装。
从哪里开始
- 围棋官方之旅是一个很好的起点,并且免费提供互动游乐场。
- 如果您喜欢视频,这是免费的CodeCamp视频教程。
TypeScript
不管你喜不喜欢,只要互联网还存在,JavaScript 就一定会存在。所以,如果你还不是它的粉丝,为什么不以 TypeScript 的形式拥抱它呢?与其讨厌它,不如尝试一下。
为什么
- JavaScript 是最常用的语言,拥有最大的生态系统,而 TypeScript 是 JavaScript 的严格超集,这意味着您可以在 JavaScript 可以处理的任何用例中使用它。
- TypeScript 是一种快速发展的语言,它将有助于弥补 JavaScript 中的一些缺陷。
- 对前端工程师的需求永远不会消失,而且随着 Angular、React 和 Vue 等 MVVM 框架的出现,这种需求只会上升。
- JavaScript/TypeScript 生态系统的范围从前端到桌面、服务器端,再到机器人技术。因此,可以说 JavaScript 无处不在。
谁应该学习它
- JavaScript 开发人员应该学习 TypeScript,它将使维护大型 JavaScript 项目变得更容易,并帮助您编写更好的代码。
- 如果您具有严格类型语言背景,并且正在考虑探索前端工程的世界,那么 TypeScript 是一个很好的起点。
- 如果您是 Java 开发人员并想要做前端,那么 TypeScript 更容易上手,因为它与 Java 相似。
- 您想尝试 Angular、React 或 Vue,但又讨厌 JavaScript,那么 TypeScript 应该是您的合理选择。
- 如果您打算学习 Angular 框架,那么了解 TypeScript 是必须的。
- 如果您正在考虑从事 IT 前端开发工作,那么 JavaScript 是最终的选择,而一旦您学会了 JavaScript,那么 TypeScript 就是合乎逻辑的下一步。
从哪里开始
- 这是关于 TypeScript 的详细教程,而且免费。
- 如果您不想花费太多时间,这是一个免费的快速入门指南。
- 如果您想了解高级 TypeScript 功能的实际应用,可以观看我在一次会议深入探讨环节中的这个视频教程。
Python
Python 已经存在了一段时间,并且近年来它的流行度突然上升。数据科学和机器学习的流行应该归功于此,因为 Python 已经成为这些领域的首选语言。
为什么
- Python 是一种通用语言,与 JavaScript 一样,具有广泛的应用范围。
- 它是一种像 JavaScript 一样的动态语言,因此非常适合编写脚本。
- 它正在成为机器学习和数据科学的首选语言。
- 它拥有良好的就业市场和庞大的社区。
谁应该学习它
- 如果您想进入数据科学或机器学习领域,那么 Python 就是您的语言。
- DevOps 工程师会发现 Python 很容易上手,并且非常适合通用脚本编写。
- 如果您想学习一种通用语言,那么 Python 是一个不错的选择。
从哪里开始
锈
根据过去几年 Stack Overflow 开发者调查,Rust 是最受欢迎的语言。不仅如此,该语言发展势头强劲,是增长最快的语言之一。以下是我对 Rust 的详细评测。
为什么
- 与 C/C++ 相比,它具有相似的性能和更好的内存安全性。
- 极其内存安全、高性能且灵活的语言。
- 适用于低级编程,因此是系统编程、并发等的绝佳选择。
- 它具有 Web 程序集支持。
谁应该学习它
- C/C++ 程序员应该考虑学习 Rust。在我看来,它是比 C/C++ 更好的替代方案,而且更具前瞻性。
- 如果您是系统程序员,那么您应该学习 Rust,因为它正在成为该领域快速增长的选择。
- 如果您是一位希望涉足 Web Assembly 的前端开发者,那么 Rust 是一个不错的选择,因为它支持 Web Assembly。虽然它的入门可能不如 Golang 那么简单,但绝对是一个不错的选择。
- 如果您是一位开发者,正在编写对内存安全性、性能和内存效率要求极高的底层程序,那么 Rust 凭借其内存安全保障、所有权模型和指针支持,将是您的理想之选。您可以调整程序,使其内存效率更高。
- 如果您热衷于并发和并行,Rust 拥有强大的支持,其可插拔的多线程模型可让您根据自己的需求进行调整。借助 Tokio 等库,您可以在保持内存安全的同时实现出色的并发性能。
从哪里开始
- Rust 官方书籍是入门的最佳选择。它免费且具有互动性。
- 如果您想亲自动手学习,可以参考官方的 Rust 示例。
Java
如果你是千禧一代,你可能会觉得 Java 太老派了,不再酷了。但我向你保证,Java 的生命力将超过许多被认为新潮的语言。Java 是最成熟的语言之一,目前的 Java 版本模式每年都会添加两次新功能,从而缩小了与其他现代语言的差距。
为什么
- JVM 仍然是最大的和使用最广泛的平台之一,尤其受到世界各地企业的信赖和使用。
- JVM 拥有相当不错的就业市场,并且在可预见的未来对 JVM 开发人员的需求始终存在。
- 它具有简单的语法、强大的功能集以及庞大的生态系统和社区。
- 它是企业的首选语言,并且拥有生态系统中最稳定、最值得信赖的 Web 应用程序框架和库。
- 它拥有用于构建 Web 应用程序(尤其是企业 Web 应用程序)的最佳生态系统之一。
谁应该学习它
- 如果您是前端工程师,并且想要成为全栈工程师,那么 JVM 是一个很好的选择,因为它拥有最好的全栈工程师就业市场。
- 想要学习 JVM 语言的 Web 应用程序开发人员或全栈开发人员。
- 如果您正在考虑从事 IT 后端开发工作,但又不确定,那么 JVM 和 Java 是一个安全的选择,它拥有强大的社区和生态系统来帮助您。
从哪里开始
C#
C# 是编程世界中流行的语言之一,也是 .NET 世界中的首选。它是一种适用于不同编程风格的多范式语言。与 Java、JavaScript 和 Python 一样,它在大多数语言调查中都保持着前 10 名的地位。
为什么
- 它是 Windows 编程的一种事实上的选择,并且 Windows 仍然是世界上使用最广泛的操作系统。
- 与 Windows 和 .NET 平台良好集成,为企业应用程序提供强大支持。
- 通用语言可用于Web应用程序、桌面应用程序、CLI工具等。
- 它拥有巨大的就业市场,因为 Windows 在操作系统使用和企业使用方面占有很大的市场份额。
谁应该学习它
- 如果您正在考虑为 Windows 或 .NET 编写应用程序,那么这应该是您的首选语言。
- 如果您是 Java 开发人员并想学习 .NET,那么 C# 是合乎逻辑的选择,因为它的语法和概念与 Java 非常相似。
从哪里开始
如果您喜欢这篇文章,请点赞或留言。
封面图片来源:根据官方标识。
文章来源:https://dev.to/deepu105/7-languages-to-learn-in-2020-with-resources-to-get-started-1ieo