区块链开发是一个迅速壮大的产业,我们正在见证着这个行业的成长。
虽然区块链技术还处于初期阶段,但是这项革命性的技术已经席卷全球,在最近几年经历了前所未见的蓬勃发展。
目前许多资金充沛的项目都渴望搭建自己的区块链网络,并在网络上部署去中心化应用,但是有能力的区块链开发人员严重不足。
区块链项目所用到的七大编程语言
区块链开发行业吸引到了数十亿美元的投资,各项目为了能吸引到市场上最好的区块链人才相互竞价,使得区块链开发人员的薪酬以及对相关人才的需求水涨船高。
这股淘金热可能会让部分开发者好奇他们是否拥有进入这个行业的实力,以及这个新行业中哪种编程语言最受欢迎。几乎所有受欢迎的编程语言在区块链行业中都有用到,但是开发者必须考虑自己要进行哪种类型的开发,因为不同的编程语言适用于不同的区块链项目和应用。
为了便于打算深入这个行业的开发者理解和打好基础,下文简要介绍了不同项目以及它们使用的编程语言。
Solidity
——一种简单的新编程语言,在以太坊开发者中很受欢迎,因为以太坊智能合约的开发使用的就是这种语言。Solidity 是一种合约导向、图灵完备的编程语言,其开发者数目估计超过20万。
由于以太坊在智能合约上抢占先机,很多其他区块链平台也在确保与Solidity(或ERC-20)兼容,以便可以轻易地将智能合约从以太坊移植到他们的新区块链网络上。
以太坊——从技术层面讲,以太坊的作用相当于一个以太坊虚拟机(EVM),也被形象地描述为“全球计算机”(world computer),由C++、Python、Ruby、Go和 Java等编程语言组合合成。JavaScript是以太坊的基础,因为它的作用相当于一个有脚本执行的运行环境。
Java
——是一种并发执行、面向对象、基于类型的通用编程语言,Java的执行依赖很少。自1995年发布以来,Java已成为排名前3的编程语言,拥有超过900万名开发者。知名区块链平台NEM的区块链网络就是完全用Java(不久后会改用C++)编写的。
C#
——一种面向对象的编程语言,开发者可以用它构建在.NET框架上运行的强大应用,C#全球至少拥有200万名开发者。C#诞生于2000年,一经推出便备受开发者欢迎,被用于编写可以在多个操作系统(例如:Windows、Mac、Linux、和Android)上运行的跨平台代码。用C# 编程的区块链项目有:
Stratis 是微软扶持的一家区块链服务提供商,它可以让企业构建属于自己的私有区块链系统。
NEO 虽然是用C#编写的,但是也支持Javascript、Java、Python和Go等编程语言。
Javascript
——通常简称为JS,是一款多重范式编程语言,支持事件驱动、函数式和命令式(包括面向对象和基于原型)编程风格。它是世界上最受欢迎的编程语言之一,全世界使用人数至少有970万。
Lisk的侧链开发组件(SideChain Development Kit,SDK)就是用JavaScript编写的,开发者可以用这个组件在Lisk的区块链平台上构建应用。
SQL
——结构化查询语言(Structured Query Language)或“Sequel”,是IBM开发的一种编程语言,用于与存储、查询和处理数据的数据库进行沟通。如今SQL约拥有700万名开发者。MySQL、PostgreSQL、SQL Server、DB2、Oracle等主流数据库都使用SQL来开发应用程序。使用SQL的区块链项目有:
Aergo 是由区块链初创公司Blocko创造的一个面向企业的区块链解决方案,其所使用的Coinstack专利技术用的就是SQL智能合约。Aergo区块链包含一个基于SQL的智能合约平台,这个平台可以让企业在商业环境中创造并执行高级智能合约。
C++
是一款通用的编程语言,约拥有440万名开发者。C++最大的优点在于它不仅能够扩展资源密集型应用,而且还能让应用顺畅地运行,因此它已成为最受3D游戏开发者欢迎的一款编程语言。使用C++的区块链项目有:
EOS——C++是EOS最主要使用的编程语言,其优点在于可以在区块链上灵活地运行大量的不同应用。EOS还支持任何编译为WebAssembly (WASM)的语言。
比特币核心钱包(Bitcoin Core)的网络也是用C++编写的。
Golang
是一款基本上基于C语言语法的开源通用型编程语言,对开发者来说Golang很好学,测试者也能轻松理解。目前Golang大约拥有超过80万名开发者。使用Golang的联盟链网络(consortium network)有:
HyperLedger Fabric ——大部分链代码(用HyperLedger Fabrics构建的智能合约)都是用Golang编写的。他们还为区块链应用开发提供了一个Java SDK。
如果您对区块链行业感兴趣,但愿这篇文章让您基本了解了从哪里开始以及什么需要深入研究。毋庸置疑,随着技术的进步和现实应用的出现,这个行业将在未来十几年内迎来爆炸式的发展。
文章彩蛋
有疑问加站长微信联系(非本文作者)