---
title: Rust 之所以适合区块链，是因为它刚好卡在这个领域的约束点上
date: '2019-09-20 08:54:51'
draft: false
summary: 区块链系统同时要求性能、资源控制、并发安全和长期维护，Rust 恰好在这些约束之间给出了一种相对平衡的答案。
slug: why-rust-fits-blockchain
syndication:
- platform: Weibo
  url: https://weibo.com/1648815335/I7LO6pfJh
tags:
- rust
- blockchain
- programming-language
topics:
- blockchain
type: post
---

那天参加一个圆桌讨论，其中有一个问题是为什么 Rust 在#区块链#领域这么受欢迎？

Rust 现在也是我自己的一种主力编程语言，我个人本身没有太大的语言偏好，所以不想把这个话题变成什么语言是最好的语言这样一种争论。

这些年发展起来的众多编程语言，基本都是在两种需求之间平衡，一种是追求开发效率和灵活性，比如增加垃圾回收，把编程语言的检查和约束尽量后置，提供运行时的高级特征，追求快速变更上线。另外一种是追求执行效率和稳定，把检查条件尽量前置，把问题消灭在开发编译阶段，减少变更。而 Rust 追求的是后者，Go 和 Java 比较中和，Python/Javascript/Ruby 等追求的是前者。

再看看区块链的特点，区块链的去中心化特征，导致要上线一个 feature，基本上要以年计，更没有办法实现紧急变更啥的，相对来说编译开发的效率都不是事情，所以后一种追求的语言会更有优势一些。

另外一种语言有一种语言的生态，就像同类型的店铺扎堆在一个街上开一样，你也很难说啥原因或者有人规划，莫名其妙某个街就成了装修街，眼镜街等。同类项目扎堆用同一种语言会降低开发成本，结果就是用这种语言开发的某种项目越来越多，相对其他语言形成了生态优势。
