Erlang在区块链编程中的作用

智能甄选 2019-05-10 08:27:34

随着区块链技术的出现,我们目睹了人们对将未来的分散应用变为现实的兴趣。区块链平台开发中使用的一些最着名的编程语言是面向对象的语言。到目前为止,C ++,Python和专用的Solidity等语言已经占据了区块链场景的主导地位。

在构建Dapps时,函数式编程语言正迅速成为开发人员的首选,因为它们在很大程度上影响了可以做和不能做的事情,并且具有帮助它们展现出重要比较优势的独特功能。

在下面的文章中,我们将讨论为什么函数式编程语言 - 特别是Erlang - 使其特别适合于分布式总账协议和智能合约的开发。

为什么选择功能编程语言?

函数式编程语言在某些领域做出了某些优于其他语言的权衡。Erlang特别适合为多用途计算系统构建强大的后端 - 实际上,90%的Internet流量目前通过Erlang运行的节点进行路由。该语言适用于可扩展性,高可用性和实时响应。

有效的区块链系统需要在保持分散的同时实现规模 - 传统上,这已经证明是困难的,因为可扩展性通常以少数选择方处理信息并以“中心和辐射”形式将其提供给卫星节点为代价。对于区块链生态系统中的点对点网络,每个节点能够处理与其对等体相同的功能至关重要。

Erlang通过固有的容错显着降低了这种负担 - 即,即使在某些操作失败的情况下,它也允许进程继续运行,从而大大增加了整个系统的正常运行时间(代码是可热插拔的,意味着'直播' '更新可以在运行时推送到操作)。强大的模式匹配功能和内置功能允许精心设计和执行简洁紧凑的逻辑,并且由于函数式编程中的变量不可变,因此更容易预测和减轻错误。

当然,熟悉语言同样需要吸引开发人员在系统之上构建 - Erlang支持与Rust,C和C ++等接口。

建设效率

Erlang引入的功能应该从一开始就吸引区块链开发人员。功能编程语言的优势在分布式系统中发挥作用,其中数百(或数千)台不同的机器需要不断地在它们之间传递信息。虽然像Python或Java这样的面向对象语言利用数据结构(“对象”)来聚合数据和行为,但为了清晰起见,功能语言将这些语言分开。此外,OOP语言中的数据往往是可变的,而功能性数据则不然。

Erlang被认为是一种优秀的语言,特别是在开发需要的后端系统时:

大量的并发活动

实时响应

不间断运行和容错

区块链空间中的函数式编程语言正在成为强大协议和智能合约脚本的首选工具(Cardano和Tezos都选择了这种方法)。许多有前途的团队已经在努力用功能编程语言创建区块链,无论是通过部署现有语言还是根据广泛采用的原则设计新区块链。

0 阅读:22
智能甄选

智能甄选

技术交流、资源共享,是程序员的网上乐园。