介绍

截至2020年,大约有700种编程语言可用[1]。其中一些倾向于仅适用于特定领域,而其他一些则因其能够在各种应用中工作的能力而广受赞赏。在过去的十年中,软件的应用几乎稳定增长,并且为了满足需求而开发了新的语言。在本文中,我们将探讨数据科学和云开发领域中一些最常用的编程语言和潜在的新星。决定在业余时间学习一种相对较新的编程语言有时可能是对我们时间的冒险投资,因为我们不确定未来几年就业市场将如何看待这种新语言。另一方面,在大多数情况下,较新的编程语言都经过精心设计,以充分利用最新的技术进步,因此从长远来看有可能为我们提供优势。因此,使用更新的编程语言的一些主要优点可能是:

· 硬件优化(GPU,多核CPU系统)。
· 改进的网络。
· 更简洁的代码。
· 键入推断。
· 更轻松的容器化和云支持。

根据2020年Stackoverflow开发人员调查[2],以下编程语言是2020年开发人员最喜欢的语言(图1)。作为本文的一部分,我们将考虑其中的5个。

Figure 1: Most loved programming languages

此外,根据Stackoverflow开发人员调查,这是2020年排名前10位的付费编程语言(图2)。

Figure 2: Languages associated with the highest salaries worldwide

编程语言

Julia

像Python和R这样的编程语言由于易于使用,现在在诸如数据科学,机器学习和通用计算/数字任务等领域非常流行。但是,这些语言最初并不是为在高度可扩展的系统上工作而设计的。因此,这对于大型企业解决方案而言,很难使用这种类型的编程语言。为了克服这种类型的问题,Julia是由麻省理工学院(MIT)的一组研究人员创建的。朱莉娅的一些关键特征是:

· 为与并行和分布式系统一起使用而优化。

· 内置包管理器。

· 支持C编程功能。

· 动态键入。

为了促进采用,已经实现了许多数据科学和机器学习库,例如ScikitLearn.jl,TextAnalysis.jl,StatsModels.jl。此外,Julia还可以在传统的Jupyter笔记本中使用。如果您有兴趣了解有关Julia的更多数据科学知识,那么此YouTube课程是一个很好的起点。

从图3可以看出,在过去的几年中,茱莉亚到目前为止Google搜索的整体数量在增加。

Figure 3: Julia Google Trends [3]

Go

Go是当今最有前途的系统编程语言之一。实际上,这种编程语言是Google开发的,目的是简化应用程序和开发的规模。Go的一些关键特征是:

· 专为云原生开发而设计。实际上,主流工具(例如Docker和Kubernetes)已使用Go开发。

· 内存管理(与C和C ++等语言不同,它具有嵌入式的Garbage Collector)。

· 出色的并发支持。

在2014年左右达到顶峰后,Go多年来一直在Google搜索量中保持一致。Go是当前在Cloud平台(例如Google Cloud Platform和Microsoft Azure)上最受欢迎的编程语言之一。

Figure 4: Go Google Trends [3]

如果您对使用Go语言编写机器学习算法感兴趣,那么GoLearn是一个很好的起点。

Python

如今,Python是用于数据科学和机器学习任务的最受欢迎的编程语言。它是由Guido van Rossum于1991年首先开发的,此后它的受欢迎程度才刚刚提高(图5)。

Figure 5: Python Google Trends [3]

用于数据科学和机器学习的一些最受欢迎的Python库是:

· Pandas

· Numpy

· scikit学习

· TensorFlow

· Pytorch

如前所述,与Python相关的关键问题之一是它的可伸缩性性能不佳。为了尝试解决此问题,已实现了不同的系统(例如Cython和Numba),以在使用Python进行编码时创建类似C的性能级别。

Scala

目前,Scala被认为是函数式编程的最佳编程语言之一(尽管它仍然提供对面向对象编程方法的支持)。就搜索受欢迎程度而言,Scala似乎在2018–2019年间在Google搜索上达到顶峰(图6)。

Figure 6: Scala Google Trends [3]

使用Scala的一些主要优点是:

· Scala是一种静态类型的语言。

· 与Python等编程语言相比,速度要快得多。

· 与Java的兼容性。

· 能够结合功能和面向对象的编程。

Scala受欢迎的主要原因之一是Apache Spark(使用Scala构建的数据管理工具)。实际上,Apache Spark是用于Hadoop集成(快速处理大量数据)的最受欢迎的大数据工具之一。

JavaScript

最后,JavaScript是目前最流行的网络编程语言之一,几乎可以在任何类型的应用程序(例如服务器,移动设备,云,微控制器等)上运行。

在网络开发的早期,Javascript的普及率达到了顶峰,此后在过去十年中一直保持稳定的趋势(图7)。

Figure 7: Javascript Google Trends [3]

之所以将Javascript包含在此列表中,主要原因之一是它能够在网络上共享数据科学和机器学习项目。实际上,在过去的几年中,已经开发了不同的框架,例如TensorFlow.js,ONNX.js,Plotly.js,Dash等,以便在以Python等编程语言创建的Web项目上可访问。

结论

总体而言,Python和Javascript无疑是目前最受欢迎的两种编程语言。尽管,如本文所示,Julia,Go和Scala等不同的替代产品由于其各种好处(现在的方式可能与过去十年中的Python相同)现在开始在就业市场上获得越来越多的关注。

