开发者画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绑定正在进行中,目前可用于几个小游戏,比如俄罗斯方块:
使用兔子编写的简单光线追踪器:
兔子标准库包含以下标准组件,该库为许多用例提供支持,而无需任何依赖关系。
<李>密码学套件 <李>网络支持 <李>全面的日期/时间操作李 <李> 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支持。
可以在路线图上查看有关兔子计划的更多信息。
兔子相关链接
首页|下载|安装指南|文档|教程|路线图|社区|贡献者协议
0 留言