当前位置:首页 > Java知识 > 正文内容

现在最好的编程语言是哪个(当下最好的编程语言)

abcsky883个月前 (01-26)Java知识55

本文分享给大家的是:

图片由 h heyerlein 发布在 Unsplash 上如果我们把人类的现代文明看作一辆汽车,那么软件开发行业就像汽车的发动机,编程语言就像发动机的燃料那么问题来了,你应该学哪种编程语言?学习一门新的编程语言在时间、精力和脑力上的投入都非常巨大,但它可以提高你的软件开发技能,并给你的职业生涯带来提升,正如我在另一篇博客中所写的:。

现在最好的编程语言是哪个(当下最好的编程语言)

博客网址:https://medium.com/@md.kamaruzzaman/5-reasons-to-learn-a-new-programming-language-in-2020-bfc9a4b9a763

通常,你应该选择一种能有助于你专业网站建设 公司事业发展的编程语言另外,你还可以学习一门受欢迎程度正在上升的语言我对主流编程语言非常尊重但在这里,我列出现代编程语言,这些语言可以提高你的工作效率,使你成为一个更好的开发人员。

此外,我还将涉及更广泛的领域:系统编程,应用程序开发,网络开发,科学计算

「现代编程语言」这个词是模棱两可的许多人认为像 Python、JavaScript 这样的语言是现代编程语言但同时,他们认为 Java 是一种古老的编程语言事实上,它们都出现在同一时间:1995 年大多数主流的编程语言是在上个世纪发展起来的,主要是在 20 世纪 70 年代(例如 C)、20 世纪 80 年代(例如 C++)、20 世纪 90 年代(专业网站建设 公司例如 Java、Python、JavaScript)。

这些语言不是为了利用现代软件开发生态系统而设计的尽管其中的许多语言中有改进特性,比如并发性和自我调整,但是它们也提供了向后兼容性,并且不能丢弃旧的、过时的特性在这一点上,Python 做的很好,它在 Python 2 和 Python 3 之间做了一个明确的划分。

这些语言通常提供 10 种方法来做同样的事情,而不关心开发人员用起来是否方便根据 StackOverflow developer 的调查,大多数主流的旧编程语言都在「最可怕的语言」类别中占据了榜首:

图片来源:Stackoverflow我将以第一款 iPhone 发布的时候,也就是 专业网站建设 公司2007 年 6 月 29 日作为新旧编程语言之间的界限时间点在 iPhone 发布之后,一切都发生了变化在这个列表中,我主要考虑 2007 年后的编程语言。

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

类型推断更简单的特性集低认知负荷混合所有编程范例的最佳特性其次,列表中的许多编程语言都具有破坏性,将永远改变软件行业其中一些已经成为主流编程语言,而另一些则等待取得突破至少作为第二种编程语言来学习这些语言是明智的。

在之前的一篇博文「专业网站建设 公司20 个 2020 年软件发展趋势预测」中,我预测了 2020 年许多现代编程语言的突破:

文章网址:https://towardsdatascience.com/20-predictions-about-software-development-trends-in-2020-afb8b110d9a0

Rust

图片来源:Thoughtram系统编程语言是由 C、C++等主导的,尽管它们可以完全控制程序和硬件,但它们缺乏内存安全性即使它们支持并发性,但是在比你保证并发安全性的情况下,使用 C/C++编写并发程序是很有挑战性的。

其他流行的编程语言是可解释性的语言,如 Java、Python、Haske专业网站建设 公司ll,它们提供安全性,但需要很多的运行时间或虚拟机由于运行时很大,像 Java 这样的语言不适合系统编程有很多人尝试过将 C/C++的特性和 Haskell,Java 的安全性结合起来,但目前看来,Rust 是第一个实现这一目的的产品级编程语言。

Graydon Hoare 最早将 Rust 作为一个副产品开发出来他受到了研究性的编程语言 Cyclone 的启发Rust 是开源的,Mozilla 与许多其他公司和社区一起进行语言开发Rust 于 2015 年首次发布,很快就引起了社会各界的关注。

在以前的文章中,我深入研究了 Rust,并论证了为什么在大数据域中使用 Rust 来代替 C++、Ja专业网站建设 公司va 是一个更好的选择:

文章网址:https://towardsdatascience.com/back-to-the-metal-top-3-programming-language-to-develop-big-data-frameworks-in-2019-69a44a36a842

