python炼丹师是什么_2021年编程语言趋势预测:Python和JavaScript仍火热,Go不可小觑...

编译 | 陈大鑫

Tensorflow和Pytorch到底该用哪个呢?

“import tensorflow as pytorch!”

编程语言及框架似乎总是被人拿来比较,这里我们只谈语言。

作为开发人员,在当今这个技术更迭飞快的时代要连年吃香并非易事,很多十年开发经验以上的开发人员不知道经历了多少语言的变化,今年还在用C语言,下一年就是D了。

“PHP是世界上最好的编程语言”已被人忘却,但“青春饭”和35岁“金龙跃鱼门”的传说确真实发生。

在预测这样一个动态变化的行业未来时,首先要对编程语言进行回顾:C/C++和Java已经变成“古老”的语言,并且在业界仍占有一席之地。尽管在很多系统开发中C和Java不可或缺,比如对于高性能、实时性要求高的系统,C(C++)很重要,比如对于大型网站,Java很重要。但是它们所处的位置或获得的人气正在不可避免的出现稍微下降。

作为一名开发人员,Mr Herath 最喜欢的语言是 JavaScript。他在Medium上的一篇文章中为我们分析了 2021 年编程语言趋势。

1

调查数据

Stack Overflow 调查

Stack Overflow的年度开发人员调查是对全球编程人员而言最大、最全面的调查。有超过9万个开发人员参加了此调查。调查结果显示Python继续领先,而JavaScript和Go分别位于第二和第三位。但是这是在2019年进行的调查,作为一门快速增长的语言,Go的受欢迎程度正在疯狂增加。Mr Herath 认为统计数据可能会在2020年发生变化。

图源:https : //insights.stackoverflow.com/survey/2019

GitHub-GitHut排名

下面的GitHub 2.0图显示了2013年到2019年之间接受pull请求的数量。如图所示,JavaScript排在第一。

图源:https : //madnight.github.io/githut/#/pull_requests/2020/2

但是通过观察每种编程语言给出的排名,可以看到Go的流行度在显著增加,而JavaScript和Python的流行度却在下降。

图源:https ://madnight.github.io/githut/#/pull_requests/2020/2

GitHub库

图源:https : //github.com/python/cpython

图源:https : //github.com/nodejs/node

图源:https : //github.com/golang/go

从这些GitHub库数量,可以看到Go对开发人员的吸引力越来越高。Go语言库的Watch和Star都更高,尽管与JavaScript和Python库相比,人们对GO的偏爱要小一些。

2

调查数据

为什么选择Python?

Python是一种高级动态类型编程语言,在IT行业中已经流行了很多年。许多调查都认为Python是过去十年中最受欢迎的语言,当然这些年Python的受欢迎和人工智能的火爆大有关联。

Python的优点

更少的代码在更短的时间内解决复杂的问题。简单但功能强大的语法。高级语言,不必像使用C ++那样担心诸如内存管理之类的复杂任务。跨平台,可以在Windows,Mac和Linux上构建和运行Python应用程序。有一个庞大的社区,每当遇到困难时,都会有人帮助您。大量的库,框架和工具。无论您想做什么,很可能其他人以前都做过,因为Python已经问世20多年了。简而言之,Python是一种多用途语言,具有简单,干净且对初学者友好的语法。所有这些都意味着Python很棒。从技术上讲,使用Python所做的一切,也可以使用其他编程语言。但是Python的简单性和优雅性使其比其他编程语言有了更大的发展。

无论是程序员还是绝对的初学者,学习Python都会在2021年带来很多就业机会。实际上,一个Python开发人员的平均年薪为116,000美元(美国)。

为什么选择JavaScript(Node.js)?

Node.js是最流行的JavaScript运行环境之一。众所周知,Node.js在IT行业中很受后端开发的欢迎。主要原因之一是Node.js基于JavaScript。JavaScript开发人员可以轻松地成为全栈开发人员,这是了解JavaScript的另一项优势。

JavaScript和Node.js的优点

non-blocking:这意味着Node.js确实非常快。(non-blocking文件读写是服务器需要做的事情之一。但这是Node.js要做的事情。)前端和后端使用一种语言编写。Uber,LinkedIn,Netflix和Facebook等主要公司都在使用。跨平台:可以在Windows,Mac和Linux上构建和运行Node.js应用程序。庞大的社区:Gitter、Slack频道和Stack Overflow。框架不臃肿:它是一种Web服务器技术,可以与Node.js所使用的不同框架一起使用,例如Express(流行的Node.js框架之一)。我们再一次看到Node.js还将成为在后端开发中使用的绝佳JavaScript环境。

