阅读更多

2顶
0踩

编程语言

转载新闻 为什么说Go和Rust不是竞争者

2015-07-08 14:44 by 副主编 mengyidan1988 评论(2) 有5959人浏览
这篇短文解释了,为什么我认为 Go 和 Rust 并不是竞争对手。英文原文:Why Go and Rust are not competitors译文来自开源中国

为什么人们认为Go和Rust是竞争关系
在解释为什么我认为 Go 和 Rust 不是竞争对手前,我想说明一下为什么这个问题会被提起。
  • Rust 和 Go 发布的时间相近。Go 从 2007 年开始构思,2009 年十一月对外公开。Rust 发布于2010 年,只晚了几个月,尽管 Graydon(格雷顿)声明 Rust 可能是更早就开始构思了。无论怎样,这两个语言都有着前辈的贵族血统。对于 Go 来说,有 Hoare(霍尔)的 CSP,Alef 和Pike(派克)的 Newsqueak,而 Rust 则是 ML 家族的语言之一。
  • Rust 和 Go 都是被誉为内存安全的。虽然这个说法没错,这两种语言都不允许不安全的内存访问,更重要的是,世界已经不能容忍一个不是内存安全的新语言了。事实是 Go 和 Rust 这两种语言,经过数十年的证据表明,现实世界中,程序员们普遍是不能安全手动管理内存的。
  • 同样是年轻的语言,Go 的 1.0 版本发布于 2012 年,而 Rust 的 1.0 版本是今年(2015)早些时候,这意味着他们都雄心勃勃和有上进心,想要占领现任编程语言的市场。

这些迹象都可以说明为什么我们看的 Rust 和 Go 是竞争关系。放眼看去,确实很难找到他们的其它联系,他们出现得太偶然了。

为什么我认为Rust与Go不是竞争对手
综上,我认为 Go 与 Rust 之间不为竞争关系有以下原因:
  • Rust关注 “free of charge”的抽象。如果你对这很熟悉,说明你已经使用 C++ 很多年了。Go 为了保证语言的简洁性和正交性,将很多底层的操作推迟到运行时来进行。
  • Rust是专门为与C语言 的互操作而进行设计的;Rust代码一般位于被 C语言 调用的其他大型程序中。Go通过cgo来进行语言之间的交互,但这并不是Go被设计的首要原因。
  • Go将并发作为首先的关注目标。并不是说在Rust里面没有类似Go的并发框架,但Rust将这部分留给了程序员。
  • Go关注程序员的编码效率,可以从across the whole software development lifecycle看出。Rust作为LLVM的顶层代码,存在很多类似的做法。


Rust和Go不是竞争者
Go 着重于提高大团队开发者工作效率,遵循严格应用简洁化原则(rigid application of simplicity)—拒绝复杂化和歧义化的观点。
Rust则面向无法容忍不安全内存访问或运行时开销的程序员(Go也不能容忍,我想没有人愿意学习一门新的不安全的编程语言)  —哪些不安全的,或带来(额外)开销的想法会被拒绝,至少要排除在核心语言之外。
Rust竞争对象是C++ and D编程语言,这类语言的程序员容易接受更复杂的语法和语义(可能还有更高的可读性代价-注,应该是更难于读懂代码的意思) 以换取最高性能。 例如,单片机,AAA游戏引擎, 和web渲染引擎(等应用领域)。
Go主要抢占2006年以来的互联网2.0公司市场,它们大量采用(outgrown)Ruby, Python, 和Node.js (v8) 语言,没有耐心使用部署代价<>高昂的基于JVM语言。

