hare 的原本意思是野兔,其开发者期望这种编程语言可以像野兔一样具备顽强的生命力。
本周,软件开发者 Drew DeVault 公布了一种全新的系统编程语言,它被叫做 Hare,并且用“简单、稳定和健壮”当作核心形容词。那它有没有特别之处呢?这回或许真的有。
在世界之上,陆陆续续地涌现出了三百多种编程语言,然而,Hare 却偏偏将矛头对准了其中最为强大的那一个,也就是 C 语言。没错,Hare 的目标便是去取代在过去的五十年时间里最为重要的编程语言。
Hare 的价值主张
DeVault投入两年半时间在大约30名项目贡献者身上,如今面向开发者正式开放的成果终于出炉的是Hare。
DeVault于一篇博文中作出介绍,称,“Hare跟C事实上格外相像,差不多所有借助C编写而成的程序均能够运用Hare写出来。然而关键之处在于,Hare比C更加简单。”。
Hare 的设计原则是:
对于程序员予以信任,倘若程序员自己都不敢信任自身,那就提供辅助工具,较倾向于觉得显式行为比隐式行为更为优良,认定好的程序必然既要正确,又要简单,DeVault 作出解释表示,“Hare 运用静态类型系统、手动内存管理以及最小运行时,因而格外适宜用于编写操作系统、系统工具、编译器、网络软件以及其他低级高性能任务。”。
于接受The Register的那次采访里头,DeVault也坦白表示,Hare的诸多设计灵感,皆来源于C语言。
DeVault着重指出,和众多别的语言设计者不一样,他们对C实际上是极为认可的。Hare仅仅是打算针对C里的基础设计理念实施一些较为保守的改进,换个说法就是,在历经了多年的实践运用之后,再次探究C语言可不可以做得更优。
充足的“电池”储备
德沃尔特还表示,黑尔的标准程序库亦融入了谷歌Go语言的理念,尤其在于内建诸多丰富多样的标准库——也就是各类“电池”(此为编程术语)——尽可能在最大程度上规避再次额外引入外部依赖项。
他觉得,“Hare在设计之时着重于给予充裕的‘电池’,以此来支撑各种各样的用例,对程序员予以协助,脱离繁杂的外部依赖项,使得开发项目维持在良好的可管理范畴之中。我觉得Go语言于这一方面做得极为出色;事实上,Hare也存在相当一部分模块(尤其为加密模块)多少是受到了Go语言的启迪。”。
Hare 的“电池”储备包括:
use fmt; export fn main() void = { fmt::println("Hello world!")!; };复制代码
Hare 其实相当保守?
有人断言 Hare 能够被说成是 Zig 的一种精简版本,Zig 是一种具备手动内存管理功能的低级系统语言,只是同为 C 语言的替代方案,Zig 在受欢迎程度方面远远比不上另一个竞争对手 Rust。
再者换个视角来看,DeVault 居然企图将 Hare 塑造成为一种具备效用的“避开陷阱版本”的 C 语言。
那些怀揣着与C竞争想法的诸多新语言所行之路,我认为是偏离了正轨的。Hare实际上是一种颇为保守的语言。其核心思路在于,要籍由30年间C语言上积累下的编程经验,铸就凝练出一种小巧且简单以及强大非凡的全新语言。并在后续的30年里持续为开发者提供优质服务。于我而言,大胆创新并非关注的重点,一心只求能够对既有的各种功能予以精心且独到的构建设计。
至今,Hare 语言依旧处于开发进程里,当下阶段的目标在于,塑造出能够稳定运行的版本,此版本要涵盖标准库增强功能,像是 TLS 和原始 IP 套接字支持等,也就是 1.0 版本。
DeVault予以指出,表明 “我发觉在项目初起的那个时期,极大一部分的工作基本上是聚焦于语言自身的。然而现如今已然初步展现出成果了,命令行工具,以及诸如cron这般的守护程序,还有init系统管理进程等等均已经准备妥当。”。
DeVault称,他正用Hare编写密钥管理器(Himitsu),他还正用Hare编写一套内核(Helios),而这些皆是Hare语言最为擅长的应用方向。
Himitsu具备把密钥存储成键/值对的能力,这里的用户对于各个键/值对能够增添附加信息,像用户名、主机以及协议这类, 同时,Himitsu能够与各种“代理”相互兼容,比如说存储SSH私钥并且担当起SSH代理的角色。
面向 x86_64 架构的微内核 Helios,若一切进展顺利,未来会支持其他架构。团队已完成 RISC-V 版本开发,当前功能比较基础,像启动 Long Mode 模式、提供几个串行驱动程序、设置分页。虽还有诸多工作待做,不过这确实是不错项目,能展现 Hare 在低级任务中的强大能力。
DeVault说道,他觉得,在得到TLS的支持以后,会有更广泛的用例供大家去进行探索,没错吧,是这样的。
目前,Hare依旧仰赖BDFL(即终身仁慈独裁者)这种开源治理模式。DeVault表明,“Hare语言极为注重稳定以及不变的特性,因而所需的治理资源想必不会太多”,当下项目的筹款主要是用来支付密码系统实现所应具备的第三方审计费用。
Hare 的未来计划
DeVault提到,对于Hare的开发思路,“我们一直较为保守。我们期望Hare在开发者的项目里稳定发挥作用,且不占用过多语言学习时间。在即将推出的1.0版本中,我们会完成规范,确定语言设计,并且仅针对标准库做出向下兼容方面的变更。“。
除此之外,DeVault存在着另外的谋划。当下,Hare仅仅支持三种指令集架构,分别是:x86_64、aarch64以及risc-v64。“我们期望能够进一步予以拓展,增添32位平台以及更多别的架构。如今能够予以支持的操作系统也仅仅是Linux和FreeBSD,后续会促使更多的移植得以推进。”。并非当下就有登录并非任其自主的系统平台的打算,然而鉴于 Hare 自身是属于具备规范标准的语言,因而在出现必要情形时,也能够借助第三方达成或者经由分支开发出适用于 Windows 或者 MacOS 的版本。
就标准库而言,DeVault 等人当下的最重要之事就是要弄成功加密一事,其目标在于去支持 TLS 1.2 以及 1.3。
DeVault总结说,好多了付出了不少,为它顺利诞生感到骄傲,还期望能有更多朋友去使用它,进而喜爱它。
感兴趣的读者可以在下方链接了解 Hare:
安装流程:
它是一个网址链接,链接指向的是,名为harelang.org的网站里的,installation这个板块下的内容。
使用教程:
https://harelang.org/tutorials/introduction/