Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

为何GO语言成为开发区块链底层的趋势?

liooi
128 0 0
随着各大公司进军区块链,区块链开发已成为开发者们关注的新技能领域,而区块链开发语言也从C语言逐渐向GO语言转移+ L% N5 R! s- d7 V/ i
6 ^. f8 {2 l0 x; \
随着各大公司进军区块链,区块链开发已成为开发者们关注的新技能领域,而区块链开发语言也从C语言逐渐向GO语言转移,根据公链财经了解到,当下区块链技术开发公司已经逐渐把GO语言作为底层开发的标准语言之一,那为何会选择GO语言开发呢?以下是33复杂美区块链公司CTO王志文的分享:
* @- {' ~; t( I' J5 W% `
4 ^  N3 p3 @# L. k! h% \; t" m语言成熟度的考虑
7 F* v% m4 n1 y
. X* d0 b+ b+ {- z- b0 s一个语言是一个成熟的语言,一个重要的标志就是开发过非常大型的系统。云计算领域的两个核心系统 docker 和 k8s  都是用go 语言开发的。目前大部分区块链系统也是选择用go语言开发,可以说,要做区块链,go语言是必须要学的一种语言。; q/ @1 J0 I# W" L5 [0 a7 G; S; l

7 j6 E( p- Y) `! u+ ?! A开发人员的数量
5 }! d6 _' ]4 K) N! J: k4 N- q5 P7 `8 q' _
一个语言的入门成本比较低,但是要精通类库和最佳实践,必须要经过数年的学习时间。所以非常小众的语言肯定不在考虑在内,目前go语言在全世界多如牛毛的语言中排行第十名,这个排名应该算是一门主流的语言。5 K/ }) J5 @  l. p, {# ?) z7 H

) K# B  @, y5 A# n4 Y7 R. ~1 A2 G语言的工程特性
. e: L  O, u0 K. Q1 j5 Z9 a/ R" J9 u/ Q0 Y
很多语言,看起来非常的漂亮,但是不利于工程实践。工程实践中一个非常重要的要求是,风格的统一。C++ 就是一种非常不利于工程组织的语言,不同C程序员写的代码可能风格完全不同,甚至看对方代码会不能理解。主要原因是 C的语法特性非常的多,一个十多年的C++程序员可能都不能精通所有的语法特性。Go在设计的时候,就考虑到了这个问题,一个问题的解决方案基本上都只有一种写法,甚至你把 if 写成这样都是非法的。
& i) L5 k2 \6 @8 ]9 P9 }+ x. h2 z6 c8 q2 H* P5 v
  1. if ok
    4 G+ q# h, x" ^. @) Z
  2. {
    + Y  N  j! W, ]4 j( w! y9 Z* F  Z
  3.     //do some thing
    - f: v1 l+ G$ |' t9 I& d
  4. }
复制代码

; w$ ?* T/ Q# g* O5 `- f% ~: e+ E1 I# }- x
go 提供了 gofmt, 会自动格式化代码,这样每个人写出的代码风格都非常一致,互相交流起来就不会有障碍。+ i2 p3 W  B* v; j( k" x: t
0 {3 P. ?) w& e- k7 L
面向大部分普通程序员
: K; x5 m0 b! E/ i( E% r8 C8 o
. \5 d" X. J0 y1 e5 \# l程序员的水平基本上是一个金字塔结构,中等水平的程序员占大部分。从这个角度来说,你要让大部分人学会函数式编程基本上是一个不可能的事情。; S/ ]9 T2 e9 j+ t

+ T7 R$ k! V. Z* B选择go语言的一个很重要的原因,就是一个中等水平的程序员,就能写出非常不错的go代码。这主要的原因还是go语言非常简单,特性非常的少,官方类库又非常丰富,大部分程序员都可以非常容易的上手开发。
/ G" _# _! D0 o, D% ]# G! ]1 Z7 y1 p
团队在GO语言还是beta 版本的时候就开始使用go 语言,当时也加入了非常多的go 语言社区,我们发现,大部分用go的程序员,原来是写脚本语言的。PHP python Javascript 的程序猿非常的多,这也从一个侧面表面,go语言入门的简单性。
; b* r1 E0 o& Q% T( B) ?' J$ [: j
+ Y; `7 w7 @, x8 j3 E- [$ c
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

liooi 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1