现代编程语言哪家强2020年你或许应该了解这7门编程语言

通常,你应该选择一种能有助于你事业发展的编程语言。另外,你还可以学习一门受欢迎程度正在上升的语言。

我对主流编程语言非常尊重。但在这里,我列出现代编程语言,这些语言可以提高你的工作效率,使你成为一个更好的开发人员。此外,我还将涉及更广泛的领域:系统编程,应用程序开发,网络开发,科学计算。

对比它提供的功能集,难怪像微软、亚马逊、谷歌这样的科技巨头最终宣布将 Rust 作为一种长期的系统编程语言。

流行编程语言网站 PyPl 也将 Rust 排在第 18 位,并呈上升趋势:

自从谷歌宣布 Kotlin 是开发 Android 应用程序的一流语言以来,Kotlin 的受欢迎程度快速上升,如下图所示:

简洁的代码 内置的并发支持 空指针安全 类型推断 更简单的特性集 低认知负荷 混合所有编程范例的最佳特性

据了解,这次专项行动主要突出检查劳动密集型加工制造企业、餐饮服务行业、小作坊、无证经营户等,全面准确掌握本地非法使用童工情况。同时,甘肃省内县级教育行政部门都将对本辖区因务工致使失学辍学的义务教育适龄儿童进行全面筛查,整理形成《非法务工失辍学义务教育适龄儿童少年花名册》。

动物外壳的出现,是动物演化历史中非常重要的革新事件,它对于塑造身体构型、保护脆弱的软体以及实现生态扩张具有重要意义。但不断生长的壳体也会阻碍动物的运动和消耗更多能量,为了克服这些缺点,一些带壳动物演化出一种特殊的生存策略——断壳,即通过分泌隔板及溶壳物质断掉壳顶部分,但它何时起源又如何演化一直是个谜。

系统编程 无服务器计算 业务应用程序

我将以第一款 iPhone 发布的时候,也就是 2007 年 6 月 29 日作为新旧编程语言之间的界限时间点。在 iPhone 发布之后,一切都发生了变化。在这个列表中,我主要考虑 2007 年后的编程语言。

Go 具有一流的并发支持。它不通过线程和锁提供“共享内存”并发性,因为编程难度要大得多。相反,它提供了基于 CSP 的消息传递并发性。Go 使用“Goroutine”(轻量级绿色线程)和“Channel”进行消息传递。 Go 最具杀伤力的特点是简单,它是最简单的系统编程语言,一个萌新软件开发人员可以在几天内编写出高效的代码。一些最大的云原生项目(Kubernetes,Docker)是用 Go 编写的。 GO 也有嵌入式垃圾收集器,这意味着开发人员不需要担心像 C/C++那样的内存管理问题。 谷歌在 Go 上投入了大量资金,因此,Go 拥有大量的工具支持。对于新的 Go 开发人员来说,有一个庞大的工具生态系统。 通常,开发人员花费 20% 的时间编写新代码,80% 的时间维护现有代码。由于其简单性,Go 在语言维护领域表现出色。如今,Go 在商业应用程序中得到了广泛的应用。

殷宗军说,桶螺的断壳现象是目前关于动物断壳行为的最早化石记录,其复杂的断壳结构和过程,与地质历史上以及现代的腹足动物断壳过程均不相同,可能反映了其背后基因调控机制的差异,表明断壳策略在不同类群中独立起源了多次。

Kotlin 的 USP 是它的语言设计。我总是将 Kotlin 看作 JVM 上的 Go/Python,因为它的代码简洁明了。因此,Kotlin 的生产效率很高。 与许多其他现代语言一样,Kotlin 提供了空指针安全、类型推断等功能。 因为 Kotlin 在 JVM 中运行,因此你可以使用现存的 Java 库庞大的生态系统。 Kotlin 是开发 Android 应用程序的一流语言,已经超越 Java 成为开发 Android 应用程序的第一语言。 Kotlin 有 JetBrains 和开源的支持。所以,Kotlin 有很好的工具支持。 有两个有趣的项目:Kotlin Native(将 Kotlin 编译为本机代码)和 Kotlin.js(Kotlin 转换为 JavaScript)。如果他们成功了,那么 Kotlin 可以在 JVM 之外使用。 Kotlin 还提供了一种编写 DSL(领域特定语言)的简单方法。

