news 2026/4/18 3:35:23

C语言的挑战者Hare:更简单的系统编程新语言

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言的挑战者Hare:更简单的系统编程新语言

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/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:31:53

保姆级教程:用MATLAB实现锂电池模型参数在线辨识(附NEDC工况数据)

从零实现锂电池参数在线辨识:MATLAB实战指南与NEDC工况解析 锂电池参数辨识是电池管理系统(BMS)开发中的核心技术难点。许多工程师在阅读相关论文时,常会遇到算法原理清晰但代码实现困难的窘境。本文将提供一个完整的MATLAB实现方…

作者头像 李华
网站建设 2026/4/18 3:31:51

深度解析 ICLR 2026 爆款神文:大模型明明“看见了”,为什么还会选错?——揭秘 VLM 的“装瞎”悖论

这是一份为你量身定制的深度论文解析。学术论文往往充斥着晦涩的公式和抽象的概念,但在这篇文章里,我们将彻底撕掉那些枯燥的包装,用最硬核、最直白、最贴近工程直觉的语言,带你拆解这篇入选 ICLR 2026 的重磅研究。 文章目录&…

作者头像 李华
网站建设 2026/4/18 3:29:18

手把手教你学Simulink——基于Simulink的Buck/Boost变换器闭环PID控制

目录 手把手教你学Simulink——基于Simulink的Buck/Boost变换器闭环PID控制​ 摘要​ 一、背景与挑战​ 1.1 为什么四开关Buck/Boost需要“双环”PID?​ 1.2 破局之道:电压-电流双环PID架构​ 1.3 设计目标​ 二、系统架构与核心控制推导​ 2.1 整…

作者头像 李华
网站建设 2026/4/18 3:29:15

简单理解:M-Bus (Meter-Bus,仪表总线)

M-Bus (Meter-Bus,仪表总线) 是专为水表、电表、气表、热量表等计量设备设计的欧洲标准串行通信总线(标准号 EN 13757),核心用于远程抄表与能源数据采集。一、核心特性拓扑结构:** 主从式(Master-Slave&…

作者头像 李华
网站建设 2026/4/18 3:26:20

时序抖动:概念、测量与系统设计优化

1. 时序抖动的基础概念与影响机制在数字系统设计中,时序抖动(Jitter)是指时钟信号边沿相对于理想位置的偏差。这种看似微小的偏差会对系统性能产生深远影响,特别是在高速数据传输和精密信号处理领域。想象一下交响乐团的指挥手势出…

作者头像 李华