當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 區(qū)塊鏈技術(shù)由于其安全、快速以及去中心化的特性(雖然不是所有項(xiàng)目都滿足這些特性,但是大多數(shù)項(xiàng)目是符合的)已經(jīng)迅速滲透到了各種業(yè)務(wù)場景、我們的生活以及身邊的企業(yè)中。 數(shù)以千計(jì)的區(qū)塊鏈項(xiàng)目正在

區(qū)塊鏈技術(shù)由于其安全、快速以及去中心化的特性(雖然不是所有項(xiàng)目都滿足這些特性,但是大多數(shù)項(xiàng)目是符合的)已經(jīng)迅速滲透到了各種業(yè)務(wù)場景、我們的生活以及身邊的企業(yè)中。

數(shù)以千計(jì)的區(qū)塊鏈項(xiàng)目正在開發(fā),或者已經(jīng)開發(fā)完成并且部署到了網(wǎng)絡(luò)中。各個(gè)企業(yè)都在尋求區(qū)塊鏈的新點(diǎn)子或者試圖去改進(jìn)其他公司正瘋狂創(chuàng)造的東西,然而這僅僅是區(qū)塊鏈技術(shù)驅(qū)動(dòng)這個(gè)世界的開始。

作為開發(fā)者來說,在區(qū)塊鏈行業(yè)找到一個(gè)薪水高、待遇好的工作是讓人夢寐以求的。因此,這就引出了一個(gè)很重要的問題:

哪種編程語言最適合區(qū)塊鏈?

在區(qū)塊鏈開發(fā)圈子里,我們找到了一些流行的編程語言,有 JavaScript、C#C++、Python、Golang、Solidity、Java 和 Rust。

接下來我會(huì)簡短介紹一下這些編程語言,它們都有哪些優(yōu)缺點(diǎn),上手難度以及哪些區(qū)塊鏈項(xiàng)目在應(yīng)用這些語言。

1. JavaScript

JavaScript 是一門解釋型高級(jí)編程語言。

JavaScript 是基于原型編程的動(dòng)態(tài)弱類型語言,是出眾的 Web 技術(shù)之一。

JavaScript 在近些年非常流行,像 Angular、React、Vue、Node.js 這些流行的開發(fā)框架都是基于 JavaScript 的。

優(yōu)點(diǎn)

面向?qū)ο?/p>

原型編程設(shè)計(jì)

支持函數(shù)式編程

非常流行,幾乎所有 IT 公司都需要 JavaScript 框架

缺點(diǎn)

動(dòng)態(tài)語言

弱類型(但是可以使用 TypeScript 解決這個(gè)問題)

上手難度

JavaScript 屬于一種入門難度比較低的編程語言,我們甚至不需要深入進(jìn)行學(xué)習(xí)就能將其應(yīng)用于生產(chǎn)。

使用 JavaScript 進(jìn)行編程,我們只需要學(xué)習(xí)一下基本知識(shí),當(dāng)有需要的時(shí)候再去深入了解就好。

目前,在網(wǎng)上有非常豐富的課程和教程能夠幫助我們學(xué)習(xí) JavaScript,不僅僅可以學(xué)習(xí) JavaScript 這門語言,還可以學(xué)習(xí)很多流行的開發(fā)框架。

區(qū)塊鏈應(yīng)用

最著名的應(yīng)用是 web3.js 和 ethereum.js 這兩個(gè) JavaScript 庫,他們能夠幫助開發(fā)者在前端應(yīng)用中和以太坊網(wǎng)絡(luò)以及智能合約進(jìn)行交互。

開發(fā)者用到的比較多的另外一個(gè) JavaScript 庫是基于 node.js 的 Hyperledger Fabric SDK。Hyperledger Fabric SDK 在大公司和企業(yè)中應(yīng)用比較廣泛。

JavaScript 另外一個(gè)在區(qū)塊鏈智能合約方面的應(yīng)用場景是 NEO。NEO 是一個(gè)高效的區(qū)塊鏈公鏈,能夠每秒處理數(shù)以千計(jì)的交易。

