A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 播妞 程序媛   /  2018-2-5 17:18  /  1570 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

第一次听说阿三联盟,还以为是印度的一个爱国团体。后来不断的听到牛逼的银行和国际知名投资机构加入,才知道R3联盟是全球金融领域最大的区块链联盟组织。

本文详细的给大家讲一讲R3到底是一个什么来头,他们是干什么的,R3联盟跟传智播客区块链课程有什么关系。

R3区块链联盟,是由一家总部位于纽约的区块链创业公司R3CEV发起,在2015年9月15成立的,至今已吸引了上百家巨头银行的参与,其中包括富国银行、美国银行、纽约梅隆银行、花旗银行、德国商业银行、德意志银行、汇丰银行、三菱UFJ金融集团、摩根士丹利、澳大利亚国民银行、加拿大皇家银行、瑞典北欧斯安银行(SEB)、法国兴业银行等。微软和因特尔也是R3区块链的支持者。

在中国,中国平安,招商银行,中国外汇交易中心,民生银行,恒生银行,汇丰银行等也先后加入了R3区块链联盟。

区块链是一种分布式的信任系统,他可以缩短结算时间,节约对账成本。使用基于区块链的系统可以显著缩短交易的结算时间,甚至是从几天缩减到数小时。这也可以帮助减少全流程的资本需求、运营成本和托管费用。

R3区块链的产品叫corda,遵循阿帕奇2.0协议开源,代码托管在github上,https://github.com/corda ,这是第一个真正落地,且真实商用的区块链项目,所有代码都是kotlin写的。 我们来请corda的高级技术经理讲一讲,为什么项目决定选用kotlin作为开发语言吧。

大家从github上fork出来corda的代码研读,很快就能发现corda的代码竟然是用kotlin写的,JetBrains公司开发的一款“小众”编程语言. 作为企业级的开发,特别是金融类型的项目,竟然用一门没有大众验证过的语言,背后的原因是什么呢。(编者注:corda是在2015年开始研发,在2015年kotlin确实是一门小众编程语言,kotlin在2017年被谷歌正式宣布为官方编程语言,被spring官方指定为一等支持语言)

为什么选kotlin?
我们列出来所有候选人: JVM, .NET, NodeJs , Python/Ruby, Go, Haskell or c语言编写本地代码?选哪个呢?如果选JVM平台, 用什么jvm语言呢? Java Scala Ceylon Clojure Kotlin Python Ruby Javascript or Haskell to use (这些语言都有JVM的实现)

选择JVM作为平台的原因在企业应用中是很容易理解的,可以这样说,如果您想要一个可伸缩的、线程安全的、带垃圾收集的、跨平台运行时环境,并且需要大量的文档库来解决常见的业务任务,只有JVM平台可以选择。

在Corda开始开发的时候,它没有名字,也不清楚它会不会发展成为一个产品。事实上,当2015年12月成为Corda的项目负责人(我上任的第一天),只是想使用区块链技术创建一个通过智能合约来解决UTXO问题的原型,我们尚不清楚这些原型是否会变成任何东西。

我们面临着一个棘手的选择:一方面,我们希望快速探索算法和数据结构。另一方面,这个产品构建出来要满足大型企业的需求,我们需要能迅速迭代这些产品。

Java显然符合这些要求,但它缺乏现代的便利,生产效率低,使用它还会降低开发人员的士气。

动态类型语言python不能满足需求 : 因为类型的正确性、工具和性能优势是不容忽视的问题。

另外我们希望能够雇用金融行业领域专家,同时建立一个开发团队,Haskell这样的语言绝不是不可能的, 有银行业经验人都很懒,让他们重头学习一门新的函数式语言是很危险的。

此外,产品的本质意味着我们要有“用户”,换句话说就是插件和应用程序开发人员,要求他们学习全新的编程语言和工具链是没有意义的,我们的语言选择不应该过多地限制我们的用户。

这些要求让我们有了Kotlin, Scala和Ceylon。它们都是相当相似的语言,都很吸引人。最后我们选择了Kotlin, 原因如下:
① 与Java100%兼容
因为Kotlin代码非常紧密地转换成等价的Java,几乎所有现有的面向Java的工具都能在这个新语言中工作。这种情况并不总是适用于其他语言,例如,Quasar很难使用Scala代码。
②优秀的文档和小巧的标准库使它成为一门非常快上手的语言。
我们没有明确地宣传我们的职位,因为我们需要Kotlin的经验,并且已经雇佣了一些不知道它的人,新人1-3天就可以快速上手这门语言。
③IntelliJ是最受欢迎的IDE。
④我之前使用过kotlin,使用它是令人愉快的,所以我感到有信心的新团队成员也会喜欢它。
如果当年不存在kotlin语言,我们可能会选用scala,这两门语言有竟然的相似性。

结论:
经过一年多的大规模实战应用,项目状态良好,每个开发人员都很开心。我们的代码效率很高。
虽然在项目开始时选择一种未经证实的编程语言是一种风险,但这是经过计算的。如果再让我们选择一遍,我们还会选择kotlin。

外号: 传智播客区块链课程采用kotlin为主要编程语言,kotlin目前是一门广泛接受的高性能的编程语言,一种语言可以完成跨平台的开发,kotlin可以运行在jvm上,可以编译成javascript运行在浏览器中,可以编译成二进制nativie代码,脱离java虚拟机在嵌入式设备上运行。Kotlin是一门全栈的跨平台编程语言。
在国内越来越多的大公司已经开始使用kotlin进行开发,大家可以观察阿里巴巴和腾讯的开源项目库,https://github.com/alibaba/p3c 看看里面的代码是用什么写的。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马