LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 比特币的编程语言:开发人员说

比特币的编程语言:开发人员说

2020-07-25 wanbizu AI 来源:区块链网络

只有一小群加密专家意识到中本聪(Satoshi Nakamoto)签署的文件的重要性,该文件于2008年11月下旬发送到邮件列表。 该出版物今天被称为“比特币白皮书”,它定义了去中心化网络的基本要素,该要素将允许同行之间交换比特币,而无需审查或受信任的第三方的干预。

自称中本聪的人也参与了实施比特币网络实施的项目。 在白皮书发布之时,已经有比特币软件的初步版本,今天称为比特币核心,因为两个月后,Genesis区块于2009年1月3日被开采。中本聪使用C ++语言编写了第一版比特币。

为了解决用于比特币协议以及该网络中当前运行的不同项目的编程语言的话题,CryptoNews与几位开发人员联系,以确定当前使用的主要语言以及发展的趋势在不久的将来会有这个领域。

CriptoNoticias与Graaf的技术经理FranciscoCalderón进行了交谈.Graaf.One是一家比特币经纪公司,除了是一名开发人员之外,还是一名黑客主义者和Lightning Network的传播者。

您为什么认为中本聪选择C ++来实现第一个比特币客户端?

C ++是C的演变。对于像比特币这样需要高性能的项目,它是一种非常重要和有用的语言。 在这方面,C ++可以访问其他语言(最新,更高级别)所没有的计算机资源。 在比特币问世之前,使用C语言来创建诸如Unix和Linux之类的操作系统,正是因为C语言充分利用了硬件资源。

弗朗西斯科·卡尔德隆(FranciscoCalderón)。 Graaf.One技术经理

弗朗西斯科·卡尔德隆(FranciscoCalderón)指出,与其他语言相比,C ++是最低级别的语言,但是它功能强大且执行速度很快。 资料来源:共识/ CryptoNews

当他声称C ++比其他语言低级别时,Calderón指的是它更接近硬件架构,而更高级的语言更接近程序员和用户。尽管从程序性能的角度来看这些语言的效率较低,但这可以转换为更易理解且更接近自然语言的指令。

Calderón说,增加了对计算机资源的访问,使C ++成为一种非常强大且快速执行的语言。 但是,他坚持认为,与其他高级语言相比,它的学习曲线更长。

Calderón说,由于C ++作为一种语言的强大功能,因此必须非常小心。 开发人员说,就像C ++执行效率很高一样,它没有防止错误的本地机制。

语言的演变

经过十一多年的发展,在维护比特币核心的过程中,C ++继续被广泛使用。 在GitHub上的比特币存储库中,6月3日发布了比特币核心最新更新版本0.20.0,这表明在使用的编程语言中有C ++(68.7%),Python (18%),C(7.2%)和其他语言的6.1%。

可以理解,C ++仍然是比特币核心业务中的主导语言。 但是,Calderón指出,已经出现了高级语言,具有在比特币协议级别开发项目的能力,从而解决了C ++的局限性。

这些语言,例如Google开发的Go。 o Mozilla开发的Rust的学习曲线比C ++短得多。 它们还具有在设计中包含控件以防止编程错误的优点。 可以说,除了易于掌握之外,这些语言还使开发人员避免犯错。

弗朗西斯科·卡尔德隆(FranciscoCalderón)。 Graaf.One技术经理

作为使用Go的一个示例,Calderón引用了Go在Lightning Network lnd客户端开发中使用的Lightning Labs的案例。 但是,在这种情况下,它比其更现代的竞争对手具有C ++的优势:“ Blockstream以C ++进行的Lightning Network客户端实现优于Lnd,”Calderón说。

展望未来,卡尔德隆宣称自己是Rust的支持者,有效执行,促进开发过程。 开发人员说:“我已经研究过Go,并且我目前的决定是要精通Rust,因为Rust生成的代码比Go生成的代码要好。”

Jean P. Dudey提到使用C ++的比特币项目对它运行的环境有更多的控制权。 资料来源:jeandudey / github.com在特定项目中使用编程语言

Locha项目的Jean Pierre Dudey是一个计划离线传输比特币消息,服务和交易的网状网络,他还向CryptoNews谈到了与比特币相关的项目中使用的编程语言。