主要特性:通过所有权和借用的概念提供内存安全性和并发安全性内存安全和并发安全的编译时间保证,即如果一个程序代码编译了,那么它既是内存安全的,也没有数据竞争这是 Rust 最吸引人的特点它还提供了 ML,Haskell 的表示方式。

Rust 具有不变的数据结构和函数式编程特性,提供函数式并发和数据并发Rust 的专业网站建设 公司速度非常快由于没有运行时,Rust 提供了对现代硬件(TPU、GPU、多核 CPU)的完全控制Rust 有 LLVM 支持。

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

图片来源:Stackoverflow根据 GitHub Octoverse 的说法,Rust 是仅次于 Dart 的增长第二快的语言:

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

图片来源:PyPl对比它提供的功能集,难怪像微软专业网站建设 公司、亚马逊、谷歌这样的科技巨头最终宣布将 Rust 作为一种长期的系统编程语言。在过去的 5 年里,Rust 的吸引力每年都在增加:

图片来源:Google Trends主要用在:系统编程无服务器计算业务应用程序主要竞争语言:CC++GoSwiftGo

图片来源:Wikimedia谷歌是最大的网络公司之一本世纪初,Google 面临着两个扩展问题:开发扩展和应用程序扩展开发扩展意味着他们不能通过增加开发人员来增加更多的功能,应用程序扩展意味着他们无法轻松开发一个可以扩展到「Google」级机器集群的应用程序。

2007 年左右,谷歌开始创建一种新的「实用」编程语言,这种语言可以解决这两个问题在 Rob专业网站建设 公司 Pike(UTF-8)和 Ken Thompson(UNIX 操作系统)中,两个世界上最有才华的软件工程师创建了一种新的语言。

2012 年,谷歌发布了 Go 编程语言的第一个官方版本Go 是一种系统编程语言,但不同于 Rust它也有一个运行时和垃圾收集器(几兆字节),但与 Java 或 Python 不同的是,这个运行时包含了生成的代码。

最后,Go 生成一个本机二进制代码,可以在没有附加依赖项或运行时的情况下在计算机中运行主要特性:Go 具有一流的并发支持它不通过线程和锁提供「共享内存」并发性,因为编程难度要大得多相反,它提供了基于 CSP 的消息传递并发性。

Go 使用「Goroutine」专业网站建设 公司(轻量级绿色线程)和「Channel」进行消息传递Go 最具杀伤力的特点是简单,它是最简单的系统编程语言,一个萌新软件开发人员可以在几天内编写出高效的代码一些最大的云原生项目(Kubernetes,Docker)是用 Go 编写的。

GO 也有嵌入式垃圾收集器,这意味着开发人员不需要担心像 C/C++那样的内存管理问题谷歌在 Go 上投入了大量资金,因此,Go 拥有大量的工具支持对于新的 Go 开发人员来说,有一个庞大的工具生态系统。

通常,开发人员花费 20% 的时间编写新代码,80% 的时间维护现有代码由于其简单性,Go 在语言维护领域表现出色如今,Go 在商业应用程序中得到了广泛的应用受欢迎专业网站建设 公司程度:自 Go 首次问世以来,软件开发社区已经欣然接受了它。

在 2009 年(首次亮相)和 2018 年,Go 通过 TIOBE 指数进入编程语言名人堂排行榜难怪 Go 的成功为 Rust 这样的新一代编程语言铺平了道路Go 已经是一种主流编程语言最近,Go 团队宣布了「Go 2」的计划,目的只是让语言更加稳固。

在几乎所有流行编程语言比较网站,Go 的排名很高,超过了许多现有的语言以下是 2019 年 12 月的 TIOBE 指数评级,Go 排名第 15 位:图片来源:TIOBE 根据 Stackoverflow 的调查,Go 是十大最受欢迎的编程语言之一: 。

图片来源:Stackoverfl专业网站建设 公司ow根据 GitHub Octoverse 的统计,Go 也是增长最快的十大语言之一:

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

图片来源:Google Trends主要用例:系统编程无服务器计算业务应用程序云本机开发主要竞争语言:CC++RustPythonJavaKotlin

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

在上一篇文章中,我详细讨论了 JVM 的优点:

文章网址专业网站建设 公司:https://towardsdatascience.com/programming-language-that-rules-the-data-intensive-big-data-fast-data-frameworks-6cd7d5f754b0

