2022 年将成为主导的顶级编程语言

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022 年将成为主导的顶级编程语言相关的知识,希望对你有一定的参考价值。

参考技术A

编程语言是程序员(开发人员)用来与计算机进行通信的计算机语言。它是用任何特定语言(C、C++、Java、Python)编写的一组指令,用于执行特定任务。编程语言主要用于开发桌面应用程序、网站和移动应用程序。以下是 2022 年最流行的顶级语言。

Python

Python 是由 Guido van Rossum 于 1980 年代后期在荷兰构建的。Python 最初是作为 Java 在行业中的竞争对手而构建的,后来逐渐流行起来。目前,Python 在研究人员和开发人员社区中都非常受欢迎。Python 在 IEEE Spectrum 的语言排名中名列前茅,得分为满分 100。此外,Python 也很受尊重,支持率高达 44.1%。

Python 几乎适用于任何事物。Django 和 Flask 可用于 Web 开发,而 Jupyter 和 Spyder 等科学工具则用于分析和研究目的。如果您喜欢自动化,Selenium 可以帮助您!该语言的灵活性使 Python 几乎可以在任何地方使用。到目前为止,这些是 Python 中比较流行的产品。Python 的巨大支持基础(仅次于 javascript)产生了大量使用该语言的包、框架,甚至是成熟的开源软件。

总的来说,Python 可能对数据科学和机器学习有最大的支持。虽然还有其他语言(如 R 和 MATLAB)提供竞争,但 Python 是数据科学领域的严格统治者。机器学习中使用的大多数框架和库都仅用 Python 编写,如果想要学习机器学习(或一般的数据科学),它可能是最好的语言。

JavaScript

JavaScript 在这一点上几乎是行业领导者。JavaScript 最初于 1994 年作为 Netscape Navigator(当时最好的浏览器之一)的脚本语言而构建,它迅速崛起。直到 2008 年,Google 才在为 Google Chrome 构建 V8 引擎时设计了现代 JavaScript。最初由 Netscape 构建为 Java 的竞争对手,JavaScript 现在在开发领域拥有自己的空间。JavaScript 因其流行而被广泛认为是“互联网语言”。JavaScript 在开发者社区中的支持率最高——高达 67.7%。一般来说,JavaScript 适用于任何类型的开发活动,如移动应用程序开发、Web 开发、桌面应用程序开发等。

JavaScript 有各种各样的库和框架,可以在开发过程中使用。有用于前端开发的 Angular、Vue 和 React,而 Node.js 是一种用于后端开发的非常灵活的语言。Jest 和 Mocha 是两个灵活的工具,可帮助设置单元测试以检查功能是否按预期工作。当然,如果您对其中任何一个都不太满意,您可以在前端使用普通的 html、CSS 和 JavaScript——就这么简单!由于来自世界各地开发人员的巨大支持,JavaScript 拥有任何语言都可以夸耀的最多数量的支持包。尽管如此,人们继续构建越来越多的包,以增加使用该语言的便利性。

Java

Java 由 James Gosling、Mike Sheridan 和 Patrick Naughton 于 1991 年构建为“Oak”语言,是第一种在全球产生重大影响的语言。虽然新的编程语言使用与 C/C++ 相同的格式,但它融入了某些新思想,使其对更多人更具吸引力。Java 运行的原则是“一次编写,随处运行”——这意味着具有不同硬件和操作系统配置的系统可以轻松运行 Java 程序。

Java 也有各种各样的库和框架,它们在底层使用 Java。Java 用于通过 Spring 和 Hibernate 进行应用程序开发。JUnit 帮助我们为 Java 项目设置单元测试。最重要的是,Java 被用于开发原生 android 应用程序(Android SDK 本身由 Java 开发工具包或 JDK 提供支持)。Java 可能是大多数人在大学或学校的计算机编程入门课程中被介绍的语言。Java 是用于向大众教授面向对象编程的语言。

Java 在分析和研究领域也备受推崇。Java 唯一的问题是目前该语言的支持包和项目很少。很少有社区参与——这是大多数主流语言都有的。尽管如此,Java 是一种非常容易掌握和学习的语言——这在一定程度上解释了该语言的吸引力。但是,要掌握某种形式的语言确实需要一些时间。

C++

也许人们在本文中可以期待的最令人震惊的答案之一是 C++。尽管是大多数人用来学习数据结构和算法概念的语言,但该语言本身在实际世界中却很少使用。C++ 最初由 Bjarne Stroustrup 于 1982 年创建,作为 C 编程语言的扩展,在接下来的几年中继续声名鹊起。

C++ 可用于分析、研究以及 游戏 内开发。流行的 游戏 开发引擎——虚幻引擎——使用 C++ 作为脚本语言,用于构建 游戏 时可以定义的所有功能。C++ 在软件开发中也有广泛的用途。介于面向对象方法和面向方法方法之间,C++ 可以灵活地使用它生成的软件的性质。在 TIOBE 指数中排名第 4 意味着 C++ 至今仍具有吸引力。C++也广泛用于系统软件开发,比其他语言更容易理解。在操作系统等敏感领域使用 C++ 的主要原因是 C++ 程序的编译时间非常短。

