为什么说 Go 和 Rust 不是竞争者

开发 开发工具
Go主要抢占2006年以来的互联网2.0公司市场,它们大量采用(outgrown)Ruby, Python, 和Node.js (v8) 语言,没有耐心使用部署代价<>高昂的基于JVM语言。

 

这篇短文解释了,为什么我认为 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 是竞争关系。放眼看去,确实很难找到他们的其它联系,他们出现得太偶然了。

 

一曲

 

一曲
翻译于 1周前

2人顶

 

 翻译的不错哦!

[[139946]]

为什么我认为 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 的顶层代码,存在很多类似的做法。

 

Finlay

 

Finlay
翻译于 1周前

1人顶

 

 翻译的不错哦!

 

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语言。

英文原文:Why Go and Rust are not competitors

 

 

 

 

 
责任编辑:王雪燕 来源: 开源中国社区
相关推荐

2010-03-16 10:12:38

Windows Azu

2011-05-20 11:10:53

TouchPad惠普

2024-08-19 13:21:14

2023-03-01 13:54:46

技术AI

2011-08-17 09:46:18

微软苹果Linux

2023-01-03 08:07:33

Go字符串指针

2023-03-10 08:48:29

2015-11-17 10:00:50

DGORust

2015-11-17 08:54:42

语言gorust

2012-09-11 09:47:31

2009-04-22 09:03:07

腾讯手机浏览器

2020-09-25 08:10:55

Rust系统编程

2009-06-02 18:34:45

VMwareHyper-VVI3

2023-03-28 07:26:37

2017-01-18 09:42:11

Go

2022-11-11 08:16:51

2014-12-08 09:47:48

Go

2023-04-03 11:21:29

PythonGoRust

2021-02-24 07:42:34

PythonRust语言

2009-05-31 09:32:51

时代华纳备忘录AOL
点赞
收藏

51CTO技术栈公众号