Dudey同意Calderón的观点,即像比特币这样的项目都使用C ++,因为它可以更好地控制其运行环境。 让·皮埃尔·杜迪(Jean Pierre Dudey)说:“就钱包的用户界面而言,其他高级语言(Python,Go,Javascript等)主要用于比特币相关的应用程序,而不是节点的用户界面。”

您如何选择在Locha Project中使用的一种或多种语言?

在Locha中,对于设备的固件,我们使用C语言,因为由于速度和更大的支持,它是嵌入式系统中使用的默认语言。 其他语言主要在支持点上存在缺陷,Locha固件要尽可能地可移植以在不同的硬件上运行。

Locha Mesh的开发人员Jean Pierre Dudey。

Dudey是指称为Turpial的设备,通过其将消息发送到网状网络和比特币交易。 该项目最近宣布,它还将包括发送和接收Monero交易。

Dudey指出,对于移动应用程序,根据iOS和Android之间的可移植性要求,使用了不同的编程语言。 因此,他说,混合使用了Javascript,Java和Swift。

至于新兴语言,具有匹配C或C ++的能力,Dudey说:“将锈病作为有前途的语言是C和C ++之类的已编译系统语言的下一步。 杜迪说,这种语言,提供许多安全功能以避免故障就内存管理而言,这通常会以其他语言发生。 “它在性能方面也很有前途; 在许多基准测试中,Rust在某些情况下都优于C和C ++。”

不信任,检查Leo Wandersleb报告说,用于产品组合开发的最受欢迎的设备是Android,Java和Kotlin。 资料来源:@ LeoWandersleb / Twitter

CryptoNews还联系了Wallet Scrutiny的创始人兼比特币Mycellium产品组合的首席开发商Leo Wandersleb。 Walletscrituny.com是一个网站,从怀疑的角度出发,从安全的角度审查钱包:钱包代码中是否有任何暗示,表明流氓开发人员可以从其钱包中窃取所有BTC用户?

不幸的是,这样的审查是不可能的,因为除少数例外,访问代码存在障碍。 也就是说,就比特币钱包和多币种钱包而言,绝大多数要么使用专有代码,要么无法访问该代码。

Walletscrutiny检查的钱包中只有六个具有“可玩”代码。 也就是说,如果您获取出现在GitHub上的投资组合存储库中的源程序并进行编译,则生成的可执行程序的行为与开发人员提供的相应版本一致。

根据Walletscrutiny的说法,具有可复制代码的钱包(我们表示使用的编程语言)是:比特币钱包(Java 100%),菌丝体(Java 81%,Kotlin 19%),绿色(Java 99.6%),ABCore(Java 99.4%),不可阻挡(科特琳99.6%和Ruby 0.4%)和AirGap Vault。 后者已使用TypeScript(70.9%),Swift(8.2%),Kotlin(6.5%)和其他语言编程。

在六个项目中,有四个存在Java,而Kotlin(专用于本机Android应用程序的一种语言)在三个项目中的参与程度各不相同。

对于Android设备,Java和Kotlin在比特币钱包开发和其他项目中很流行,但考虑到Apple设备,也使用JavaScript。 Rust不适合用于移动应用程序,但我认为最后,总是有任何语言的爱好者都打算用该语言编写比特币钱包。

Leo Wandersleb,比特币Mycellium Android钱包首席开发人员。

果然,在GitHub上查看比特币钱包项目时,每个人都有一些东西。 在评分最高的30个项目中,Java和JavaScript分别出现在9个和5个项目中,占总数的47%。 还会出现Go(13%),Objective C(10%),Swift(7%)和其他(23%)等语言。

尽管总会有某种编程语言进行专业化的途径,但Wandersleb认为程序员必须了解几种语言。 关于Rust,他说他还不熟悉这种语言。

如果有必要,我相信开发人员将需要几天的研究和实践,以使他们能够为Rust项目做出重大贡献。 否认这一点的开发人员可能还没有使用任何语言。

Leo Wandersleb,比特币Mycellium Android钱包首席开发人员。

可以预见的是,就比特币协议而言,C ++将继续与其他语言共存,以弥补其最薄弱的方面,尽管到目前为止,这个古老的工具负责着超过三分之二的比特币核心可执行代码。

—-

原文链接:https://www.criptonoticias.com/entrevistas/lenguajes-programacion-bitcoin-hablan-desarrolladores/

原文作者:globalcryptopress

编译者/作者:wanbizu AI

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...