查看原文
其他

挑战C语言,新的系统编程语言Hare发布(文末送书)

罗奇奇 程序员架构 2023-02-06

点击关注公众号,一周多次包邮送书

文 | 罗奇奇
出品 | OSC开源社区(ID:oschina2013)
文末送书~~

开发者 Drew DeVault 公布了一门新的系统编程语言 Hare (野兔)。Hare 的开发时间接近两年半,它使用静态类型系统、手动内存管理和最小运行时,非常适合编写操作系统、系统工具、编译器以及其他低级高性能任务。
据 Drew DeVault 介绍,Hare 与 C 最相似,几乎所有用 C 语言编写的程序也可以用 Hare 编写,但 Hare 比 C 简单。
Hare 的 Hello World 
use fmt;

export fnmain() void = {
const greetings = [
"Hello, world!",
"¡Hola Mundo!",
"Γειά σου Κόσμε!",
"Привет, мир!",
"こんにちは世界!",
];
for (let i = 0z; i < len(greetings); i += 1) {
fmt::println(greetings[i])!;
};
};
Hare 计算自己的 SHA-256 哈希:
use crypto::sha256;
use encoding::hex;
use fmt;
use hash;
use io;
use os;

export fn main() void = {
const hash = sha256::sha256();
const file = os::open("main.ha")!;
defer io::close(file);
io::copy(&hash, file)!;

let sum: [sha256::SIZE]u8 = [0...];
hash::sum(&hash, sum);
hex::encode(os::stdout, sum)!;
fmt::println()!;
};
Hare 基于 qbe 编译器后端,在占用空间小的情况下提供了良好的性能。

Hare 现状

目前已经有许多基于 Hare 编程语言的程序,比如
  • Himitsu :密匙管理和密码存储工具。它将密匙存储为键/值对,且允许存储附加信息,例如用户名、主机和协议。
  • Helios :x86_64 系统的微内核。
  • box :简单的 CLI 加密工具
  • btqd :bittorrent 守护进程
  • hare-libui :简单 GUI 的 libui 绑定
Hare 的 OpenGL 绑定正在进行中,目前可用于几个小游戏,比如俄罗斯方块:
使用 Hare 编写的简单光线追踪器:
Hare 标准库包含以下标准组件,该库为许多用例提供支持,而无需任何依赖关系。
  • 密码学套件
  • 网络支持
  • 全面的日期/时间操作
  • I/O 和文件系统抽象
  • Unix 原语,如 poll、fnmatch 和 glob
  • POSIX 扩展正则表达式
  • Hare 解析器和类型检查器
该标准库让 Hare 脱离了 POSIX 和 libc 的遗留问题,Hare 程序默认不与 libc 链接 。

Hare 未来

目前 Hare 正在保守开发中,标准库最大的任务是完成密码学实现,首要目标是支持 TLS (安全传输层协议)1.2 和 TLS 1.3。一旦达到 1.0 版本,Hare 将完成语言规范,冻结语言设计,且只对标准库进行向后兼容的更改。
此外,目前 Hare 仅支持三种架构:x86_64、aarch64 和 riscv64,未来将逐步添加 32 位平台和其他架构的支持。操作系统方面,目前 Hare 只支持 Linux 和 FreeBSD,计划在未来做更多的移植。

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

大家可以在路线图上查看有关 Hare 计划的更多信息:https://harelang.org/roadmap

Hare 首页、下载等相关链接可点击文末阅读原文查看。

end


👇👇👇👇👇
程序员架构联合北京大学出版社送书啦~~
推荐理由:随着云计算、大数据、人工智能、虚拟现实等应用的兴起,企业对于开发人员的算法要求也越来越高。本书全面讲解了在编程中涉及到的常用的数据结构及算法,同时,辅以大量的实战案例,图文并茂,令读者易于理解掌握。同时,案例的选型偏终于解决实际问题,具有很强的应用性、趣味性。全书示例采用Java语言编写,书中示例也可以作为面试使用。

推荐理由:华为自主研发的HarmonyOS(鸿蒙系统)是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。借助 HarmonyOS 全场景分布式系统和设备生态,定义全新的硬件、交互和服务体验。本书采用全新的HarmonyOS 2.0版本作为基础,详细介绍了如何基于HarmonyOS来进行应用开发。


活动规则:我们将从精选留言中随机抽取 4名 小伙伴赠书

留言要求:内容与本文核心信息相关(附书名) & 每人仅限精选一条留言

截止时间:2022 年 4 月 29 日 09:00 整

特别声明:开奖后2天未联系视为自动放弃

 书籍数量有限  开奖后,先选先得。

·················END·················

推荐阅读

• 告别 HTTP• 一个Bug让人类科技倒退几十年?• 23岁何同学引爆B站:当UP主的这5年• 微信8.0.22内测版更新,这个功能超级好用(附下载)• 十年积累,5.4万GitHub Star一朝清零:开源史上最大意外损失• VIP看剧还要“砍一刀”?某酷这操作被骂惨了(送书)• 可怕!CPU暗藏了这些未公开的指令!

👇更多内容请点击👇

  

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存