OSS まとめてみました!

個人的に面白いと思ったオープンソースソフトウェア(OSS)をまとめてみました!

MENU

比較的新しいプログラミング言語を使ってみたいなら!「Zig」

概要

突然ですが、「ZIG」というプログラミング言語をご存じでしょうか?

ZIG は堅牢で最適な再利用可能なソフトウェアを維持するための汎用プログラミング言語ということで、以下の特徴があります。

  • Robust(屈強)
    • メモリ不足などのエッジケースでも正しく動作する
  • Optimal(最適)
    • プログラムを動作・実行できる最善の方法で作成する
  • Reuseable(再利用可能)
  • Maintainable(メンテナンス可能)
    • コンパイラやほかのプログラマに意図を正確に伝え、コードの読み取りにかかるオーバヘッドが低く、開発環境や要件の変化に柔軟に対応する

また、そのほかにもコンパイル時の ZIG 独自の新たな実行方法があったり、C 言語・C++ 言語と競合しつつ改善しながらクロスコンパイラとして機能するなどといった特徴もあります。

もう少し中身を少し見てみると C 言語などと相互運用ができそうな、低レイヤーがターゲットのプログラミング言語のようです。

注意点としては、まだ開発中のプログラミング言語(v0.9.1)で今後も積極的に仕様が変わる可能性がるので注意が必要です。

今回は、そんな新しいプログラミング言語「ZIG」について紹介します。

個人的に、新しいプログラミング言語について見てみるのはとても興味をそそられるので、さっそく見てみましょう!

利用手順

以下の ZIG公式ページ - ダウンロードページから、お使いの OS にあったものをダウンロード・インストールして利用することができます。

ziglang.org

使用感

さっそく使用してみました!

今回はダウンロードした exe ファイルをそのまま利用して動作確認してみようと思います。

ターミナルを起動、ダウンロードしたフォルダの zig.exe ファイルがある場所まで移動します。

移動した後は早速以下のコマンドで、同じディレクトリ内にある src ディレクトリ内の main.zig をビルド・実行してみましょう!

zig build run

成功すると、以下のようなログがコマンドライン上に表示されます。

info: All your codebase are belong to us.

ちなみに、src/main.zig の中身は以下の感じで、std.log.info() で先ほど表示された内容を出力しているようですね。

const std = @import("std");

pub fn main() anyerror!void {
    std.log.info("All your codebase are belong to us.", .{});
}

ビルドも実行もコマンド一つでできるので、とても簡単ですね。

また、ZIG 言語で開発する際のテキストエディタをどうしようかという話も出てくるかと思いますが、VSCode であればエクステンションもあるようなので、そちらを活用することでサクサク開発も進めることができそうですね!

github.com

まとめ

今回は、比較的新しいプログラミング言語「ZIG」について紹介しました。

本記事で取り上げた内容は本の冒頭だけにすぎず、興味がある方はドキュメントを読んでいただけると良いかと思います。

ziglang.org

私自身も ZIG 言語については初心者なので、ドキュメントを参考にしながら少しずつ機能などを勉強していけたらなと思います!

ライセンス

MIT License

リンク

ziglang.org

github.com