本文へ
ハクソク

世界を動かす技術を、日本語で。

Zig v0.17.0

元記事: 原文(ziglang.org)

概要

  • Zig は汎用プログラミング言語とツールチェーン
  • Zig Software Foundation が開発資金を提供
  • 最新リリースは 5ヶ月間・206人の貢献者・925コミット
  • ビルドシステム刷新 ・ELFリンカ強化・新規ターゲット追加
  • ターゲットサポート や主要変更点を詳細に解説

Zig 最新リリース概要

  • Zig は堅牢・最適・再利用可能なソフトウェアのための プログラミング言語およびツールチェーン
  • Zig Software Foundation (501(c)(3)非営利法人)が開発を支援
  • 継続的な寄付 を推奨し、コアチームへの工数増加を狙う
  • Every.org 経由の寄付で領収書発行やGitHub Sponsorsからの移行も容易
  • 今回のリリースは 5ヶ月の作業成果 で、206人の貢献者による925コミットを反映

主な変更点と新機能

  • ビルドシステム大幅刷新 :Build Server Protocol導入
  • ELFリンカ強化 :x86_64-linuxでインクリメンタルコンパイルが安定動作
  • ターゲット追加・強化 :aarch64-openbsdのCIテスト追加、loongarch32-linux等の新規サポート
  • 標準ライブラリの拡張 :x32・N32 ABI対応、複数新アーキテクチャへのポーティング
  • Zigコンパイラの強化 :スタックトレースの改善やポインタ認証対応
  • サポート終了/変更 :powerpc-linux-gnueabi[hf]・powerpc64-linux-gnuなど一部ターゲットのサポート終了

ターゲットサポートとTierシステム

  • Tier 1 :全非実験的機能が動作し、LLVMに依存せず機械語生成可能
  • Tier 2 :標準ライブラリ抽象化・スタックトレース・libc利用可能・CIでモジュールテスト
  • Tier 3 :LLVM等外部バックエンド依存でのコード生成・リンカによるバイナリ生成
  • Tier 4 :アセンブリまたはCソースコード生成のみ対応
  • 対応状況は サポートテーブル で詳細に記載(✅:完全対応, ⚠️:部分対応, ❌:未対応, ❔:不明)

主要ターゲットの最新動向

  • aarch64-openbsd :CIテスト追加で品質向上
  • aarch64-freebsd/netbsd :プルリクエストでもCI実行
  • loongarch32/64-linux :新規対応
  • x32・N32 ABI :x86-64・MIPS 64bitでの32bitポインタ利用可能
  • SPARC・ARM 32bit :クラッシュ時のスタックトレース追加
  • ゲーム機向けターゲット :aarch64-switch、arm-gba等、初期サポート

OSバージョン要件

  • Darwin :15.0以上
  • DragonFly BSD :6.4以上
  • FreeBSD :14.0以上
  • Linux :5.10以上
  • NetBSD :10.1以上
  • OpenBSD :7.8以上
  • Windows :10以上

寄付・貢献者への感謝

  • Zig Software Foundation への寄付が開発の加速に直結
  • 多数の貢献者とスポンサー への謝意

詳細: ターゲットサポートテーブル

  • 各ターゲットごとにTier・コード生成・リンカ・言語機能・標準ライブラリ・スタックトレース・Fuzzer・libc・CI対応状況を明示
  • 🪦 マークは将来的にサポート終了予定のターゲット
  • 部分サポート や 既知の問題 についても表記

まとめ

  • Zig は多様なアーキテクチャ・OSに対応し、 堅牢なビルドシステム・リンカ機能 を備える
  • 開発の継続にはコミュニティ支援が不可欠
  • 最新リリースは 多くの新機能・改善・ターゲット拡充 を実現

参考: 公式ドキュメント・ダウンロード

  • 公式サイト・ドキュメント で最新情報・ダウンロード・詳細なターゲットリストを参照可能

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

https://ziglang.org/news/0.17.0-released/

Zigプロジェクトはどうなってるの?AIに対して厳しい姿勢を取ってたのを覚えてる。

└

最近の仕事を1ヶ月で終わらせるべきところを、5ヶ月もかけてるみたいだね。

└

C++っぽくなってるのが残念。Zigが活躍すると思ってたところは、C3やOdinの方が良さそう。

└

彼らは順調にやってるみたい。TigerbeetleとGhosttyはZigで書かれたプロジェクトで、どちらも好調だよ。財団の資金も順調そうだし、リリースも続いてる。

└

使っててめっちゃ楽しいよ、正直言ってすごく良く動く。

LLVMのバージョンアップが大変なのは分かるけど、ループベクトル化がまだ無効なのはちょっとイライラするね。

└

修正がLLVM 22にバックポートできなかったのは、LLVMライブラリのABIが変わったからだって。LLVM 23に直接飛ぶこともできなかったのは、ディストリビューションのパッケージメンテナが大変になるからだよ。

└

心配しなくて大丈夫。彼らは23への更新のために短いリリースサイクルを作ると言ってたよ。

└

今日、0.15.2から0.17.0にアップグレードしたときに気づいたんだけど、ビット演算をしてるときに大きな整数がたくさん出てきた。まだデバッガは見てないけど、ループベクトル化が大いに役立つんじゃないかなって思ってる。

Zigの(タグ付けされた)ユニオンの状態もチェックしてみるといいよ。https://youtu.be/zwi5b5xSsKA?is=PTjJJjSnVMdRuZag アンドリューがバグを見つけるためにLLMを使うことに前向きになってきてるのは、ここにいる人たちには驚きかもしれないね(SQLliteの結果に触発されて)。彼はそれをバグのないソフトウェアに近づくためのツールだと考えてるみたい。

└

アンドリューがバグを見つけるためにLLMを使うことに前向きになってきてるのは、ここにいる人たちには驚きかもしれないね(SQLliteの結果に触発されて)。下のスレッドの誰かが、AIを使って遭遇したバグを確認したから、そのバグがクローズされたって言ってたけど、彼はみんながすでに知ってることを学んだ今、全部再オープンするつもりなのかな?

Hacker Newsで議論の続きを見る

同じ出典の記事