另一個(gè)使用也比較頻繁但是不那么著名的 JavaScript 應(yīng)用是閃電應(yīng)用,它是構(gòu)建于比特幣網(wǎng)絡(luò)上的快速支付通道。還有一個(gè)我想提的是 Raiden 網(wǎng)絡(luò),它是構(gòu)建于以太坊網(wǎng)絡(luò)之上的高速基礎(chǔ)架構(gòu)設(shè)施。

2.C-Sharp

C# 是一門 20 世紀(jì) 90 年代末創(chuàng)造出來的高級(jí)面向?qū)ο缶幾g型編程語言,20 世紀(jì)初為 Microsoft 所開發(fā)。

它是一門非常類似于 C++ 或者 Java 的編程語言,采用了類集合和繼承。

優(yōu)點(diǎn)

支持 .NET

比較易于上手

流行度高

面向?qū)ο?/p>

強(qiáng)類型語言

動(dòng)態(tài)代碼支持

缺點(diǎn)

欠缺 Linux 系統(tǒng)支持

面向 Windows 開發(fā)者

上手難度

對(duì)于我來說,C# 由于其語法和強(qiáng)類型,不像 JavaScript 那么簡單易學(xué),但是也不像 Go 語言學(xué)起來那樣困難和復(fù)雜。

除此之外,也有比較豐富的學(xué)習(xí)資源和材料使得這門編程語言比較易于學(xué)習(xí)。

應(yīng)用場景

C# 在許多區(qū)塊鏈項(xiàng)目中都有應(yīng)用,其中最著名的是 NEO 公鏈,它號(hào)稱中國版的以太坊。

NEO 是一個(gè)高效的區(qū)塊鏈平臺(tái),每秒可處理的交易數(shù)量可達(dá)數(shù)千條。

另外一個(gè)流行的使用 C# 的區(qū)塊鏈項(xiàng)目是 IOTA,它面向的場景是物聯(lián)網(wǎng),它是一個(gè)具有高拓展性以及 0 交易手續(xù)費(fèi)的公鏈項(xiàng)目。

3. C++

C++ 是一門強(qiáng)類型的、高效的、面向?qū)ο蟮木幾g型語言。

重要的是,C++ 是一門非常高效并且能夠?qū)τ布M(jìn)行訪問的語言。

有趣的是,C++ 是在上世紀(jì) 70 年代~80 年代發(fā)明出來的,當(dāng)時(shí)是作為 C 語言的擴(kuò)展。

優(yōu)點(diǎn)

獨(dú)立和多平臺(tái)

運(yùn)行高速

和 C 語言類似

強(qiáng)靜態(tài)類型

缺點(diǎn)

代碼冗余程度高

不易學(xué)習(xí)

調(diào)試復(fù)雜

不支持垃圾回收機(jī)制

上手難度

由于 C++ 比 C 語言要更復(fù)雜,所以學(xué)起來也更困難。

對(duì)于初學(xué)者來說,C++ 確實(shí)是一門不那么易于學(xué)習(xí)的編程語言。

應(yīng)用場景

C++ 在許多著名的區(qū)塊鏈加密貨幣以及重要的區(qū)塊鏈項(xiàng)目中得以應(yīng)用:

比特幣(最著名的加密貨幣)

瑞波幣(中心化高速加密貨幣)

比特幣現(xiàn)金(加密貨幣)

萊特幣(加密貨幣)

門羅幣(匿名加密貨幣)

EOS(高速區(qū)塊鏈網(wǎng)絡(luò),其中的系統(tǒng)加密貨幣也叫做 EOS)

Stellar(支付網(wǎng)絡(luò),其中一位創(chuàng)始人是 eDonkey 的創(chuàng)始人之一)

QTUM(某種意義上來說,它是以太坊技術(shù)和比特幣技術(shù)的結(jié)合)

Cpp-ethereum(C++ 實(shí)現(xiàn)的以太坊客戶端)

4. Python

Python 是一門流行的動(dòng)態(tài)類型的高級(jí)編程語言。

