「Zig」はシステム開発における開発者の幾つかの悩みを解消し得る、新たなプログラミング言語だ。どのようなアプローチを採用しているのか。そのメリットとは。
企業で主流のシステムプログラミング言語としては「C」「C++」、近年では「Rust」などが存在する一方、新たな言語として「Zig」が頭角を現し始めた。ZigはC/C++の代替を目指しつつ、モダンな機能を備えている。本稿はZigの5つのメリットのうち、2つのメリットを取り上げる。
可能な限り最適化された実行可能ファイルをZigで作成するには、以下のシンプルなコマンドを実行する。
zig build-exe -O ReleaseFast prog_name.zig
ここで「-O ReleaseFast」は最適化レベルを指定するオプション、「prog_name.zig」はソースコードのファイル名を表す。複数のファイルをソースにして実行可能ファイルを生成することも可能だ。
Zigの特徴の一つがテストブロックだ。Zigでは、任意のソースコードファイル内に記述したテストブロックを独立して実行できる。この仕組みによって、実行可能ファイルをビルドせずに任意のテストを実施したり、簡単で迅速なプロトタイピング(試作品を用いた事前検証)をしたりすることが可能になる。
ビルドコマンド「zig test」を使うと、実行可能ファイルを生成することなく、ソースコードファイル内のテストブロックをコンパイルして実行できる。以下は「module.zig」というファイル内のテストブロックをコンパイルして実行するコマンドの例だ。
zig test module.zig
例として、以下のテストブロックを含むファイル「test.zig」を考えてみよう。
const std = @import("std"); test " => testing integer div built-in" { std.debug.print("\n" ++ "0 div 3 {}\n" ++ "1 div 3 {}\n" ++ "2 div 3 {}\n" ++ "3 div 3 {}\n" ++ "4 div 3 {}\n" ++ "5 div 3 {}\n" ++ "6 div 3 {}\n" ++ "7 div 3 {}\n" ++ "8 div 3 {}\n", .{ @divTrunc(0, 3), @divTrunc(1, 3), @divTrunc(2, 3), @divTrunc(3, 3), @divTrunc(4, 3), @divTrunc(5, 3), @divTrunc(6, 3), @divTrunc(7, 3), @divTrunc(8, 3) } ); }
これは、Zigの組み込み関数「@divTrunc」を使って、0~8の整数を3で除算した結果を標準出力に表示するテストブロックだ。1行目の「const std = @import("std");」は、標準ライブラリ(プログラム部品群)を呼び出している。その後、計算式の表示とそれに対応する計算結果を整形して出力するために「std.debug.print」関数を用いている。
このテストブロックをzig testコマンドでコンパイルし、実行した結果は以下の通りだ(画面)。
次回は、5つ目のメリットを解説する
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
専門知識が不要で従来のデータベースの操作から管理まで行えるノーコードWebデータベース。製品の多様化が進む中、自社に最適な製品をどう選べばよいのか。ユーザーレビューから主要製品を比較し、選定のポイントを探る。
物流向けアプリケーションの開発を行うMeeTruckでは、アジャイル開発でPDCAをスピーディーに回すことで、業界での支持を拡大している。そんな同社の躍進を支えているのが、豊富なAPIを誇るコミュニケーションプラットフォームだ。
斬新なアイデアで人気を博すレシート買い取りアプリ「ONE」を提供するWEDでは、認証機能の開発工数を削減すべく、あるクラウドコミュニケーションAPIを導入した。SMS認証機能の実装をわずか2日程度で実現した同ツールの実力を紹介する。
アナログで非効率な業務が多く残る建設現場では、デジタル化によるプロセス改善が、喫緊の課題となっている。現場DXを推進する具体的な方法を提案するとともに、ノーコードツールの導入で大きな成果を収めた事例を紹介する。
ビルメンテナンス事業を展開する裕生では、全社的にDXへの意識が低く、従業員の意識改革に課題を抱えていた。そこで、取り組みの契機とすべくノーコードツールを導入。業務アプリの活用により現場の業務はどのように変化したのだろうか。
繝弱�繧ウ繝シ繝峨�縲∬イ�縺ョ驕コ逕」縺ァ縺ゅk繧「繝翫Ο繧ー讌ュ蜍吶r縺ェ縺上○繧九�縺� (2024/11/12)
驥題檮讖滄未縺ョ繝「繝繝翫う繧シ繝シ繧キ繝ァ繝ウ縲譛驕ゥ隗」縺ォ蟆弱¥縺ォ縺ッ (2024/3/29)
いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。
「マーケティングオートメーション」 国内売れ筋TOP10(2025年5月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年4月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。