C++ 可能拥有所有语言中最大的学习社区。大多数学生会开始他们的算法课程,用 C++ 构建树、链表、堆栈、队列和许多其他数据结构。当然,只要注意细节,它就很容易上手和学习,也很容易掌握。

Typescript

TypeScript 是 JavaScript 的超集,具有与 JavaScript 几乎相同的应用程序。TypeScript 可用于 Web 开发、移动应用程序开发、桌面应用程序开发等。在 StackOverflow 的最受欢迎语言列表中,TypeScript 是第二受欢迎的语言,受到 67.1% 的开发人员的喜爱(仅次于 Rust)。

TypeScript 主要是一种用于开发的语言,因此它对科学界没有太大吸引力。但是,由于 TypeScript 的新功能,可以预期它可能会激发更大程度的研究兴趣。该语言的技能上限比 JavaScript 低得多——并且 JavaScript 的许多“难以理解”的行为已在 TypeScript 中得到简化。换句话说,您将头撞到墙上的机会略小。

Golang

新语言正在迅速崛起,新的竞争者即将挑战 JavaScript 和 Python 拥有的宝座。由谷歌(两者的名字中都有“Go”!)主要是为了推进函数式编程的事业,Golang 在短时间内建立了大量的追随者。Golang 已经成为 StackOverflow 第五大最适合学习的语言,受到 62.3% 的开发人员的喜爱。

Golang 用于多个领域,用于开发强大的软件以及用于 Web 和移动应用程序的后端。目前,Golang 甚至支持一些基本的 Web 开发。虽然它仍处于取代 JavaScript 作为网络语言的阶段,但它正在迅速成为支持下一阶段网络的语言。

Golang 比此列表中的其他语言更难学习。此外,Golang 是一种开源语言,每次重大更新都会频繁更改,因此保持更新是必要的。

Dart

Dart 是工业领域发展最快的语言之一。谷歌在语言领域的贡献显着增加,以与微软的 TypeScript 日益流行的竞争相抗衡。Dart 因其简单性而受到世界各地程序员的高度喜爱。

Dart 用于多平台应用程序开发。与 JavaScript 一样,Dart 用于构建任何人都可以使用电子设备运行的软件。目前 Dart 最著名的用途是 Flutter 框架,Flutter 是一种用于移动应用程序开发的语言。最近的谷歌趋势表明,Flutter 尽管是一个较新的框架,但比 React Native 更受欢迎,后者是业界已经建立的移动应用程序开发框架。

Dart 比 JavaScript 更容易学习,并且能够很好地简化甚至难以理解的案例。随着市场上的 TypeScript 和 Dart 的出现,程序员在选择一种他们真正想要学习的语言时会面临多种选择。

AI技术的环保水平2020年将更上一层楼

导读 人工智能(AI)技术的环境影响,近期引发了人们的普遍关注——我坚信,这也将成为AI在未来十年内的一大核心难题。这场对话始于艾伦AI研究所的最新研究,他们主张优先考虑“绿色AI”的实现通道,即更多关注AI系统的能源效率。

人工智能(AI)技术的环境影响,近期引发了人们的普遍关注——我坚信,这也将成为AI在未来十年内的一大核心难题。这场对话始于艾伦AI研究所的最新研究,他们主张优先考虑“绿色AI”的实现通道,即更多关注AI系统的能源效率。

技术图片

这项研究的动机在于,艾伦研究所发现目前AI领域的各类重大进步背后,都有惊人的碳排放量作为支撑。OpenAI发表于2018年的博文指出,自2012年以来,全球超大规模AI训练所带来的计算量增长了30万倍。尽管该文没有计算模型训练带来的碳排放,但有人敏锐发现了问题核心并给出答案。根据Emma Strubel及其同事发表的论文,美国人平均每年排放二氧化碳约3万6千吨。与之对应,训练并开发一套运用神经结构搜索技术的机器翻译模型,总计将产生62万6千吨二氧化碳。

遗憾的是,从环境角度来看,这些所谓“红色AI”项目造成的实际后果可能比报告上的更加糟糕。实际上,AI项目的时间、能源以及资金总成本通常要比带来最终成果的阶段性成本高出一个数量级。

现实情况在于,红色AI项目还存在重要度、大量集中的趋势(例如开发新型对象检测模型以改善复杂环境中的自主导航能力,或者从大量非结构化Web数据中学习富文本表示等),这意味着只有大型科技企业以及一部分学术机构才有能力掌握如此庞大的计算资源。换言之,超大的数据规模与高昂的计算成本,将导致小体量玩家完全插不上手。

那么,我们该如何推动绿色AI的发展?或者说,我们应不应该不惜代价优先推动绿色AI项目?

红色AI不一定是坏事

当今,大部分所谓“红色AI”项目,都将目标定在推动自然语言处理、计算机视觉以及其他重要AI领域的科学发展层面。虽然这类项目的碳成本确实可观,但对社会产生的积极影响同样值得期待。

