新的系统编程语言 Hare 已发布,对标 C 语言

频道:行业资讯 日期: 浏览:1032

  

开发者画DeVault公布了一门新的系统编程语言兔(野兔)。兔子的开发时间接近两年半,它使用静态类型系统,手动内存管理和最小运行时,非常适合编写操作系统,系统工具,编译器以及其他低级高性能任务。

据画DeVault介绍,兔与C最相似,几乎所有用C语言编写的程序也可以用兔子编写,但<强>兔子比C简单。

<强>兔子的Hello World & # 13;   <代码> 使用fmt; & # 13;   & # 13;   出口 fn 主要()空白={& # 13;    const 问候=[& # 13;   “Hello, world !”, & # 13;   ”?你好世界!”, & # 13;   “Γει吗?σουΚ?σμε!”, & # 13;   “Приветмир!”, & # 13;   “こんにちは世界!”, & # 13;   ];& # 13;    ( 我= 0 z;我& lt;len(问候);i + 1=) {& # 13;   fmt:: println(问候[我])!;& # 13;   };& # 13;   };

兔子计算自己的sha - 256哈希:

& # 13;   <代码>使用密码::sha256; & # 13;   使用编码::十六进制;& # 13;   使用fmt; & # 13;   使用散列;& # 13;   使用io; & # 13;   使用操作系统;& # 13;   & # 13;   出口fn main()空白={& # 13;   const散列=sha256: sha256 (); & # 13;   常量文件=os::开放(“main.ha”) !; & # 13;   推迟io::关闭(文件);& # 13;   io::副本(和散列、文件)!;& # 13;   & # 13;   让总和(sha256:大小):与=[0…];& # 13;   散列::sum(和散列,总和);& # 13;   十六进制:编码(os:: stdout,总和)!;& # 13;   fmt:: println () ! & # 13;   };

兔子基于qbe编译器后端,在占用空间小的情况下提供了良好的性能。

兔子现状

目前已经有许多基于兔编程语言的程序,比如

  <李> Himitsu:密匙管理和密码存储工具。它将密匙存储为键/值对,且允许存储附加信息,例如用户名,主机和协议。   <李>赫利俄斯:x86_64系统的微内核。   <李>框:简单的CLI加密工具李   <李> btqd: bt守护进程李   <李> hare-libui:简单GUI的libui绑定李   

兔子的OpenGL绑定正在进行中,目前可用于几个小游戏,比如俄罗斯方块:

新的系统编程语言 Hare 已发布,对标 C 语言

使用兔子编写的简单光线追踪器:

新的系统编程语言 Hare 已发布,对标 C 语言

兔子标准库包含以下标准组件,该库为许多用例提供支持,而无需任何依赖关系。

  <李>密码学套件   <李>网络支持   <李>全面的日期/时间操作李   <李> I/O和文件系统抽象李   <李> Unix原语,如调查:和水珠李   <李> POSIX扩展正则表达式李   <李>兔子解析器和类型检查器李   

该标准库让兔子脱离了POSIX和libc的遗留问题,兔子程序默认不与libc链接。

兔未来

目前野兔正在保守开发中,标准库最大的任务是完成密码学实现,首要目标是支持TLS(<跨风格=" background - color: # ffffff;颜色:# 333333 ">安全传输层协议) 1.2和TLS 1.3。一旦达到1.0版,本兔将完成语言规范,冻结语言设计,且只对标准库进行向后兼容的更改。

此外,目前兔子<强>仅支持三种架构:x86_64, aarch64和riscv64,未来将逐步添加32位平台和其他架构的支持。操作系统方面,目前兔子<强>只支持Linux和FreeBSD 强,计划在未来做更多的移植。

  

我们无意支持非自由平台,但由于语言是标准化的,如果需要,第三方实现或分支可以轻松开发Windows或macOS支持。

  

可以在路线图上查看有关兔子计划的更多信息。

兔子相关链接

首页|下载|安装指南|文档|教程|路线图|社区|贡献者协议

新的系统编程语言 Hare 已发布,对标 C 语言

0 留言

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码