关注 NodeJS vs Python vs Go
作者:Mr Herath
原文链接:https://medium.com/better-programming/what-will-be-the-best-back-end-programming-language-for-2021-18096c0c6105
译者:polaris
注:以下 JavaScript 和 NodeJS 没有严格区分,因为谈后端,自然指 NodeJS。不过统计中,前端部分的 JS 应该占了很大一部分。
已经快 2020 年 9 月了,但是 2020 年的预测似乎还没有结束。在预测这样一个动态变化的行业的未来时,作为软件开发人员,要生存下去并非易事。从事软件的人们可能已经不知不觉地看到了许多技术的长生不老,因为在软件行业很难生存。
但是,如果回顾一下,编程语言拥有许多重要组成部分的悠久历史。C 和 Java 是最古老的两个,并且在业界仍然存在。但是,如果我们查看它们所处的位置或获得的知名度,我们可以它们正在下降。
作为开发人员,我爱上了 JavaScript,并且已经使用 JavaScript 已有一段时间了。但是,如果我们睁开眼睛看看开发人员世界,情况可能会稍有改变。让我们从 JavaScript,Python 和 Go[1] 中选择一门在 2021 年使用的语言。在讨论每种语言的优点之前,让我向您展示一些在线调查及其结果。
调查和其他数据StackOverflow 调查
StackOverflow 的年度开发人员调查是对全球开人员的最大、最全面的调查。超过 90,000 个开发人员参加了此调查。我们可以看到 Python 领先,而 JavaScript 和 Go 分别位于第二和第三位。但是,等等?!这是在 2019 年进行的调查。作为一种快速增长的语言,Go 的受欢迎程度正在疯狂增加。我认为,统计数据可能会在 2020 年发生变化。
图 01:https://insights.stackoverflow.com/survey/2019
GitHub-GitHut 排名
下面的 GitHub 2.0 图显示了从 2013 年到 2019 年之间 Pull Request 的数量。从图中可以看出,JavaScript 在所有其他语言之上,而 Python 位居第二,但我们无法在图中看到 Go。
图 02:https://madnight.github.io/githut/#/pull_requests/2020/2
但是通过观察每种编程语言的排名,我们可以看到 Go 的流行度正在显着增加,而 JavaScript 和 Python 的流行度却在下降。
图 03:https://madnight.github.io/githut/#/pull_requests/2020/2
官方 GitHub 仓库
图 04:https://github.com/python/cpython
图 05:https://github.com/nodejs/node
图 06:https://github.com/golang/go
根据这些 GitHub 仓库,我们可以看到 Go 对开发人员的吸引力越来越高。Go 仓库的 Watch 和 Star 都更高,尽管与 JavaScript 和 Python 仓库相比,人们对 Go 的偏爱要小。
为什么选择 Python?
Python 是一种高级的动态类型编程语言,在 IT 行业中已经流行了很多年。根据许多调查,Python 被认为是过去十年中最受欢迎的语言。
Python 的优点使用 Python,您可以用更少的代码在更短的时间内解决复杂的问题。Python 通过简单而强大的语法使许多复杂的事情变得非常容易。这是一种高级语言,因此您不必像使用 C++ 那样担心诸如内存管理之类的复杂任务。它是跨平台的,这意味着您可以在 Windows,Mac 和 Linux 上构建和运行 Python 应用程序。它有一个庞大的社区。每当您遇到困难时,都会有人帮助您。它具有大量的库,框架和工具。这意味着无论您想做什么,很可能其他人以前都做过,因为 Python 已经问世 20 多年了。
简而言之,Python 是一种多用途语言,具有简单,干净且对初学者友好的语法。所有这些都意味着 Python 很棒。从技术上讲,您使用 Python 所做的一切,也可以使用其他编程语言。但是 Python 的简单性和优雅性使其比其他编程语言有了更大的发展。这就是为什么它是雇主寻找的第一语言。无论您是程序员还是绝对的初学者,学习 Python 都会在 2021 年为您带来很多就业机会。实际上,一个 Python 开发人员的平均年薪高达 116,000 美元。(国内是这样吗?感觉悬)
为什么选择 JavaScript(Node.js)?
我个人很喜欢 Node.js,因为 Node.js 是我开始进行后端开发的语言。到目前为止,我已经谈论编程语言。但是在本节中,我想进一步谈谈 Node.js,它是最流行的 JavaScript 运行时环境之一。众所周知,Node.js 在 IT 行业中很受后端开发的欢迎。主要原因之一是 Node.js 基于 JavaScript。如果您是 JavaScript 开发人员,则可以轻松地成为全栈开发人员,这是了解 JavaScript 的另一项优势。
JavaScript 和 Node.js 的优点这是非阻塞的。因此,这意味着 Node.js 确实非常快。(非阻塞文件读写是服务器需要做的事情之一。但这是 Node.js 要做的事情。)前端和后端使用一种语言编写。Uber,LinkedIn,Netflix 和 Facebook 等主要公司都在使用它。它是跨平台的。这意味着您可以在 Windows,Mac 和 Linux 上构建和运行 Node.js 应用程序。它有一个庞大的社区。(Gitter[2] 是我目前所在的社区之一。此外,您可以找到 Slack 频道和 StackOverflow 讨论。)它不是一个臃肿的框架。这意味着它是一种 Web 服务器技术,可以与 Node.js 所使用的不同框架一起使用,例如 Express,它是流行的 Node.js 框架之一。
再一次,我们可以看到 Node.js 还将成为在后端开发中使用的绝佳 JavaScrip t 环境。通过观察下图,我们可以看到在 2019–2020 年期间,JavaScript 用于后端和前端开发的比例相似。如果我们看一下 Node.js 在美国的开发人员的平均年薪,我们发现它的年薪在 48,000 美元到 130,000 美元之间。
图 07:https://nodejs.org/en/user-survey-report/
为什么选择 Go?
Go 是一种开放源代码编程语言,可轻松构建简单,可靠和高效的软件。它最初是在 2009 年发布的,但自那时以来,其流行度一直低于 Python 和 JavaScript。然而 Go 两次被评为年度编程语言。此外,Go 已成为 67.9% 的开发人员最喜欢的编程语言。显然,有一些原因使开发人员开始喜欢 Go。
图 08:https://insights.stackoverflow.com/survey/2019
Go 的优点高效。由于 Go 是一种类似于 C 的语言,因此您无需了解太多新的语法。Go 也是一门跨平台语言。这是一门简单的语言。为什么?答案是它只有 25 个关键字和较少数量的数据结构(没有类,只有函数和类型)。这是一门可靠的语言。这是一门快速的语言。默认情况下,它支持并发,具有漂亮的模型并默认情况下处理可用于生产环境的服务器。Go 不会经常更新。如果更新,则也不会特别重大更改,并且 Go 与旧版本 100% 兼容。Go 现在是一门成熟的语言。(Go 具有内置的包管理器测试框架和并发模型。)
基于以上优点,我们可以看到 Go 也是一门很棒的语言。您可能想知道为什么要花这么多时间才能弄清这一点,为什么还没有开始使用 Go。在我这边,我也这么认为。如我们所见,大多数程序员都将 C 语 言作为他们的第一门编程语言来学习。如果您以这种方式开始学习和使用 Go,那么对您来说将毫不费力。
如果我们看一下 Go 开发者在美国的平均薪水,则为每年 45,000 美元 至 130,000 美元。
结论
如上所见,Go 在过去几年中做得很好。此外,根据调查,与 JavaScript 和 Python 相比,我们可以看到 Go 吸引了大量用户。当然,在接下来的几个月中,人气和资源将会增加。即使我开始使用 JavaScript,我还是选择 Go 作为 2021 年将要使用的最佳后端编程语言。
参考资料
[1]
Go: https://golang.org/
[2]
Gitter: https://gitter.im/nodejs/node