多年来,像 Scala 这样的 JVM 语言试图回答 Java 的缺点,并希望成为更好的 Java,但是失败了最后,Kotlin 出现了,寻找更好 Java 的旅程似乎已经结束Jet Brains(流行 IDE IntelliJ 背后的公司)开发了 Kotlin,它运行在 JVM 上,解决了 Java 的缺点,并提供了许多现代特性。

与 Scala 专业网站建设 公司不同,Kotlin 比 Java 简单得多,并在 JVM 中提供 Go 或 Python 式的开发效率谷歌宣布 Kotlin 是开发 Android 的一流语言,并提高了 Kotlin 在社区的接受度。

同样流行的 Java 企业框架 Spring 也从 2017 年开始在 Spring 生态系统中支持 Kotlin主要特性: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(领域特定语言)的简单方法受欢迎程度:自 2015 年首次发布以来,Kotlin 的受欢迎程度正在专业网站建设 公司飙升根据 Stack Overflow,Kotlin 是 2019 年第四受欢迎的编程语言:。

图片来源:StackoverflowKotlin 也是增长最快的编程语言之一,排名第四:

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

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

图片来源:Google Trends主要用例:企业应用程序Android应用程序开发主要竞争语言: JavaScalaPytho专业网站建设 公司nGoTypeScript

JavaScript 是一种优秀的语言,但 2015 年以前的 JavaScript 有许多缺点甚至著名的软件工程师 Douglas Crockford 也写过一本书《JavaScript: The Good Parts》,并暗示 JavaScript 有很多不好的部分。

由于没有模块化和「回调地狱」,开发人员不喜欢维护特别大的 JavaScript 项目Google 甚至开发了一个平台,将 Java 代码转换为 JavaScript 代码(GWT)许多公司或个人试图开发更好的 JavaScript,例如 CoffeeScript、Flow、ClojureScript,专业网站建设 公司但微软的 TypeScript 无疑是其中最突出的。

由 Delphi 的创建者 Anders Hejlsberg 领导的一组微软工程师创建了 TypeScript,把它作为 JavaScript 的静态类型的模块化超集在编译期间,TypeScript 被编译为 JavaScript。

2014 年首次发布以来,TypeScript 迅速引起社会关注当时谷歌还计划开发一个静态类型的 JavaScript 超集谷歌对 TypeScript 印象深刻,他们没有开发新的语言,而是与微软合作改进 TypeScript。

Google 使用 TypeScript 作为其 SPA 框架 Angular2+ 的主专业网站建设 公司要编程语言另外,流行的 SPA 框架 React 提供了对 TypeScript 的支持另一个流行的 JavaScript 框架 Vue.js 声明他们将使用 TypeScript 开发新的 Vue.js 3: 。

图片来源:Vue.js Roadmap此外,node.js 的创建者 Ryan Dahl 决定使用 TypeScript 开发一个安全的 node.js 替代品 Deno主要特性:与列表中的 Go 或 Kotlin 一样,TypeScript 的主要特性是语言设计。

凭借其清晰干净的代码,它是最优雅的编程语言之一就开发人员的生产力而言,它与 JVM 上的 Kotlin 或 Go/Pyt专业网站建设 公司hon 不相上下TypeScript 是最高效的 JavaScript 超集TypeScript 是 JavaScript 的强类型超集。

它特别适合大型项目,并被正确地称为「大规模的 JavaScript」「三大」单页应用程序框架(Angular、React、Vue.js)为 TypeScript 提供了极好的支持在 Angular 中,TypeScript 是首选的编程语言。

在 React 和 Vue.js 中,TypeScript 越来越流行两个最大的科技巨头:微软和谷歌正在合作开发 TypeScript,它得到了一个充满活力的开源社区的支持因此,对 TypeScript 的工具支持是最好专业网站建设 公司的支持之一。

由于 TypeScript 是 JavaScript 的超集,它可以在 JavaScript 所有的地方运行TypeScript 可以在浏览器、服务器、移动设备、物联网设备和云上运行受欢迎程度:开发人员喜欢 TypeScript 优雅的语言设计。

在 Stackoverflow 开发者调查中,它在最受欢迎的语言类别中与 Python 并列第二:

图片来源:StackoverflowTypeScript 是增长最快的 Web 编程语言之一,在 GitHub Octoverse 上排名第五:

图片来源:Octoverse根据 GitHub 贡献,TypeScript 也进入了前 10 名(排专业网站建设 公司名第 7):

图片来源:OctoverseTypeScript 在过去的一年中吸引了越来越多的眼球,这反映在 Google 趋势上:

