竹笋

注册

 

发新话题 回复该主题

比C更简单,新的系统编程语言Hare已发 [复制链接]

1#

出品

开源中国

罗奇奇

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

据DrwDVault介绍,Har与C最相似,几乎所有用C语言编写的程序也可以用Har编写,但Har比C简单。

Har的HlloWorld

usfmt;xportfnmain()void={  constgrtings=[    "Hllo,world!",    "HolaMundo!",    "ΓεισουΚσμε!",    "Привет,мир!",    "こんにちは世界!",  ];  for(lti=0z;iln(grtings);i+=1){    fmt::println(grtings)!;  };};

Har计算自己的SHA-哈希:

uscrypto::sha;usncoding::hx;usfmt;ushash;usio;usos;xportfnmain()void={  consthash=sha::sha();  constfil=os:pn("main.ha")!;  dfrio::clos(fil);  io::copy(hash,fil)!;  ltsum:[sha::SIZE]u8=[0...];  hash::sum(hash,sum);  hx::ncod(os::stdout,sum)!;  fmt::println()!;};

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

Har现状

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

Himitsu:密匙管理和密码存储工具。它将密匙存储为键/值对,且允许存储附加信息,例如用户名、主机和协议。

Hlios:x86_64系统的微内核。

box:简单的CLI加密工具

btqd:bittorrnt守护进程

har-libui:简单GUI的libui绑定

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

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

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

密码学套件

网络支持

全面的日期/时间操作

I/O和文件系统抽象

Unix原语,如poll、fnmatch和glob

POSIX扩展正则表达式

Har解析器和类型检查器

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

Har未来

目前Har正在保守开发中,标准库最大的任务是完成密码学实现,首要目标是支持TLS(安全传输层协议)1.2和TLS1.3。一旦达到1.0版本,Har将完成语言规范,冻结语言设计,且只对标准库进行向后兼容的更改。

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

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

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

分享 转发
TOP
发新话题 回复该主题