截至2020年,大约有700种编程语言可用。其中一些往往仅适用于特定领域,而另一些则因其在各种应用程序中工作的能力而广受赞赏。软件的使用在过去十年中几乎稳步增长,并且开发了新的语言来满足需求。在本文中,我们将探索数据科学和云开发领域中一些最常用的编程语言和潜在的后起之秀。决定在业余时间学习一门相对较新的编程语言有时可能是一项冒险的时间投资,因为我们不确定未来几年就业市场将如何看待这种新语言。另一方面,较新的编程语言在很大程度上经过精心设计以充分利用最新的技术进步,因此从长远来看有可能为我们带来优势。因此,使用更新的编程语言的一些主要优势可能是:硬件优化(GPU、多核CPU系统)。改进网络。更简洁的代码。类型推断。更轻松的容器化和云支持。根据2020年Stackoverflow开发人员调查,以下编程语言是2020年开发人员最喜欢的语言(图1)。作为本文的一部分,我们将考虑其中的5个。>图1:最受喜爱的编程语言此外,根据Stackoverflow开发人员调查(图2),这些是2020年排名前10位的付费编程语言。>图2:与全球薪水最高的编程语言Julia相关的语言Python和R等编程语言由于其易用性,现在在数据科学、机器学习和通用计算/数值任务等领域非常受欢迎。然而,这些语言最初并不是为在高度可扩展的系统上工作而设计的。所以很难将这种类型的编程语言用于大型企业解决方案。为了克服这类问题,麻省理工学院(MIT)的一组研究人员创建了Julia。Julia的一些关键特性是:针对并行和分布式系统的使用进行了优化。内置包管理器。支持C编程功能。动态打字。为了促进采用,已经实施了许多数据科学和机器学习库,例如ScikitLearn.jl、TextAnalysis.jl、StatsModels.jl。此外,Julia还可以用于传统的Jupyternotebook。如果您有兴趣通过Julia了解更多关于数据科学的知识,这个YouTube课程是一个很好的起点。从图3中可以看出,在过去几年中,到目前为止,Julia在Google上的搜索总数有所增加。>图3:JuliaGoogleTrends[3]GoGo是当今最有前途的系统编程语言之一。事实上,这种编程语言是由谷歌开发的,目的是简化应用程序和开发的规模。Go的一些关键特性是:专为云原生开发而设计。事实上,Docker、Kubernetes等主流工具都是使用Go开发的。内存管理(不同于C和C++等具有嵌入式垃圾收集器的语言)。出色的并发支持。在2014年左右达到顶峰后,Go多年来在谷歌搜索量中一直保持稳定。Go是目前谷歌云平台和微软Azure等云平台上最流行的编程语言之一。>图4:GoGoogleTrends[3]如果您有兴趣用Go编写机器学习算法,GoLearn是一个很好的起点。Python如今,Python是数据科学和机器学习任务中最流行的编程语言。它于1991年由GuidovanRossum首次开发,从那时起其受欢迎程度只增不减(图5)。>图5:PythonGoogleTrends[3]一些最流行的用于数据科学和机器学习的Python库是:.为了尝试解决这个问题,已经实施了不同的系统(例如Cython和Numba)以在使用Python编码时创建类似C的性能水平。ScalaScala目前被认为是函数式编程最好的编程语言之一(尽管它仍然提供面向对象编程方法的支持)。就搜索流行度而言,Scala似乎在2018-2019年的谷歌搜索中达到顶峰(图6)。>图6:ScalaGoogle趋势[3]使用Scala的一些主要优点是:Scala是一种静态类型语言。比Python等编程语言快得多。与Java的兼容性。能够结合函数式编程和面向对象编程。Scala流行的主要原因之一是ApacheSpark(一种使用Scala构建的数据管理工具)。事实上,ApacheSpark是用于Hadoop集成(快速处理大量数据)的最流行的大数据工具之一。JavaScript最后,JavaScript是最流行的网络编程语言之一,几乎可以在任何类型的应用程序(例如服务器、移动设备、云、微控制器等)上运行。Javascript的受欢迎程度在Web开发的早期达到顶峰,此后在过去十年中一直保持稳定趋势(图7)。>图7:JavascriptGoogleTrends[3]将Javascript列入此列表的主要原因之一是它能够在网络上共享数据科学和机器学习项目。事实上,在过去的几年里,TensorFlow.js、ONNX.js、Plotly.js、Dash等不同的框架已经发展到可以在使用Python等编程语言创建的Web项目上访问。结论总的来说,Python和Javascript无疑是目前最流行的两种编程语言。尽管如本文所示,由于各种优势,Julia、Go和Scala等不同的替代方案现在开始在就业市场上获得越来越多的吸引力(就像Python在过去十年中的表现一样)。