2012 年,谷歌发布了 Go 编程语言的第一个官方版本。Go 是一种系统编程语言,但不同于 Rust。它也有一个运行时和垃圾收集器(几兆字节),但与 Java 或 Python 不同的是,这个运行时包含了生成的代码。最后,Go 生成一个本机二进制代码,可以在没有附加依赖项或运行时的情况下在计算机中运行。

Graydon Hoare 最早将 Rust 作为一个副产品开发出来。他受到了研究性的编程语言 Cyclone 的启发。Rust 是开源的,Mozilla 与许多其他公司和社区一起进行语言开发。Rust 于 2015 年首次发布,很快就引起了社会各界的关注。在以前的文章中,我深入研究了 Rust,并论证了为什么在大数据域中使用 Rust 来代替 C++、Java 是一个更好的选择:

南京地质古生物研究所副研究员殷宗军介绍,他们发现的这种断壳桶螺壳体弯曲,横切面圆形或亚圆形,壳顶为颈状结构。依据壳体表面结构,可识别出断壳期及断壳间期。他们在电镜观察的基础上,采用高分辨率X射线三维无损成像技术,对断壳期不同发育阶段标本进行了三维重构,复原了桶螺壳体内部双层隔板形成、壳体外侧圆环形成和壳顶断落的完整过程。

根据 Stackoverflow 的调查,Go 是十大最受欢迎的编程语言之一:

Java 是企业软件开发中无可争议的王者。近年来,Java 已经受到了很多批评:冗长,需要大量的样板编码,复杂,容易发生意外。然而,关于 Java 虚拟机(JVM)的争论很少。JVM 是软件工程领域的杰作,它提供了一个经过时间考验的运行时。在上一篇文章中,我详细讨论了 JVM 的优点:

据甘肃省教育厅工作人员介绍,此次行动的三部门今后将联合建立长效机制,作为每年定期开展的清理整顿人力资源市场秩序专项检查的重要内容。同时,对于教育部门发现和移交的辍学童工线索,将认真核查,严肃处理,从源头上遏止童工的产生。

谷歌是最大的网络公司之一。本世纪初,Google 面临着两个扩展问题:开发扩展和应用程序扩展。开发扩展意味着他们不能通过增加开发人员来增加更多的功能,应用程序扩展意味着他们无法轻松开发一个可以扩展到“Google”级机器集群的应用程序。2007 年左右,谷歌开始创建一种新的“实用”编程语言,这种语言可以解决这两个问题。在 Rob Pike(UTF-8)和 Ken Thompson(UNIX 操作系统)中,两个世界上最有才华的软件工程师创建了一种新的语言。

谷歌还显示,过去五年里,Go 的吸引力不断增强:

企业应用程序 Android应用程序开发

有很多人尝试过将 C/C++的特性和 Haskell,Java 的安全性结合起来,但目前看来,Rust 是第一个实现这一目的的产品级编程语言。

Kotlin 也是增长最快的编程语言之一,排名第四:

热门编程语言排名网站 PyPl 将 Kotlin 列为第 12 位最受欢迎的编程语言,并有很高的上升趋势:

大多数主流的编程语言是在上个世纪发展起来的,主要是在 20 世纪 70 年代(例如 C)、20 世纪 80 年代(例如 C++)、20 世纪 90 年代(例如 Java、Python、JavaScript)。这些语言不是为了利用现代软件开发生态系统而设计的。尽管其中的许多语言中有改进特性,比如并发性和自我调整,但是它们也提供了向后兼容性,并且不能丢弃旧的、过时的特性。

对于实地排查和专项筛查的结果,甘肃省人社和市场监督管理部门将依据《禁止使用童工规定》对查证属实的非法使用童工行为从严从速顶格处罚。