Python 也支持面向?qū)ο缶幊桃约昂瘮?shù)式編程。

這門編程語言比起以前更加流行了,在機(jī)器學(xué)習(xí)以及人工智能方面的開發(fā)中表現(xiàn)非常出眾。

許多 IT 巨頭使用 Python 開發(fā)了許多智能工具和框架(比如 dialogflow 以及 TemsorFlow)。

在開發(fā)聊天機(jī)器人時(shí),Python 也是一門被選用比較廣泛的語言。

優(yōu)點(diǎn)

非常易于學(xué)習(xí)

有很多現(xiàn)成的庫和框架,比如 Django 或 Tensorflow

缺點(diǎn)

通常被用于服務(wù)端

上下文環(huán)境不那么智能

各種類庫的文檔并不足夠完善

上手難度

Python 非常流行并且經(jīng)常被選為第一門用于入門的編程語言。

互聯(lián)網(wǎng)上有非常豐富的教程和課程,使得 Python 這門語言非常易于學(xué)習(xí)。

應(yīng)用場景

Python 在許多優(yōu)秀的區(qū)塊鏈項(xiàng)目中得到應(yīng)用,比如說有使用 Python 實(shí)現(xiàn)的以太坊客戶端。我們也能用 Python 在 NEO 和 Hyperledger 上部署智能合約。

另一個(gè)我想要提到的是:steempython。它是 steemit 的 Python 實(shí)現(xiàn)版本,steemit 是一個(gè)流行的社交媒體、內(nèi)容提供生態(tài)。

5. Golang

Go 是由 Google 員工發(fā)明的一門靜態(tài)類型的編譯語言。

Go 想要做的是將 Python 這種易于開發(fā)的特性和 C++ 這種編譯語言的高效特性結(jié)合起來。

優(yōu)點(diǎn)

內(nèi)存安全

垃圾回收機(jī)制

強(qiáng)類型語言

運(yùn)行速度快

學(xué)會(huì)之后,開發(fā)易于上手

可擴(kuò)展性強(qiáng)

缺點(diǎn)

學(xué)習(xí)起來不那么容易

非常年輕的語言,社區(qū)規(guī)模不大

不像 Python 或者 JavaScript 有眾多庫和開發(fā)包

對(duì)于一些開發(fā)者來說,Go 語言的語法不清晰甚至有些丑陋

上手難度

Go 語言在互聯(lián)網(wǎng)上沒有那么多像 JavaScript 教程這樣多隨處可見的好教程,人們不得不更深入地尋找一些學(xué)習(xí)資料,而且 Go 是一門復(fù)雜的語言,所以大家普遍覺得它是一門難學(xué)的語言。

其實(shí),這個(gè)觀點(diǎn)更多的是來自于 Python/JavaScript 開發(fā)者,因?yàn)?Go 語言和這些語言的差異的確很大。

如果你之前學(xué)習(xí)過 C++ 或者 Java,學(xué)習(xí) Go 語言對(duì)你來說應(yīng)該會(huì)比較輕松。

應(yīng)用場景

和 Golang 相關(guān)的區(qū)塊鏈項(xiàng)目非常之多,我這里只介紹一些最流行的。

Go 語言編寫的最著名的一個(gè)項(xiàng)目是 Go-ethereum,它是一個(gè) Go 語言編寫的以太坊客戶端。

另一個(gè)著名項(xiàng)目 Hyperledger Fabric 項(xiàng)目也是使用 Go 語言來實(shí)現(xiàn)的,Hyperledger Fabric 是一個(gè)可以為大公司提供區(qū)塊鏈解決方案的項(xiàng)目。

Loom Network 也是用 Go 編寫的一條鏈,它目標(biāo)的方向是為去中心化在線游戲提供解決方案。不那么出名的項(xiàng)目還有 Btcd,它是比特幣的 Go 語言實(shí)現(xiàn)版本。還有一個(gè)項(xiàng)目叫做 Gochain,它是一個(gè)用 Go 實(shí)現(xiàn)的與以太坊兼容的區(qū)塊鏈項(xiàng)目。

