Py学习  »  区块链

区块链技术入门,都涉及哪些编程语言?

CDA数据分析师 • 5 年前 • 455 次点击  

作者   Gam

本文为CDA志愿者投稿文章,转载需授权

关于区块链的技能掌握,提到最多的就是Go语言和C++、Java,但是很多人产生了歧义,认为只有这几种语言才可以,CDA数据分析研究院通过调查发现,实际并不是这样的。

BOSS直聘研究院发现,超过80%的区块链相关职位对求职者的技能要求在3项及以上,技术类人才除了需掌 握常用开发语言外(C++,Java,Go),还需要对密码学、共识算法、超级账本、智能合约等有足够了解。

Go语言

Go语言(Golang)是谷歌2009年推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:“我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。”

除比特币是由C++开发以外,目前最主流坊的客户端均有go语言开发,足以可见Go语言在整个区块链行业的地位。

C++

C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。

C++是一种使用十分广泛的计算机程序设计语言。它是一种通用程序设计语言,支持多重编程模式,例如过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计和设计模式等。

大多数的区块链企业都选择用C++编写区块链的底层,最著名的有比特币、ripple等,主要体现的是强计算性。

Java

Java由詹姆斯·高斯林等人于1990年代初开发,是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

Java不同于一般的编译语言或解释型语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。而区块链项目的开发,对Java有着明显的依赖性。

Python

Python,是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆 创造,第一版发布于 1991 年。

作为一种解释型语言,Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于 C++ 或 Java,Python 让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。

而在区块链项目中,bitcoin库是Python特色,从入门角度相比C、CPP等语言具有更强的代入感。而当前以太坊(Ethereum)的Python实现也成为主流之一。

系统架构

系统架构师(System Architect,简称SA或SAr),是在信息系统研发中,负责依据需求来确定主要的技术选择、设计系统的主体框架结构,并负责搭建实施的人。

他们(与系统分析师共同)确立系统的主体架构和实现方向,并负责指导软件工程师等开发人员的编码开发工作。这在区块链行业明显是不可或缺的。

以太坊

以太坊(Ethereum)首次在2013至2014年间由程序员Vitalik Buterin,受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”。他是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether,又称“以太币”)提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。

以太坊具有四种专用语言: Serpent(受 Python启发)、 Solidity(受 Javascript启发)、Mutan(受Go启发)和LLL(受Lisp启发),都是为面向合约编程而从底层开始设计的语言。

Linux

Linux,通常被认为是一套操作系统,实际上它是一系列 Linux内核基础上开发的操作系统的总称。日常所见比较多的 Ubuntu、企业常用的 centos其实都是 Linux系统,包括我国自己的中标麒麟系统其实也是基于 Linux内核搞出来的,都可以视为 Linux系统大家族的成员。

2015年Linux基金发起推进区块链数字技术和交易验证的开源项目。

hyperledger

超级账本(Hyperledger)是linux基金会下的众多项目中的一个。是由IBM、因特尔,还有金融公司,GP摩根以及其他联合机构于2015年提出来的区块链项目。

超级账本主要包括4个框架项目:Sawtooth、Iroha、Fabric、Burrow。其中广为人知的是Fabric。

JavaScript

JavaScript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。

JavaScript是一种可以被浏览器解析的解释型脚本语言。也就是说,作为脚本语言的JavaScript不需要编译过程,就可以直接执行。

例如lisk就用的纯JavaScript来编写,以及ASCH等。

Node.js

Node.js 教程简单的说Node.js 就是运行在服务端的JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Nodejs平台强大的网络编程能力,对区块链的影响也是不可估量的。

不管是什么语言,区块链技术开发其实不需要掌握某种新的技术,不过是在现有技术的前提下,在新的逻辑框架中实现新功能。但是并不是说一个拥有10年经验的高级技术专家,就一定能在区块链开发中成为佼佼者。区块链技术开发需要的是既有扎实的技术,还能有区块链的思维和实际应用经验,这才真正是企业需求的人才,区块链开发人员前进的方向。

往期精彩

数据分析从哪里开始入门学习,可以推荐的书有哪些?

如何区分数据科学家、数据工程师、统计学家和软件工程师

盘点丨2018年最适合学习的编程语言

理解区块链和加密货币的终极指南

区块链技术中的智能合约究竟是怎么一回事?

找一份数据分析工作,是不是真的很困难?

Stack Overflow发布2018年度开发者调查报告,从中我们发现…

作为一个区块链技术人员,我为什么只做技术不炒币?

快速了解区块链背后的三项基本技术

关于 AI 丨不知道这些概念你就落伍了

十分钟带你看懂比特币背后的原理

为什么你学完了68个Python函数,却依旧做不好数据分析?

区块链将影响的19个行业

Python 爬取淘宝商品数据挖掘分析实战

数据科学职业生涯路径:如何在数据分析工作中找准自己的角色和定位?


扫码进入区块链分享社群

交流~共享~学习~进步



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/lFshlPWyKq
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/11208
 
455 次点击