译文来自:开源中国
来自: 开源中国
2
0
评论 共 2 条 请登录后发表评论
2 楼 aftereclipse 2015-07-09 22:18
一般公司玩docker的太少了。
1 楼 dsjt 2015-07-09 10:06
伴随着docker的火爆,go语言势头会不会有所提升?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 为什么说Go和Rust不是竞争者(讨论)

    《Why Go and Rust are not competitors》这篇文章解释了为什么Go和Rust不是竞争者。这里对作者的观点进行简单摘选,供大家参考。人们为什么会认为“Go和Rust是一对竞争者”作者在文中先说了为什么人们会认为“Go和...

  • Rust vs. Go:为什么他们在一起更好

    虽然很多人可能认为 Rust 和 Go 是竞争激烈的编程语言,但 Rust 和 Go 团队都不这么认为。恰恰相反,我们的团队非常尊重其他人正在做的事情,并将这些语言视为对整个软件开发行业现代化共同愿景的补充。

  • GO和RUST的使用领域和学习价值

    Go语言也具备很好的编译速度和可移植性,适用于构建高性能、可扩展和可靠的服务器端应用程序。有关学习价值,Go和Rust都是现代编程语言,具有很好的就业前景和发展潜力。此外,它们都有活跃的社区支持和丰富的学习...

  • Go与Rust的对比与分析

    相反,Go和Rust虽然都具有函数式和面向对象的编程功能,但它们始终强调一种务实的导向——即以最合适的...这是有道理的,因为如果 Rust 和 Go 都以基本相似的方式解决基本相同的问题,为什么我们需要两种不同的语言?

  • 2024年,Rust和Go学哪个更好?

    这两种语言,GoLang和Rust,由于它们非常相近的起源时间,被认为是彼此的竞争对手。Go的发展速度比Rust快。这两种语言有很多相似之处。GoLang和Rust之间的区别在于Go是简单的,而Rust是复杂的。然而,它们的功能和...

  • Golang vs Rust 为后端选择哪种语言?

    另一方面,Rust 是一种静态、强类型和 AOT 编译的语言。Rust 是一种多范式、高级和通用语言。(Go由于有垃圾回收机制,在运行时性能会受到GC影响,而Rust则无)让我们根据各种参数评估这两种语言。

  • 为什么我说Rust是靠谱的编程语言

    序言:本文试图帮您解答“我要不要(投入大量时间和精力)学习Rust语言?”这个问题。作者尽量较少的谈及Rust语言本身,反而尝试从Rust语言周边入手,长时间、大范围、多角度地考察,研判Rust语言是否靠谱,并给出尽...

  • Rust 与 Golang - 何时使用它们?

    在过去的十年中,Rust 和 Go 两种新的编程语言主要为企业开发而开发和出现。Go 于 2009 年由世界知名的 Google 创建,其次是 Rust,后者于 2010 年由 Mozilla 创建。 尽管这两种编程语言可能看起来很相似,因为它们...

  • Golang vs Rust ——服务端编程应该选择哪种语言

    同时,如果你被微服务开发或用 Golang 构建服务端程序所困扰,你应该从 Golang.Company 雇佣 Go 开发者[1],他们会协助你完成各个环节,并为你建立一个可扩展的、强大的应用程序。Golang 是在 2009 年出现的,而 ...

  • Rust + GO 大战 C/CPP + JAVA

    对于很多初学者,最爱的问题,主攻哪一门编程语言,编程语言的选择,确实和行业有一定关系,因为每种语言都有自己适合的领域, 今天我们就来看一看前浪和后浪之间的较量,因为前浪和后浪在一些领域是有重叠,有重叠就...

  • rust go对比选择

    Rust和Go似乎都是系统编程语言,都编译为机器码,并且都提供了出色的性能。那么,您如何决定哪种语言适合您的需要呢? Rust Rust于2010年上市,尽管它的构思可能要早得多。Rust通常被视为ML语言家族的一个扩展。...

  • python go rust_rust ,go 对比选择

    Rust和Go似乎都是系统编程语言,都编译为机器码,并且都提供了出色的性能。那么,您如何决定哪种语言适合您的需要呢?RustRust于2010年上市,尽管它的构思可能要早得多。Rust通常被视为ML语言家族的一个扩展。Mozilla...

  • Golang vs Rust--后台服务端编程应该选择哪种语言

    Go 是一种静态类型的AOT编译语言,Rust 是一种静态的、强类型的和AOT编译的语言,是一种多范式、高级和通用语言,两种编程语言都是比较优秀现代语言,可以挑战一下上一代的编程语言。可以参考:Rust + GO 大战 C/CPP...

  • 选择“网红语言”值不值?使用Go和Rust的数据库公司七年经验总结

    ”即便是在此时此刻创业的公司,公司的产品决定全部采用 Go 和 Rust 也是非常艰难的决定,更何况是七年前2015 到 2016 年,Go 不到五岁,Rust 还没发布 v1.0 版本,没有太多公司和开发者看好这两种语言,怎么会有...

  • python go rust_对比了Python、Go和Rust之后,他得出了这个结论

    本文主要是从 Python 开发者的角度基于开发工效学对这三种语言进行的一个比较,你可以跳过讨论部分,直接查看代码示例、性能比较(如果你想要一些硬数据)、主要结论或 Python 、 Go 和 Rust 的 diffimg 实现。...

  • Rust vs. Go:为什么强强联合会更好

    本文翻译自乔纳森·特纳(Jonathan Turner)和史蒂夫·弗朗西亚(Steve Francia)的文章《Rust vs. Go: Why They’re Better Togeth...

  • 为什么说python是计算机语言的未来_Python这么火,为什么说它不是未来的编程语言?...

    本文转载自公众号“读芯术”(ID:AI_...自2010年年初以来,Python一直在蓬勃发展——在流行趋势方面,它最终超过了C、C#、Java和Javascript,成为计算机语言中的“大热门”。它为人们提供了优质的服务——但...

  • C++和Rust_连续 3 年最受欢迎:Rust,香!

    鱼和熊掌往往不可兼得,要想开发效率高,必然要牺牲性能和资源消耗,反之亦然。但是Rust却出其不意,令人眼前一亮!本文将从性能、内存安全、开发效率、跨平台性及生态等五个方面,对Rust这一编程语言进行一些科普...

  • Rust vs Go,到底该怎么选?

    40 多年编程经验的知名 Go 开发者与作家 John Arundel 在其个人博客分享了《Rust vs Go in 2023》一文,该文章非常中肯地指出了这两门语言的优缺点,以及适用场景,对于那些不知道如何选择编程语言的开发者来说,...

  • 毕业设计基于STC12C5A、SIM800C、GPS的汽车防盗报警系统源码.zip

    STC12C5A通过GPS模块获取当前定位信息,如果车辆发生异常震动或车主打来电话(主动请求定位),将通过GSM发送一条定位短信到车主手机,车主点击链接默认打开网页版定位,如果有安装高德地图APP将在APP中打开并展示汽车当前位置 GPS模块可以使用多家的GPS模块,需要注意的是,当前程序对应的是GPS北斗双模芯片,故只解析 GNRMC数据,如果你使用GPS芯片则应改为GPRMC数据即可。 系统在初始化的时候会持续短鸣,每初始化成功一部分后将长鸣一声,如果持续短鸣很久(超过20分钟),建议通过串口助手查看系统输出的调试信息,系统串口默认输出从初始化开始的所有运行状态信息。 不过更建议你使用SIM868模块,集成GPS.GSM.GPRS,使用更加方便

Global site tag (gtag.js) - Google Analytics