为什么说go和rust不是竞争者 -买球官网平台

2顶
0踩

为什么说go和rust不是竞争者

2015-07-08 14:44 by 副主编 mengyidan1988 评论(2) 有5769人浏览
这篇短文解释了,为什么我认为 go 和 rust 并不是竞争对手。英文原文:译文来自。

为什么人们认为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关注程序员的编码效率,可以从看出。rust作为llvm的顶层代码,存在很多类似的做法。


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

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

发表评论

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

相关推荐

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

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

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

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

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

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

  • 本次cka培训课程,通过线下授课、考题解读、模拟演练等方式,帮助学员快速掌握kubernetes的理论知识和专业技能,并针对考试做特别强化训练,让学员能从容面对cka认证考试,使学员既能...

  • 点击上方蓝色“火丁笔记”关注买球官网平台,设个星标,每天学习全栈知识最近这几年,go、rust收到越来越多的关注,特别是 go,在国内挺受欢迎的,很多大公司都采用它。而 rust,作为系统编程...

  • 本文翻译自乔纳森·特纳(jonathan turner)和史蒂夫·弗朗西亚(steve francia)的文章《rust vs. go: why they’re better togeth...

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

  • 本文对java、go和rust之间的对比并非完全是基准测试,更多的是比较输出的可执行文件大小、内存使用情况、cpu使用率、运行时要求,当然会有一个小基准测试用于获取rps数据,使得更容易理解这些数值。 为了尝试更...

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

  • 文章目录rust 所有权和使用所有权栈和堆所有权原则变量绑定背后的数据交互函数传值与...不同于 go 语言的 gc,rust 使用第三种 所有权系统,只在编译时检查,不在运行期检查,不会有性能损失。 栈和堆 栈和堆都是为了给

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

  • 2为什么选择 rust? 2018 年初,kraken 已经有了用 go 和 c 编写的生产服务。尽管 rust 提供了出色的性能、安全性和现代语言结构,但将其作为重写核心服务的语言选项还是一种赌注。 kraken 非常注重安全性。因此...

  • why rust在进行正式的分享之前,先来说一说为什么,要学习 rust 这一门在广义上归属于后端的语言,以及它能带给我们什么,未来有什么前景。与javascript部分相似的语法,就入门...

  • 然而对于it从业者来说,这可不是一个玩笑。几乎每一次的技术发展,都让这个生态变得更为复杂。“英年早秃”已经成为一种很普遍的现象。 rust是近两年呼声比较高的一种新型开发语言。市场占有量并不大,但增长速度...

global site tag (gtag.js) - google analytics