除此之外,我還想介紹的一個(gè)項(xiàng)目是 Dero,它也是用 Go 實(shí)現(xiàn)的一個(gè)高效的區(qū)塊鏈項(xiàng)目,目標(biāo)是解決智能合約的隱私性問題。

6. Solidity

Solidity 是一門面向智能合約的靜態(tài)類型語言,它是由以太坊開發(fā)者發(fā)明的。

它是為 EVM (以太坊智能合約執(zhí)行虛擬機(jī))而生的,是智能合約開發(fā)的主要編程語言,也是以太坊智能合約的主要編程語言。

優(yōu)點(diǎn)

靜態(tài)類型語言

易于學(xué)習(xí)

使用人群增長迅速

缺點(diǎn)

非常年輕的一門語言

社區(qū)規(guī)模小,能夠得到的支持比較少

不通用(僅用于以太坊生態(tài))

非常脆弱(易被攻擊)

非常容易犯關(guān)鍵性錯(cuò)誤,因此需要反復(fù)對(duì)代碼進(jìn)行全面測試

上手難度

Solidity 不是一門很復(fù)雜的編程語言,而且和 JavaScript 很類似,像是加入了類型特性的 微縮版的 JavaScript(在 JavaScript 項(xiàng)目中使用 TypeScript 來加入類型這一特性也是很常見的)。

因此許多有經(jīng)驗(yàn)的 JavaScript 開發(fā)者能在幾天之內(nèi)就學(xué)會(huì) Solidity,尤其是當(dāng) duomly.com 這樣的網(wǎng)站提供了許多交互式學(xué)習(xí)教程之后,學(xué)習(xí) Solidity 就變的更容易了。

應(yīng)用場景

我們通常使用 Solidity 來開發(fā)以太坊的智能合約。

我沒有看到其他項(xiàng)目有使用 Solidity 的,但是目前以太坊的開發(fā)生態(tài)是一個(gè)很龐大的生態(tài),是區(qū)塊鏈開發(fā)領(lǐng)域中非常重要的組成部分,因此,Solidity 也是區(qū)塊鏈產(chǎn)業(yè)中應(yīng)用最廣泛的編程語言之一。

7. Java

Java 是一門強(qiáng)類型的、基于類的編譯型編程語言,它是由 Sun Microsystems 開發(fā)的。

Java 是面向?qū)ο蟮恼Z言,在大公司之中很流行。

優(yōu)點(diǎn)

跨平臺(tái),不依賴操作系統(tǒng)

強(qiáng)類型語言

對(duì)面向?qū)ο缶幊讨С址浅S押?/p>

社區(qū)龐大并且類庫豐富

比起 C、C++ 開發(fā)更容易

具有垃圾回收機(jī)制

內(nèi)存清理容易

缺點(diǎn)

需要 Java 虛擬機(jī)運(yùn)行環(huán)境

比 C++ 和 Go 慢

上手難度

Java 和 C# 難度相當(dāng),比 JavaScript 或者 Python 稍難一些,也更復(fù)雜一些。但 Java 是一門非常流行的編程語言,有很多學(xué)習(xí)材料。

一般來講,Java 比 Golang 和 C++ 都簡單一些。

應(yīng)用場景

