免费下载matlab源码分享的网站(matlab源代码网站)

大家好,如果您还对免费下载matlab源码分享的网站不太了解,没有关系,今天就由本站为大家分享免费下载matlab源码分享的网站的知识,包括matlab源代码网站的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

图片由hheyerlein发布在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做的很好,它在Python2和Python3之间做了一个明确的划分。这些语言通常提供10种方法来做同样的事情,而不关心开发人员用起来是否方便。根据StackOverflowdeveloper的调查,大多数主流的旧编程语言都在「最可怕的语言」类别中占据了榜首:

图片来源: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、Haskell,它们提供安全性,但需要很多的运行时间或虚拟机。由于运行时很大,像Java这样的语言不适合系统编程。

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

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

文章网址: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

根据GitHubOctoverse的说法,Rust是仅次于Dart的增长第二快的语言:

图片来源:Octoverse

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

图片来源:PyPl

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

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

图片来源:GoogleTrends

主要用在:

系统编程

无服务器计算

业务应用程序

主要竞争语言:

C

C++

Go

Swift

Go

图片来源:Wikimedia

谷歌是最大的网络公司之一。本世纪初,Google面临着两个扩展问题:开发扩展和应用程序扩展。开发扩展意味着他们不能通过增加开发人员来增加更多的功能,应用程序扩展意味着他们无法轻松开发一个可以扩展到「Google」级机器集群的应用程序。2007年左右,谷歌开始创建一种新的「实用」编程语言,这种语言可以解决这两个问题。在RobPike(UTF-8)和KenThompson(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团队宣布了「Go2」的计划,目的只是让语言更加稳固。

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

图片来源:TIOBE

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

图片来源:Stackoverflow

根据GitHubOctoverse的统计,Go也是增长最快的十大语言之一:

图片来源:Octoverse

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

图片来源:GoogleTrends

主要用例:

系统编程

无服务器计算

业务应用程序

云本机开发

主要竞争语言:

C

C++

Rust

Python

Java

Kotlin

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的旅程似乎已经结束。JetBrains(流行IDEIntelliJ背后的公司)开发了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有很好的工具支持。

有两个有趣的项目:KotlinNative(将Kotlin编译为本机代码)和Kotlin.js(Kotlin转换为JavaScript)。如果他们成功了,那么Kotlin可以在JVM之外使用。

Kotlin还提供了一种编写DSL(领域特定语言)的简单方法。

受欢迎程度:

自2015年首次发布以来,Kotlin的受欢迎程度正在飙升。根据StackOverflow,Kotlin是2019年第四受欢迎的编程语言:

图片来源:Stackoverflow

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

图片来源:GithubOctoverse

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

图片来源:Pypl

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

图片来源:GoogleTrends

主要用例:

企业应用程序

Android应用程序开发

主要竞争语言:

Java

Scala

Python

Go

TypeScript

JavaScript是一种优秀的语言,但2015年以前的JavaScript有许多缺点。甚至著名的软件工程师DouglasCrockford也写过一本书《JavaScript:TheGoodParts》,并暗示JavaScript有很多不好的部分。由于没有模块化和「回调地狱」,开发人员不喜欢维护特别大的JavaScript项目。

Google甚至开发了一个平台,将Java代码转换为JavaScript代码(GWT)。许多公司或个人试图开发更好的JavaScript,例如CoffeeScript、Flow、ClojureScript,但微软的TypeScript无疑是其中最突出的。由Delphi的创建者AndersHejlsberg领导的一组微软工程师创建了TypeScript,把它作为JavaScript的静态类型的模块化超集。

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

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

图片来源:Vue.jsRoadmap

此外,node.js的创建者RyanDahl决定使用TypeScript开发一个安全的node.js替代品Deno。

主要特性:

与列表中的Go或Kotlin一样,TypeScript的主要特性是语言设计。凭借其清晰干净的代码,它是最优雅的编程语言之一。就开发人员的生产力而言,它与JVM上的Kotlin或Go/Python不相上下。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并列第二:

图片来源:Stackoverflow

TypeScript是增长最快的Web编程语言之一,在GitHubOctoverse上排名第五:

图片来源:Octoverse

根据GitHub贡献,TypeScript也进入了前10名(排名第7):

图片来源:Octoverse

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

图片来源:GoogleTrends

主要用例:

Web用户界面开发

服务器端开发

主要竞争语言:

JavaScript

Dart

Swift

SteveJobs拒绝在iOS中支持Java(和JVM),因为他认为Java将不再是一种主要的编程语言。我们现在知道SteveJobs对Java的评价是错误的,但是iOS仍然不支持Java。相反,苹果选择Objective-C作为iOS中的主流编程语言。Objective-C是一门很难掌握的语言。而且,它具备现代编程语言所要求的高开发效率。

在苹果,ChrisLattner和其他人开发了Swift,它是一种多范式、通用、可编译的编程语言,为Objective-C提供了一种替代方案。Swift的第一个稳定版本于2014年发布。Swift还支持LLVM编译器工具链(也由ChrisLattner开发)。Swift与Objective-C代码库具有良好的互操作性,并且已经成为iOS应用程序开发的主要编程语言。

主要特性:

Swift的一个致命优点是它的语言设计。它使用更简单、简洁和干净的语法,为Objective-C提供了一个更高效的替代方案。

Swift还提供了现代程序语言的特性:null安全性。

Swift是一种编译语言,它和C++一样快。

Swift支持LLVM编译器工具链。因此,我们可以在服务器端甚至浏览器编程(使用WebAssembly)中使用Swift。

Swift提供自动参考计数(ARC)支持,这样可以限制内存管理不当。

受欢迎程度:

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

在TIOBE的编程语言排行榜中,Swift在2019年已升至第10位。考虑到这门语言才5岁,这是一个相当了不起的成就:

图片来源:TIOBEIndex

Googletrends还显示,Swift的受欢迎程度先急剧上升,随后在最后几次饱和中趋势略有下降:

图片来源:GoogleTrends

主要用例:

iOS应用程序开发

系统编程

客户端开发(通过WebAssembly)

主要竞争语言:

Objective-C

Rust

Go

Dart

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的流行程度。

受欢迎程度:

根据GithubOctoverse,Dart是2019年增长最快的编程语言,去年它的受欢迎程度翻了五倍:

根据TIOBE,Dart居于第23位,仅仅4年时间,它已经超越了其它很多编程语言:

图片来源:TIOBEindex

它也是StackOverflow开发者调查中排名第12位的最受欢迎的编程语言之一:

图片来源:StackOverflow

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

图片来源:GoogleTrends

主要用例:

应用程序开发

前端开发

主要竞争语言:

JavaScript

TypeScript

Julia

前面列出的编程语言都是由大公司开发的,但Julia不是。在技术计算中,通常使用Python、Matlab等动态语言。这些语言提供易于使用的语法,但不适合大规模的技术计算,他们使用C/C++库来处理CPU密集型任务。由于代码是在两种语言之间转换的,因此总会有一些性能损失。

为了解决这个问题,麻省理工学院的一组研究人员计划从头开始创建一种新的语言,它利用了现代硬件的优势,并结合了其他语言的最佳部分。他们在麻省理工学院创新实验室完成这项工作,还发表了以下宣言:

资料来源:JuliaPresentation

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

特性:

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

Julia是一种可选类型的动态编程语言。因此,Julia很容易学习,而且效率很高。

它以多分派编程范式为核心。

它内置了对并发、并行和分布式计算的支持。

它还为I/O密集型任务提供异步I/O。

它速度非常快,可以用于需要数百万线程的科学计算。

受欢迎程度:

在许多领域,Julia主要与Python竞争。由于Python是最流行的编程语言之一,Julia成为主流还需要几年时间。

Julia相对年轻(只有一岁),但在TIOBEindex中仍排在第43位:

图片来源:TIOBE

GoogleTrends也显示出过去的时间里,程序员对Julia的稳定兴趣。

但考虑到Julia背后的功能集和公司数量,如NSF、DARPA、NASA、Intel,Julia何时取得突破只是个时间问题。

主要用例:

科学计算

高性能计算

数据科学

可视化

主要竞争语言:

Python

Matlab

via:https://towardsdatascience.com/top-7-modern-programming-language-to-learn-now-156863bd1eec

雷锋网雷锋网雷锋网

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平