8BTCCI: 14250.39 +2.77% 8BTCVI: 6739.96 +2.01% 24H成交额: ¥3252.55亿 +4.42% 总市值: ¥19413.73亿 +1.73%
秃头率最高 ! Rust是最有前途的区块链编程语言?

秃头率最高 ! Rust是最有前途的区块链编程语言?

洒脱喜 发布在 链头条 竞争币 独家 23076

区块链世界的语言有很多种,包括但不限于Javascript、C#、 C++、 Python、 Golang、Solidity、 Java以及Rust,那么究竟哪种语言的市场最大,以及哪种语言最具潜力呢?

 

Python和Java最主流,高薪比例最高为C#、Golang和Rust

 

我们不妨先看看市场的实际需求是怎样的:

p10 p11

(数据来自indeed.com,图片自制)

根据indeed.com提供的数据显示,当前美国市场关于Python语言的区块链职位数为455个,其中年薪超过14万美元的职位有87个(高薪比例为19.12%),主要雇主包括IBM、Capital One、Cisco、Accenture、Amazon.com等。

P4

而关于Java的区块链职位数为469个,其中年薪超过14.07万美元的职位有89个(高薪比例为18.97%),主要雇主包括Amazon.com、Capital One、IBM、Accenture、Cisco等。

p2

而关于Javascript的职位数为364个,其中年薪超过13万美元的职位有78个(高薪比例为21.42%)。主要雇主包括IBM、Accenture、Ripple、block.one、overstock等。

关于Rust的职位数为49个,其中年薪超过14.08万美元的职位有11个(高薪比例为22.44%),主要雇主包括Chronicled、JPMorgan Chase、NEAR、Protocol Labs等。

p7

各编程语言PK:Solidity、Python最易学,Rust难度最高

 

对于‘哪种语言最难学’这个问题,每个人都有自己的想法,衡量的标准也不太一样,那如果按开发者头发浓密度的标准来看,那么我们可初步地排个名:Solidity < Python < Javascript < Java / C# < C++ < Go < Rust

(注:开个玩笑,这个排名参考了区块链开发者Radoslaw Fabisiak的说法)

cb

(图片:Coinbase CEO)

总的来说,Solidity是一种静态类型语言,对于掌握javascript语言的人来说,Solidity是很容易学的,但其缺点也非常明显,即Solidity并不是一种通用语言(基本只适用于以太坊生态系统),而且使用这种语言,犯错误也是很容易的,因此其需要开发者非常详细地测试自己的代码。

相比之下,Python是一种流行的动态类型编程语言,Python支持面向对象和函数式编程,这种语言的受欢迎程度是显而易见的,其优点是易学,也有很多预设计的库和框架可用,并且它也是快的,而其缺点是: (1)主要用作服务器语言; (2)没有那么智能;

而Rust,其语法类似于C++,它的优势在于它是一种强类型语言(适用于大规模系统开发),并且是具有安全导向的,此外其效率与C++一样快。

而其存在的缺点便是:(1)非常难学,(2)处于发展初期,因此比较小众,所以社区相对其他语言而言(比如javascript)是相对较小的,相关完成的库也较少,因此开发者可能不得不从头写很多问题。

好了,我们简单地了解了下上面三种语言,那问题来了,究竟哪种语言更适合区块链开发?

如果我是项目方,为了安全考虑,那么我可能会偏向于选择Rust,但这也意味着开发经费会加速燃烧。

例如Parity Technologies的Dmitriy Kashitsyn这样表示:

“使用Rust,是因为它让我们可以毫无畏惧地编写复杂的、性能卓越的软件,我们可以自由地试验,无论是一个简单的命令行实用程序还是一个多线程的怪物,它都没有什么区别。Rust确保我们的程序没有未定义的行为、数据争用或任何内存安全问题。更不用说,Rust速度极快,写起来很有趣,易于阅读,基本上运行时间为零。”
而如果我是一名区块链开发者,那么为了拿到更好的报酬,那我也可能会偏向于选择Rust,但这也意味着自己要花很多精力去掌握这门编程语言。

比如开发者Brenden Matthews在他的文章中写道:

“最近,我用Rust编写了一些小程序,在读完一半的《Programming Rust》之后,我还是对Rust不太了解。我认为了解该语言的一个好方法是解决《Cracking the Coding Interview》一书中的189个问题。”
当然,选择另一项主流语言,也是非常必要的,就比如Python。

 

选择Rust的区块链项目有哪些?

 

截至目前来看,第一个选用Rust语言的区块链项目,似乎是MaidSafe,此后这启发了大名鼎鼎的Gavin Wood,后者就选用这一语言编写了Parity客户端(长期霸占以太坊客户端NO.1位置),从那以后,Rust语言才被区块链社区所熟知,而除了Parity客户端,Gavin Wood的polkadot/substrate也是使用了Rust语言进行的开发。

另外,备受关注的隐私币炸子鸡Grin也采用了Rust语言。

而国内的Nervos项目也同样是采用了这一语言。

而通过上面的图片,我们还可以看到,Filecoin(Protocol Labs)、eos(Block.one)、Dfinity等多个主流公链项目都在考虑使用Rust语言。

笔者认为,区块链世界的秃头率将会越来越高,你做好准备了吗。

 

参考文献:

1、Which programming language is the best to be a blockchain developer

2、why-rust :https://medium.com/paritytech/why-rust-846fd3320d3f

3、Programming in Rust: the good, the bad, the ugly

4、Rust今天4岁啦, 为什么越来越多的知名项目用Rust来开发

评论(5)
登录 账号发表你的看法,还没有账号?立即免费 注册
  • 朗豫-fred 2019-07-29
    rust 除了区块链市场太小了。 golang因为有k8s,docker加持, 未来开发人员会非常多。
  • TimYang 2019-07-29
    “对于哪种语言最难学这个问题,每个人都有自己的想法,衡量的标准也不太一样,那如果按开发者头发浓密度的标准来看,那么我们可初步地排个名:Solidity &lt; Python &lt; Javascript &lt; Java / C# &lt; C++ &lt; Go &lt; Rust ” [doge]
  • Niklaus-Tseng 2019-07-29
    哈哈哈哈,是我大Rust了[冬兵]
  • 唬说八導丶 2019-07-29
    居然没有PHP
  • 比特蔡 2019-07-29
    我大日链的Rholang必将一同江湖