close
來源|羅奇奇/OSC開源社區(ID:oschina2013)
往期乾貨筆記整理

熬夜肝了個Linux速查備忘手冊.pdf

我的瀏覽器收藏夾大公開

數據結構和算法刷題筆記.pdf下載

LeetCode算法刷題C/C++版答案pdf下載

LeetCode算法刷題Java版答案pdf下載

找工作簡歷模板集(word格式)下載

Java基礎核心知識大總結.pdf 下載

C/C++常見面試題(含答案)下載

設計模式學習筆記.pdf下載

Java後端開發學習路線+知識點總結

前端開發學習路線+知識點總結

大數據開發學習路線+知識點總結

C/C++(後台)學習路線+知識點總結

嵌入式開發學習路線+知識點總結

最近,開發者 Drew DeVault 公布了一門新的系統編程語言 Hare (野兔)

Hare 的開發時間接近兩年半,它使用靜態類型系統、手動內存管理和最小運行時,非常適合編寫操作系統、系統工具、編譯器以及其他低級高性能任務。

據Drew DeVault 介紹,Hare 與 C 相似,幾乎所有用 C 語言編寫的程序也可以用 Hare 編寫,但Hare 比 C 簡單。

Hare 的 Hello World
use fmt;export fnmain() void = { const greetings = [ "你好,世界!", "¡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

怎麼樣,大家對這個編程語言怎麼看呢?
往期乾貨筆記整理

熬夜肝了個Linux速查備忘手冊.pdf

我的瀏覽器收藏夾大公開

數據結構和算法刷題筆記.pdf下載

LeetCode算法刷題C/C++版答案pdf下載

LeetCode算法刷題Java版答案pdf下載

找工作簡歷模板大分享.doc下載

Java基礎核心知識大總結.pdf 下載

C/C++常見面試題(含答案)下載

設計模式學習筆記.pdf下載

Java後端開發學習路線+知識點總結

前端開發學習路線+知識點總結

大數據開發學習路線+知識點總結

C/C++(後台)學習路線+知識點總結

嵌入式開發學習路線+知識點總結

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()