(本文由闻数起舞翻译自follow me on Medium的文章《Top 5 Programming Languages to bet on for 2021》,转载请注明出处,原文链接:https://github.com/xiaoniaoip/niaoniao/issues/1 https://github.com/xiaoniaoip

关于2021年最热门的5种编程语言相关推荐

  1. 2021年最热门的7种编程语言,我选python,你选什么?

    (7)Golang Golang简称为" Go",是Google于2009年推出的一种编程语言.Golang的需求和受欢迎程度都有了显着增长,这主要是因为其具有多线程功能以及解决慢 ...

  2. 2021年最热门的5种编程语言

    点击▲ "Java编程鸭"关注并标星 更多精彩 第一时间直达 介绍一些用于数据科学和云开发的最有前途的编程语言 > Photo by Salvatore Ventura on ...

  3. 2021年最火的计算机语言,2021 年,最流行三种编程语言,你知道嘛??

    原标题:2021 年,最流行三种编程语言,你知道嘛?? 怎样判断哪种编程语言最流行?正如要挑选最受欢迎的冰激凌一样,每个人都有自己的最爱.实际上,由于各种原因,不同的开发人员喜欢不同的编程语言,当你认 ...

  4. 快来看;2021 年最流行的 8 种编程语言!

    点击⬇️方"逆锋起笔",公众号回复 pdf 领取大佬们推荐的学习资料 作者 | Zulie Rane 策划 | 刘燕 怎样判断哪种编程语言最流行?正如要挑选最受欢迎的冰激凌一样,每 ...

  5. 留意2021年比较热门的5种AI工作技能

    尽管经历了艰难的一年,但世界各地的许多公司已经开始加速使用人工智能(AI)来最大化业务的方法. 普华永道最近进行的AI调查显示,有四分之一的公司参加了该调查,与去年相比增加了18%.其余54%的其他公 ...

  6. 哪种编程语言最值得花时间学习?

    世界上一共有多少种编程的语言?我们先试着数一下:Java, C, Python, VB, Matlab, Fortran, LabVIEW-只是随便一说,就脱口而出这么多如雷贯耳的编程语言. 然而我们 ...

  7. 2021年值得关注的15种软件测试趋势

    如今,随着软件开发技术在云计算.人工智能.以及机器学习等领域的长足进步,数据测试,特别是在大数据.以及物联网等应用场景中的产品质量和可靠性,都得到了显著增强,应用程序本身的错误也得以大幅减少,其对应的 ...

  8. 总结《社交阅读的情绪化输出研究——基于2021年度豆瓣热门书评的文本分析》为文献综述...

    <社交阅读的情绪化输出研究--基于2021年度豆瓣热门书评的文本分析>是一篇文献综述,主要通过对豆瓣热门书评的文本分析,研究了社交阅读中用户情绪化输出的现象.文章分析了用户在社交阅读平台上 ...

  9. 2021年,薪酬最高的5种编程语言

    本文转载自 InfoQ 今天,我们来看看 2021 年最受欢迎的编程语言.我们将根据以下因素对这些语言进行排名. 学习这门语言需要的时间:对于初学者,甚至是有经验的开发人员来说,掌握它需要多少时间? ...

最新文章

  1. 【Spring】事务控制API
  2. 2021年大数据Hadoop(三十):Hadoop3.x的介绍
  3. 特征工程(六)lsa和lda
  4. 微型计算机储存数据的基本单位是,计算机储存和处理数据的基本单位是什么
  5. easyui 传递参数报错(错误:uncaught SyntaxError: Unexpected identifier)
  6. access创建窗体特别慢_64位Access运行速度很慢的解决办法
  7. 复习JavaScript随手记
  8. 第6步 项目包结构
  9. 优先股和普通股的区别是什么?
  10. (操作系统)系统调用
  11. python儿童入门视频-Python入门视频课程
  12. swift 笔记 (十三) —— 继承
  13. syDataProcess项目
  14. scara机器人动荷载_【机器人在线】SCARA机械结构参数计算说明 下
  15. apache ActiveMQ反序列化漏洞(CVE-2015-5254)复现
  16. HTML5 之 Meta 标签
  17. mysql数据库名区分大小写_mysql数据库表名区分大小写
  18. JS - 获取用户当前 ip 地址
  19. ssm基于微信小程序的游泳馆管理系统+uinapp+java+计算机毕业设计
  20. php一点通,编程一点通下载-编程一点通最新安卓版下载-99wo下载站

热门文章

  1. 【web安全】——文件包含漏洞
  2. 自学python网站-杭州python自学网站
  3. 【干货】线上线下活动策划详细方案.pdf(附下载链接)
  4. JavaCV音视频开发宝典:JavaCV实现mp3音频直播FM在线电台服务,无需流媒体服务,浏览器原生audio标签直接播放mp3,支持rtsp/rtmp/flv/hls/本地音视频源直接转码到mp3
  5. 利用charles 抓取ios app的https数据包-----软件配置和抓取步骤
  6. 如何正确的下载安装使用别人的laravel项目?
  7. Android 手机浏览器的开发
  8. Kali下用wifite破解WIFI
  9. [数据结构]基于二叉树的家谱系统
  10. 安装Office 2016时报错Office 16 Click-to-Run Extensibility Component的处理办法