观察下图,可以看到在2019–2020年期间,JavaScript用于后端和前端开发的比例相似。如果我们看一下美国Node.js开发人员的平均工资,可以发现它的年薪在48,000美元到130,000美元之间。

图源:https : //nodejs.org/en/user-survey-report/

3

调查数据

为什么选择GO?

Go是一种开放源代码的编程语言,可以轻松构建简单、可靠且高效的软件。它最初是在2009年发布的,但自那时以来,它的流行度一直低于Python和JavaScript。但是Go两次被评为年度编程语言。此外,Go已成为67.9%的开发人员最喜欢的编程语言。显然,有一些原因使开发人员开始喜欢Go。

图源:https : //insights.stackoverflow.com/survey/2019

Go的优点

高效:Go是一种类似C的语言,无需了解新的语法。跨平台。简单:它只有25个关键词和较少数量的数据结构(没有类,只有函数和类型)。可靠:这是一种快速的语言。默认情况下,它支持并发,具有漂亮的模型并默认情况下处理可用于生产环境的服务器。版本稳定:更新没有重大更改,并且与旧版本100%兼容。成熟:Go具有内置的包管理器测试框架和并发模型。基于以上优点,我们可以看到Go也是一种很棒的语言。您可能想知道为什么要花这么多时间才能弄清这一点,为什么还没有开始使用Go。在我这边,我也这么认为。如我们所见,大多数程序员都将C语言作为他们的第一门编程语言来学习。如果您以这种方式开始学习和使用Go,那么对您来说将毫不费力。

Go开发者在美国的平均薪水为每年45,000美元至130,000美元。

“我一生中最喜欢的东西不花钱。很显然,我们所有人最宝贵的资源就是时间。” — 史蒂夫·乔布斯

4

结论

如我们所见,Go在过去几年中做得很好。此外,根据调查,我们可以看到与JavaScript和Python相比,Go吸引了大量用户,且在接下来的几个月中人气和资源将会增加。即使Mr Herath开始使用JavaScript,但他还是选择Go作为2021年将要使用的最佳后端编程语言。

当然,若是作为深度学习炼丹师,Python的使用是跑不掉的,C/C++也会派上大用。

参考文献:

https://github.com/nodejs/nodehttps://github.com/nodejs/nodehttps://github.com/nodejs/golang/gohttps://nodejs.org/en/user-survey-report/https://insights.stackoverflow.com/survey/2019

EMNLP 9月16日出录用结果了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python123数值运算_python123中 Hello World的条件输出 和数值运算

描述 获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪…

row number函数 oracle,oracle函数 ROW_NUMBER()

【语法】ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)【功能】表示根据COL1分组,在分组内部根据 COL2排序,而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的)row_number() 返回的主要是“行”的信息,并没有排名【参数】【说…

perl python json_Perl解析JSON数据精解

简介:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C, C#, Java, JavaScript, Perl,…

python while true_Python天坑系列(一):while 1比while True更快?

更多 0. 前言 前些天被Python的多线程坑了一把,因此产生了写一个《Python天坑系列》博客的想法,说说我碰到的那些Python的坑。 而天坑这个词呢,一方面指Python的坑,另一方面也说明本系列文章也是个坑,对于会写什么内容…

下列不属于PHP开发优势的是,php开发的优势有哪些?

说到PHP,好多刚刚毕业的学生都不是非常了解。这里,达内PHP培训老师跟大家分析一下目前行业中对这个技术方向的需求及发展情况。由于大学学科设置的问题,更多的学生都对C,C,Java等计算机语言比较熟悉,同时也…

苹果sf字体_苹果UI设计的改变意味着什么?

WWDC虽然已经过去了一段时间,虽然没有什么硬件产品,但还是给我们带来了许多新的惊喜。但我们这篇文章不谈技术问题,只谈苹果的UI变化。因为这可能是近10年来苹果第二次颠覆性的升级,上次还是2013年的iOS7的全面扁平化。从设计的层…

python需要配置环境变量吗_python安装和配置环境变量

Python 安装和配置环境变量 一、 Python 的安装: 在网上找一个 python 的安装包,我找的 python3.3.5 。照着安装步骤一步一步进行安装,完 成后,运行 IDLE(Python GUI) ,打开的命令行框出现类似如下内容则说明安装成功&…

python的tkinter按钮大小_如何使用python更改tkinter中按钮和帧的字体和大小?

更新:新墨西哥州科技tkinter网站已在GitHub上存档。必须有Tkinter对象才能创建字体from Tkinter import *import tkFontroot Tk()创建一个类似新墨西哥科技网站示例的字体helv36 tkFont.Font(familyHelvetica, size36, weightbold)# you dont have to use Helveti…

linux命令 翻译,(翻译)Linux命令行(一)