图片来源:Google Trends主要用例:Web 用户界面开发服务器端开发主要竞争语言: JavaScriptDartSwift

Steve Jobs 拒绝在 iOS 中支持 Java(和 JVM),因为他认为 Java 将不再是一种主要的编程语言我们现在知道 Steve Jobs 对 Java 的评价是错误的,但是 iOS 仍然不支持 Java。

相反,苹果选择 Objective-C 作为 iOS 中的主流编程语言Objective-C 是一门很难掌握的语言而且专业网站建设 公司,它具备现代编程语言所要求的高开发效率在苹果,Chris Lattner 和其他人开发了 Swift ,它是一种多范式、通用、可编译的编程语言,为 Objective-C 提供了一种替代方案。

Swift 的第一个稳定版本于 2014 年发布Swift 还支持 LLVM 编译器工具链(也由 Chris Lattner 开发)Swift 与 Objective-C 代码库具有良好的互操作性,并且已经成为 iOS 应用程序开发的主要编程语言。

主要特性:Swift 的一个致命优点是它的语言设计它使用更简单、简洁和干净的语法,为 Objective-C 提供了一个更高效的替代方案Swift 还提供了现代专业网站建设 公司程序语言的特性:null 安全性Swift 是一种编译语言,它和 C++一样快。

Swift 支持 LLVM 编译器工具链因此,我们可以在服务器端甚至浏览器编程(使用 WebAssembly)中使用 SwiftSwift 提供自动参考计数(ARC)支持,这样可以限制内存管理不当受欢迎程度:

和许多其他现代语言一样,开发人员也非常喜欢 Swift。根据 StackOverflow 的调查,Swift 在最受欢迎的编程语言中排名第六:

在 TIOBE 的编程语言排行榜中,Swift 在 2019 年已升至第 10 位考虑到这门语言才 5 岁,这是一个相当了不起的成就:图片来源:TIOBE IndexGo专业网站建设 公司ogle trends 还显示,Swift 的受欢迎程度先急剧上升,随后在最后几次饱和中趋势略有下降: 。

图片来源:Google Trends主要用例:iOS 应用程序开发系统编程客户端开发(通过 WebAssembly)主要竞争语言: Objective-CRustGoDart

Dart 也是 Google 发布的编程语言Google 是网络和安卓领域的关键玩家,在网络和应用程序开发领域开发自己的编程语言也就不足为奇了Dart 是一种支持强类型和面向对象编程的通用编程语言Dart 也可以被转换成 JavaScript,并且可以运行在 JavaScript 运行着的任何地方(例如 Web、移动、专业网站建设 公司服务器)。

主要特性:与 Go 一样,Dart 也非常注重开发人员的工作效率Dart 由于其干净、简单、简洁的语法,极大地提高了生产效率,深受开发人员的喜爱Dart 还提供强大的类和面向对象的编程Dart 是少数支持 JIT 编译和 AOT 编译的语言之一。

因此,Dart 可以以 JavaScript 运行时(V8 引擎)为目标,Dart 可以编译成快速的本机代码(AOT 编译)跨平台的原生应用开发平台 Flutter 选择 Dart 作为编程语言来开发 iOS 和 Android 应用。

从那以后,Dart 变得越来越流行与 Go 一样,Dart 也有出色的工具支持和 Flutter 巨大的生态专业网站建设 公司系统Flutter 的日益流行只会增加 Dart 的流行程度受欢迎程度:根据 Github Octoverse,Dart 是 2019 年增长最快的编程语言,去年它的受欢迎程度翻了五倍:。

根据 TIOBE,Dart 居于第 23 位,仅仅 4 年时间,它已经超越了其它很多编程语言:图片来源:TIOBE index它也是 StackOverflow 开发者调查中排名第 12 位的最受欢迎的编程语言之一:

图片来源:StackOverflow除了 Flutter,Dart 的受欢迎程度在过去两年也经历了巨大的改善,这一点在 Google 中很明显:

图片来源:Google Trends主要用例:应用程专业网站建设 公司序开发前端开发主要竞争语言:JavaScriptTypeScriptJulia

前面列出的编程语言都是由大公司开发的,但 Julia 不是在技术计算中,通常使用 Python、Matlab 等动态语言这些语言提供易于使用的语法,但不适合大规模的技术计算,他们使用 C/C++库来处理 CPU 密集型任务。

由于代码是在两种语言之间转换的,因此总会有一些性能损失为了解决这个问题,麻省理工学院的一组研究人员计划从头开始创建一种新的语言,它利用了现代硬件的优势,并结合了其他语言的最佳部分他们在麻省理工学院创新实验室完成这项工作,还发表了以下宣言:。

