ジグと「奇跡などない」という哲学
写真:GameFromScratch.com

ジグと「奇跡などない」という哲学

すべての割り当ては明示的であり、演算子の重ね合わせも、隠れた制御フローも存在しません。これは、一般的な傾向とは一線を画すアプローチです。

多くの新しいプログラミング言語が、コードを短く書くための機能を競って追加している一方で、Zigはその逆をいく。その目標は、コードの一節を読むだけで、マシンが何を正確に行うのかが分かり、裏で何も起こらないようにすることである。

裏での配給はない

動的メモリを必要とする関数は、割り当てオブジェクトをパラメータとして受け取る必要があります。面倒に思えるかもしれませんが、その代わりに関数のシグネチャを見るだけで、メモリ割り当てを行うかどうかがわかります。これは、組み込みソフトウェアやカーネル内のコードにとって非常に重要なことです。

これにより、メモリリークのテストも簡単になります。追跡機能付きの割り当てオブジェクトにデータを渡し、テスト終了時に残っていないかを確認するだけです。

隠れた制御フローがない

例外なし、演算子の重ね合わせなし、暗黙のコンストラクタなし。エラーは値として返され、必ず処理しなければならない。Zigのコードを読むと、他の場所へジャンプできる箇所がすべて一目でわかる。

コンパイル時にコードを実行する

Zigでは、コンパイル時に通常のZigコードを直接実行することができ、これを利用して型の生成、ルックアップテーブルの計算、プラットフォームに応じた分岐の選択を行うことができます。専用のマクロ言語を学ぶ代わりに、その言語そのものを使用します。

注目すべき人

Zigはまだ安定版に達しておらず、バージョンごとに構文が変更される上、ライブラリのエコシステムもまだ貧弱です。重要なシステムをこれに依存させるのはまだ早計です。

しかし、Zigのコードを1行も書かなくてもすぐに使えるものがあります。それは、CおよびC++をさまざまなプラットフォーム向けにクロスコンパイルする非常にコンパクトなツールセットで、多くのプロジェクトでは、ビルドパイプラインの代替としてこれのみを使用しています。

Chia sẻ

Thảo luận