在这一点上,Python 做的很好,它在 Python 2 和 Python 3 之间做了一个明确的划分。这些语言通常提供 10 种方法来做同样的事情,而不关心开发人员用起来是否方便。根据 StackOverflow developer 的调查,大多数主流的旧编程语言都在“最可怕的语言”类别中占据了榜首:

Go 已经是一种主流编程语言。最近,Go 团队宣布了“Go 2”的计划,目的只是让语言更加稳固。

自 2015 年首次亮相以来,Rust 一直被开发者所喜爱,并在 StackOverflow 开发者调查中连续四年(2016、2017、2018、2019)被评为最受欢迎的语言:

系统编程 无服务器计算 业务应用程序 云本机开发

他们推算,断壳桶螺一生中至少断两次壳。对生存竞争激烈的寒武纪且处于食物链底端的桶螺而言,定期断壳可有效减少能量耗损、提高运动能力,从而躲避捕食者,间接揭示寒武纪大爆发不仅是动物身体构型的大爆发,也是动物生存策略的大辐射。

科技日报讯 (记者赵汉斌)中国科学院南京地质古生物研究所研究人员日前在云南玉案山组碳酸岩夹层中,发现了一类距今5.18亿年前的新型软舌螺动物——断壳桶螺。他们采用高分辨率显微CT技术,结合扫描电镜观察,首次复原了其完整的断壳过程,为揭示动物断壳行为的起源与演化之谜提供了重要线索。研究成果在线发表于国际权威期刊《古生物学》上。

在之前的一篇博文“20 个 2020 年软件发展趋势预测”中,我预测了 2020 年许多现代编程语言的突破:

系统编程语言是由 C、C++等主导的,尽管它们可以完全控制程序和硬件,但它们缺乏内存安全性。即使它们支持并发性,但是在比你保证并发安全性的情况下,使用 C/C++编写并发程序是很有挑战性的。其他流行的编程语言是可解释性的语言,如 Java、Python、Haskell,它们提供安全性,但需要很多的运行时间或虚拟机。由于运行时很大,像 Java 这样的语言不适合系统编程。

自 Go 首次问世以来,软件开发社区已经欣然接受了它。在 2009 年(首次亮相)和 2018 年,Go 通过 TIOBE 指数进入编程语言名人堂排行榜。难怪 Go 的成功为 Rust 这样的新一代编程语言铺平了道路。

通过所有权和借用的概念提供内存安全性和并发安全性。 内存安全和并发安全的编译时间保证,即如果一个程序代码编译了,那么它既是内存安全的,也没有数据竞争。这是 Rust 最吸引人的特点。 它还提供了 ML,Haskell 的表示方式。Rust 具有不变的数据结构和函数式编程特性,提供函数式并发和数据并发。 Rust 的速度非常快。 由于没有运行时,Rust 提供了对现代硬件(TPU、GPU、多核 CPU)的完全控制。 Rust 有 LLVM 支持。

在几乎所有流行编程语言比较网站,Go 的排名很高,超过了许多现有的语言。以下是 2019 年 12 月的 TIOBE 指数评级,Go 排名第 15 位:

“现代编程语言”这个词是模棱两可的。许多人认为像 Python、JavaScript 这样的语言是现代编程语言。但同时,他们认为 Java 是一种古老的编程语言。事实上,它们都出现在同一时间:1995 年。

在过去的 5 年里,Rust 的吸引力每年都在增加:

(中科院南京地质古生物研究所供图)

首先,开发现代编程语言是为了充分利用现代计算机硬件(多核 CPU、GPU、TPU)、移动设备、大数据集、快速网络、容器和云。此外,大多数现代编程语言使用起来都更容易,主要体现在:

其次,列表中的许多编程语言都具有破坏性,将永远改变软件行业。其中一些已经成为主流编程语言,而另一些则等待取得突破。至少作为第二种编程语言来学习这些语言是明智的。