多くの新しいプログラミング言語が、コードを短く書くための機能を競って追加している一方で、Zigはその逆をいく。その目標は、コードの一節を読むだけで、マシンが何を正確に行うのかが分かり、裏で何も起こらないようにすることである。
裏での配給はない
動的メモリを必要とする関数は、割り当てオブジェクトをパラメータとして受け取る必要があります。面倒に思えるかもしれませんが、その代わりに関数のシグネチャを見るだけで、メモリ割り当てを行うかどうかがわかります。これは、組み込みソフトウェアやカーネル内のコードにとって非常に重要なことです。
これにより、メモリリークのテストも簡単になります。追跡機能付きの割り当てオブジェクトにデータを渡し、テスト終了時に残っていないかを確認するだけです。
隠れた制御フローがない
例外なし、演算子の重ね合わせなし、暗黙のコンストラクタなし。エラーは値として返され、必ず処理しなければならない。Zigのコードを読むと、他の場所へジャンプできる箇所がすべて一目でわかる。
コンパイル時にコードを実行する
Zigでは、コンパイル時に通常のZigコードを直接実行することができ、これを利用して型の生成、ルックアップテーブルの計算、プラットフォームに応じた分岐の選択を行うことができます。専用のマクロ言語を学ぶ代わりに、その言語そのものを使用します。
注目すべき人
Zigはまだ安定版に達しておらず、バージョンごとに構文が変更される上、ライブラリのエコシステムもまだ貧弱です。重要なシステムをこれに依存させるのはまだ早計です。
しかし、Zigのコードを1行も書かなくてもすぐに使えるものがあります。それは、CおよびC++をさまざまなプラットフォーム向けにクロスコンパイルする非常にコンパクトなツールセットで、多くのプロジェクトでは、ビルドパイプラインの代替としてこれのみを使用しています。
Thảo luận