例如,人类基因组计划(HGP)花费27亿美元,耗时长达13年,绘制出完整的人类基因组图。业界曾有观点,认为人类基因组计划太过复杂、成本高昂而且缺少短时间内带来科学突破的潜力。但如今,我们完全能够利用测序技术在数小时内绘制出特定个体的基因组图,成本约为100美元。而这项技术的存在,正是以人类基因组计划的主要成果(参考基因组)为前提。尽管当初的计划效率低下,但仍为未来可能全面实现的个性化医疗铺平了道路。

同样,衡量红色AI项目的成本与成果也至关重要。红色AI实验带来的大量产出(例如,用于对象识别的图像表示,以及自然语言处理中的单词嵌入)也有望在更广泛的应用中发挥巨大的推动作用。

通往绿色AI的道路

但无论具有怎样的潜在科学回报,红色AI项目都注定存在不可持续性,由此带来的环境问题终将抹杀一切。仍然以之前提到的项目为例,人类基因组计划虽然成功完成了人类基因测序工作,但只有成本更低的新型DNA预测技术才有可能使其真正得到推广。换言之,AI社区必须在构建深度学习模型时,充分考虑到彻底能耗的必要性。

下面我分享一点个人拙见,聊聊推动行业转向绿色AI的几个可行步骤:

强调可重复性:

可重复性与中间成果的共享,对于提升AI开发效率至关重要。AI研究成果通常不会公开代码,否则其他研究人员会发现自己即使掌握同样的代码也无法完成结果重现。此外,研究人员在开源工作中可能面临种种内部障碍。正是这些因素,导致如今人工智能领域的发展仍然以红色AI项目为主导——这类项目能够用“暴力”解决可重复性问题,同时阻止一切有效共享。但情况正在缓慢变化,NeruIPS等主影响力会议已经在要求参会者提交可重复的代码与研究论文。

提高硬件性能:

最近几年,专用型硬件迎来了一大波迅猛发展,它们不仅在深度学习任务当中带来更佳的性能水平,同时也显著增强了能源效率(即每瓦性能产出)。AI社区对于GPU的旺盛需求,促使谷歌公司开发出TPU,并将其推向芯片市场帮助用户打造属于自己的专用方案。在接下来的几年内,相信英伟达、英特尔、SambaNova、Mythic、Graphcore以及Cerebras等厂商都将把硬件设计目标集中在AI类工作负载层面。

理解深度学习:

我们都知道深度学习技术行之有效,但这项已经拥有数十发展历史的技术之上,仍然笼罩着层层迷雾。目前的研究团体并不完全理解深度学习为何有效以及如何起效。揭开深度学习背后的基础科学,并对其优势及局限性做出正确表征,无疑有助于帮助从业者开发出更加准确高效的模型方案。

深度学习民主化:

将深度学习的准确度极限推向新的高度当然令人兴奋,但俗话常说,“完美是优秀的天敌。”现有模型在广泛对接应用场景时已经拥有充足的准确度,而且几乎各个行业及科学领域都可以从深度学习工具中受益。如果各个领域的人们都能接触到这项技术,我们绝对能够在性能与能效等层面迎来无数令人惊讶的创新。

加强合作:

世界上大多数企业都没有构建AI技术体系的能力,但这些企业的领导者已经意识到,他们有必要将AI乃至深度学习技术介入未来的产品与服务当中。企业应当积极与初创公司、孵化器项目以及高校建立合作伙伴关系,避免单枪匹马面对AI发展战略这一强敌。

虽然今天我们经常能在硅谷的大街上看到跑来跑去的无人驾驶汽车,并心生一种技术高峰已然到来的错觉——但请醒醒,我们的AI探索之旅才刚刚迈出第一步。

在航空领域,二十世纪初的飞行“先锋时代”表现出重要项目分布于世界各地,但整体进展非常缓慢的特征。而到五十年后的飞行“喷气时代”,航空业经历了新的持续发展新周期——飞机变得更大、更安全、更快也更省油。为什么?因为工程学(例如涡轮发动机)与社会结构(例如监管机构)的根本性进步,为飞行的民主化进步带来了必要的实现前提与推广基础。

2020年代,AI技术有望取得更令人难以置信的进步。但就基础设施与能源利用效率来看,我们恐怕仍处于“先锋时代”。随着AI研究的发展,我们必须努力为模型打造出最佳平台、工具与方法,确保其易于访问且能够轻松重现。只有这样,高能效AI才能获得不断前进的动力。更多Linux资讯请查看:https://www.linuxprobe.com

以上是关于2022 年将成为主导的顶级编程语言的主要内容,如果未能解决你的问题,请参考以下文章

未来 5 年将是 Go 语言的天下 | 极客大学

PythonJava占主导,RustGo增长迅速,元宇宙成为关注焦点|2022技术趋势预测

PythonJava占主导,RustGo增长迅速,元宇宙成为关注焦点|2022技术趋势预测

PythonJava占主导,RustGo增长迅速,元宇宙成为关注焦点|2022技术趋势预测

更好的大数据开源消息中间件 阿里RocketMQ进入Apache顶级项目

国内首家!主导Apache Hadoop新版本发布的,是腾讯云这位小哥哥