资料来源:Julia PresentationJulia 专业网站建设 公司是一种动态的高级编程语言,为并发、并行和分布式计算提供一流的支持Julia 的第一个稳定版本于 2018 年发布,很快就得到了社区和业界的青睐Julia 可以应用于科学计算、人工智能等许多领域,最终解决「两种语言」的问题。

特性:和 Rust 一样,Julia 的主要特点是语言的设计它试图在不牺牲性能的情况下,结合现有的编程语言在高性能和科学计算中的一些最佳特性到目前为止,它做得很好Julia 是一种可选类型的动态编程语言。

因此,Julia 很容易学习,而且效率很高它以多分派编程范式为核心它内置了对并发、并行和分布式计算的支持它还为 I/O 密集型任务提供异步 I/O它速度非常快,可以用于需要数专业网站建设 公司百万线程的科学计算受欢迎程度:

在许多领域,Julia 主要与 Python 竞争由于 Python 是最流行的编程语言之一,Julia 成为主流还需要几年时间Julia 相对年轻(只有一岁),但在 TIOBE index 中仍排在第 43 位:。

图片来源:TIOBEGoogle Trends 也显示出过去的时间里,程序员对 Julia 的稳定兴趣。

但考虑到 Julia 背后的功能集和公司数量,如 NSF、DARPA、NASA、Intel,Julia 何时取得突破只是个时间问题主要用例:科学计算高性能计算数据科学可视化主要竞争语言:PythonMatlab

via:https://towardsd专业网站建设 公司atascience.com/top-7-modern-programming-language-to-learn-now-156863bd1eec雷锋网雷锋网雷锋网

扫描二维码推送至手机访问。

版权声明:本文由海南拓宏网络科技工作室发布,如需转载请注明出处。

本文链接:http://4blc.com/post/13153.html

分享给朋友:

“现在最好的编程语言是哪个(当下最好的编程语言)” 的相关文章

四川大学华西天府医院招聘2023年(四川大学华西天府医院招聘笔试多少分及格)

今天给各位分享 转自:成都发布找工作的小伙伴们注意!中科院两家单位四川大学华西天府医院2023·成都春季大型人才招聘会暨“蓉漂人才荟”青年人才招聘会成都园艺博览运营发展有限公司带来一大波招聘岗位快看看有没有你心仪的~中国科学院成都生物研究所 招聘植物学、动物学、微生物学、细...

为啥面试完要等两三天(为啥面试要问有没有对象呢)

本篇文章给大家谈谈 如果说不问行为就难辨高低,那么没有追问就没有真相在面试中,精准地提问只是第一步,想要了解应聘者的行为事例是否真实,还需要通过深度追问来掌握真相基于人才画像的STAR方法,是面试官应该掌握的深度追问技巧基于STAR的追问很重要,但不能漫无目的,要基于岗位的人才画像...

教师招聘笔试分数低面试有可能逆袭吗(教师招聘笔试差十分面试有希望吗)

本篇文章给大家谈谈 教师招聘考试面试并不是很简单,但是找对方法,找对技巧,能为面试加分想要在教师招聘考试面试中高分通过教师招聘考试面试并不是很简单,但是找对方法,找对技巧,能为面试加分想要在教师招聘考试面试中高分通过我们自然需要做一些准备,今天远拓教育就跟大家说说教师招聘考试面试中...

计算机科学与技术专业大学排名前100(计算机科学与技术专业最新大学排名)

今天给各位分享 原标题:“计算机科学与技术专业”最强的4所大学如今,随着互联网时代的快速发展,计算机类专业成为了当今社会的“香饽饽”,其中,计算机科学与技术大家公认为是最有“钱途”的专业之一,毕业生月薪轻松上万,薪资待遇非常乐观,吸引着无数的高考生争相报考。 正因为如此,国...

java面向对象的概念(java面向对象的经典例子)

今天给各位分享 概述Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为 面向对象思想就是在计算机程序设计过程中,参照现...

java和python差别大吗(python跟java区别)

本篇文章给大家谈谈   Java和Python可能是评估如何完成你即将到来的项目的明智起点根据你计划创建的产品,选择正确的语言取决于你的业务  由于不了解技术的优缺点,很难断定编程语言最适合你的业务目标这两种语言相互竞争,因为它们都为开发人员提供了极好的机会。   Java...