• <option id="cacee"><noscript id="cacee"></noscript></option>
  • <table id="cacee"><noscript id="cacee"></noscript></table>
  • <td id="cacee"></td>
  • <option id="cacee"></option>
  • <table id="cacee"></table>
  • <option id="cacee"><option id="cacee"></option></option>
  • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
    <option id="cacee"><option id="cacee"></option></option>
     找回密碼
     立即注冊

    掃一掃,登錄網站

    首頁 區塊鏈生態 查看內容
    • 2526
    • 0
    • 分享到

    Erlang語言在區塊鏈編程中的扮演什么角色

    2019-4-26 22:18

    來源: 頭等倉 作者: AE創始人

    隨著區塊鏈技術的出現,我們見證了越來越多人開始對去中心化應用感興趣。區塊鏈平臺開發中常用的編程語言是面向對象語言。到目前為止,C ++,Python和專用的Solidity等語言在區塊鏈技術中占主流。

    在構建Dapps時,函數式編程語言迅速獲得開發人員的青睞,因為該類語言在很大程度上影響項目功能,并且能夠使項目具有重要的相對優勢。

    以下內容中,我們將討論為什么函數式編程語言,尤其是Erlang,一種特別適用于開發分布式賬本協議和智能合約的編程語言。

    為什么選擇函數式編程語言?

    函數式編程語言在某些領域的權衡優于其他編程語言。Erlang特別適用于構建強大的后端或是構建多用途計算系統——實際上,90%的互聯網流量目前通過Erlang運行節點進行路由。該語言具有可擴展性,高可用性和可以實時響應。

    有效的區塊鏈系統需要在保持去中心化的同時實現擴大規模——過去非常困難。傳統上要實現可擴展性,就必須以少數特定方處理信息和以“輪輻式(hub and spoke)”傳輸給衛星節點為代價。在區塊鏈生態系統中的點對點網絡中,每個節點要與他節點具有同樣的處理功能。

    Erlang具有固有容錯,大大減輕了處理負擔——即使在某些操作失敗的情況下,也允許進程繼續運行,從而大大增加了整個系統正常運行時間(代碼可熱轉換,意味著在運行時可以實時更新操作)。強大的模式匹配功能和內置功能確保可以構建和執行簡潔緊湊的邏輯,并且由于函數式編程中的變量不可變,因此更容易預測和減少錯誤。

    當然,語言熟悉度同樣是開發人員選擇一個語言在系統上構建區塊鏈的原因之一——Erlang支持與Rust,C和C ++等編程語言接口。

    Erlang語言的優勢:構建效率

    從一開始,區塊鏈開發人員就對Erlang引入的功能非常感興趣。函數式編程語言的優勢在分布式系統中非常明顯。在分布式系統中,數百上千臺不同的機器需要不斷地傳遞信息。Python或Java等面向對象語言利用數據結構(“對象”)來聚合數據和行為,但為了實現清晰度,函數式語言將這些數據結構(“對象”)分開。此外,OOP語言中的數據通常是可變的,而函數式語言中的數據不可變。

    Erlang是一種優秀的編程語言。在開發后端系統時,特別需要:大量并發執行的活動、實時響應、不間斷運行和容錯。

    區塊鏈的函數式編程語言正成為強大協議和智能合約腳本的首選工具(Cardano和Tezos都選擇了這種語言)。許多好的團隊用函數式編程語言創建區塊鏈。有些團隊是部署現有區塊鏈,有些則是根據廣泛采用的原則設計新的區塊鏈。
    版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。
    標簽: Erlang語言
    相關新聞
    發表評論

    請先 注冊/登錄 后參與評論

      回頂部
    • <option id="cacee"><noscript id="cacee"></noscript></option>
    • <table id="cacee"><noscript id="cacee"></noscript></table>
    • <td id="cacee"></td>
    • <option id="cacee"></option>
    • <table id="cacee"></table>
    • <option id="cacee"><option id="cacee"></option></option>
    • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
      <option id="cacee"><option id="cacee"></option></option>
      妖精视频