这里的Linux命令行系列是翻译自http://www.linuxguide.it/的,如果你英语够好,推荐你去看原版的。这是第一篇,主要介绍关机重启等操作和查看系统信息等操作的命令。关机重启等操作shutdown -h now 关机init 0 …

cuda卸载_Ubuntu18.04英伟达显卡驱动、Cuda安装

一、显卡驱动安装1. 准备工作禁用BIOS中的secure boot,因为此方法使用第三方源安装显卡驱动,不禁止secure boot会导致安装的驱动不能使用,禁用也不会有多大安全隐患。2. 禁用nouveau禁用nouveau,这是ubuntu默认使用的开源显卡驱动…

git两个账号切换_多个git账号之间的切换

$ clip < ~/.ssh/id_rsa.pubbash: /c/Users/UsersName/.ssh/id_rsa.pub: No such file or directoryStep 1、检查本机现有的SSH密钥检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件。如果你什么都没得到这些文件&#xff0c;转到 步骤2 ;否则&#xff0c;请跳到 …

linux服务器配置试卷,2016年Linux认证模拟练习题及答案

2016年Linux认证模拟练习题及答案1.设计一个shell程序&#xff0c;在每月第一天备份并压缩/etc目录的所有内容&#xff0c;存放在/root/bak目录里&#xff0c;且文件名为如下形式yymmdd_etc&#xff0c;yy为年&#xff0c;mm为月&#xff0c;dd为日。Shell程序fileback存放在/u…

内存条能4+8混插吗?_笔记本内存条双通道提升有多大?实测FORESEE,你知道好处在哪吗...

不知道大家发现了没&#xff0c;最近存储类产品、内存条普遍价格都涨起来了&#xff0c;后悔年前没买内存条给我的暗夜精灵3升升级&#xff0c;至今还插着一根8G的条子&#xff0c;其实日常用也够了。不过&#xff0c;今年打算做做视频&#xff0c;搞搞线上直播&#xff0c;所以…

python计算期望值_机器学习:计算方差时为何除以n-1

小弟准备了数据结构、Java、大数据、AI、面试题、python等各种资料 需要领取等朋友麻烦 转发此文&#xff0c;然后私信【学习】即可获取设样本均值为​&#xff0c;样本方差为​&#xff0c;总体均值为​&#xff0c;总体方差为​&#xff0c;那么样本方差​有如下公式&#xf…

linux rpm版本号,linux中RPM包命名规则

RPM包的一般格式为&#xff1a;name-version-arch.rpmname-version-arch.src.rpm例&#xff1a;httpd-2.2.3-29.el5.i386.rpmhttpd-devel-2.2.3-29.el5.i386.rpmhttpd-manual-2.2.3-29.el5.i386.rpmsystem-config-httpd-1.3.3.3-1.el5.noarch.rpm(1)name&#xff0c;如&#xf…

python十点半游戏代码_Python实现Pig Latin小游戏实例代码

前言&#xff1a; 本文研究的主要是Python实现pig Latin小游戏的简单代码&#xff0c;具体介绍如下。 Pig Latin是一个语言游戏。 步骤&#xff1a; 1.让用户输入一个英文单词 2.确保用户输入一个有效单词 3.将单词转换成Pig Latin 4.显示转换结果 一、Input 函数&#xff1a;r…

查看linux系统的sp,查看linux系统版本命令

一。查看内核版本命令&#xff1a;1) [[email protected]_SYS ~]# cat /proc/versionLinux version 2.6.18-238.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Sun Dec 19 14:22:44 EST 20102)[[email protected]_SYS ~]# uname -r2.6.18-2…

程序的图标无法改变_安卓微信7.0.7内测版发布,细节更新,小程序功能优化

昨天&#xff0c;微信 7.0.7 for Android 内测版悄然发布&#xff0c;如何参加内测可以咨询本人。按照近来的惯例&#xff0c;安卓的内测版的功能会在随后的更新iOS正式版中体现&#xff0c;并且要先于安卓正式版发布。下面我们就来简单介绍一下本次更新的具体内容。一、「…」…

vue获取input的属性_vuejs 中如何优雅的获取 Input 值

原生 js使用 getElementById 比较麻烦的地方需要为元素设置 id设置 id 之后&#xff0c;无法复用&#xff0c;因为一个页面中不能存在两个相同的 id双向绑定 v-model分两种情况input 默认为空。这种情况使用 v-model 最方便&#xff0c;通过 this.inputName 即可获取到对应的值…

linux设置系统自动开机,Linux系统中设置开机自动运行的两种方法

有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢&#xff1f;本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统上做到重启或者系统启动时执行命令和脚本。 两种方法都通过了测试。方法 1 – 使用 rc.loc…