Java 語言在區(qū)塊鏈行業(yè)中是很流行的,比較流行的項(xiàng)目 IOTA(在 C# 那部分內(nèi)容已經(jīng)介紹了 IOTA)用到了 Java。一個(gè)比較有名的 P2P 加密貨幣平臺(tái) NEM 也用到了 Java(NEM 是使用 Java 編寫的)。

還有一些用到 Java 的區(qū)塊鏈項(xiàng)目有:

Neo 的智能合約

Hyperledger 的智能合約

IBM 區(qū)塊鏈

BitcoinJ(比特幣的 Java 實(shí)現(xiàn))

以太坊

8. Rust

Rust 是一個(gè)系統(tǒng)級(jí)、強(qiáng)類型的編譯型編程語言,自 2009 年以來,Mozilla 一直在對(duì) Rust 進(jìn)行開發(fā)和贊助。

Rust 的語法類似于 C++。

優(yōu)點(diǎn)

強(qiáng)類型語言

安全

支持函數(shù)式編程

和 C++ 一樣快

基于特征的繼承

運(yùn)行環(huán)境精簡

缺點(diǎn)

學(xué)習(xí)難度大

不是特別有名,因此社區(qū)規(guī)模不大,可用類庫不多,因此經(jīng)常需要開發(fā)者從頭開始寫代碼解決一些問題

沒有清晰的標(biāo)準(zhǔn)方式對(duì)數(shù)據(jù)庫進(jìn)行訪問

應(yīng)用場景

并沒有特別多的區(qū)塊鏈項(xiàng)目用到了 Rust。

其中一個(gè)用的 Rust 的項(xiàng)目是 Parity,它是一個(gè) Rust 編寫的以太坊客戶端,它運(yùn)行速度快并且很安全。

另一個(gè)流行的項(xiàng)目是以太坊經(jīng)典,這個(gè)項(xiàng)目的產(chǎn)生源于以太坊歷史上一次重大的黑客事件,它是從以太坊分叉產(chǎn)生出來的加密貨幣項(xiàng)目。

介紹的最后一個(gè)項(xiàng)目是 Exonum,它是一個(gè)面向區(qū)塊鏈安全的框架,它每秒鐘能處理上千條交易。

總結(jié)(獲勝者)

不同編程語言在區(qū)塊鏈行業(yè)中的工作招聘數(shù)量:

JavaScript:565 份

Solidity:424 份

Python:394 份

Go:361 份

C#:301 份

C++:289 份

Java:289 份

Rust:54 份

JavaScript 勝出

工作待遇排名:

為了獲取到最優(yōu)工作待遇的排名,我們挑出了各個(gè)編程語言的工作機(jī)會(huì)中薪水年薪超過 15 萬美金的招聘信息,以數(shù)量多少的形式進(jìn)行了排名。

結(jié)果如下:

JavaScript:89 份

Go:81 份

Solidity:77 份

Python:71 份

C#:61 份

C++:61 份

Java:52 份

Rust:14 份

JavaScript 勝出

易學(xué)性排名

盡管學(xué)習(xí)是非常有個(gè)體性差異的事情,但是編程語言或復(fù)雜或相對(duì)簡單,互聯(lián)網(wǎng)上的學(xué)習(xí)資源也良莠不齊,因此,我決定根據(jù)我的個(gè)人經(jīng)驗(yàn)和互聯(lián)網(wǎng)統(tǒng)計(jì)數(shù)據(jù)進(jìn)行一個(gè)排名。結(jié)論如下:

1. Solidity

2. Python

3. JavaScript

4. Java / C#

5. C++

6. Go

7. Rust

Solidity 勝出

綜合排名

在列出了以上的關(guān)鍵點(diǎn)之后,我們可以結(jié)合這幾項(xiàng)選出一個(gè)綜合排名最高的語言了。

由于 JavaScript 廣泛用于前端應(yīng)用中,在后端和中間件中也有不少應(yīng)用,同時(shí)也是工作機(jī)會(huì)最多的以及工作待遇最好的,理應(yīng)勝出。

易于學(xué)習(xí)對(duì)于 Solidity 來說是一個(gè)明顯優(yōu)勢,直到 dApp 不再流行之后,Solidity 的熱度可能會(huì)銳減。

優(yōu)勝者:JavaScript 和 Solidity

然而,如果你仔細(xì)查看排名,你會(huì)發(fā)現(xiàn)所有的語言都有不少工作機(jī)會(huì),而且很多工作機(jī)會(huì)的薪水都很不錯(cuò)。

對(duì)于不同語言來講,工作機(jī)會(huì)的數(shù)量和語言難度的差異并不大,因此我可以負(fù)責(zé)任的告訴你,使用其中任何一門編程語言,你都可以在區(qū)塊鏈行業(yè)很快找到一份好工作。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