プログラミング言語「Zig」とは【前編】
C++でもRustでもなく「Zig」が必要なのはなぜか
「Zig」はシンプルで強力な構文を備えた新しいプログラミング言語だが、注目点はそれだけではない。従来のコンパイル言語の概念を覆す、革新的な特徴を持つ。その特徴とは何か。
機械語に近い「低水準言語」を扱う開発者の心をつかみそうな新しいプログラミング言語がある。その名を「Zig」という。2024年7月時点で完全版はまだ公開されていないが、開発が盛んで、コミュニティーの熱気もある。
なぜ今新しいプログラミング言語が必要なのか。より具体的に言えば、Zigには「C」「C++」「Rust」「D」などのプログラミング言語を上回る点はあるのか。本連載はZigの主要なメリット5つを取り上げる。
「Zig」が必要なのはなぜ? その5つのメリット
併せて読みたいお薦め記事
新たなプログラミング言語を学んでみよう
メリット1.シンプルかつ簡潔な構文を備える
複雑ではないことがZigの魅力の一つだ。文法を定義する「PEG」(Parsing Expression Grammar)ファイルは600行以内にまとまっている。
Zigは、データの型に依存しない汎用(はんよう)的な関数やデータ型を記述する機能「ジェネリクス」や、コンパイルする前のソースコードに特定の処理をする「プリプロセッサ」を必要としない。つまり全ての仕組みがZig自体で記述されている。これはCやC++と比べて大きな改善点だ。
メリット2.コンパイル言語とインタープリタ言語の特徴を併せ持つ
プログラミング言語の主な分類方法として、プログラミング言語で書かれたソースコードを機械語に変換する仕組みに着目するものがある。この分類に従うと、プログラミング言語は以下の2つに分けることが可能だ。
- コンパイル言語
- 人が読んで理解できるプログラミング言語で書かれたソースコードを、コンピュータが理解できる機械語に変換する作業(コンパイル)が必要なプログラミング言語。
- インタープリタ言語
- コンピュータがプログラムを実行する際に、ソースコードを一行ずつ解釈して実行するプログラミング言語。
インタープリタ言語は、実行時にプログラムをコンパイルする「JIT(Just-in-Time)コンパイラ」ではなく、インタープリタを使ってプログラムを実行する。そのため一般的には、あらかじめコンパイラが機械語に変換するコンパイル言語に比べて、プログラムの実行速度が遅い。一方で修正と実行を繰り返しやすいなどの特性から、テスト、トラブルシューティング、デバッグは、概してインタープリタ言語の方が容易だ。
Zigはこうした形式的な分類には当てはまらない、双方の特性を持ち合わせたプログラミング言語だ。Zigは、プログラムを直接機械語にコンパイルする。コンパイル時に関数の実行結果や変数などの値が確定している場合は、コンパイル時にプログラムを実行して、その結果をプログラムに埋め込むことができる。この仕組みはプログラムの実行速度を押し上げるだけではなく、言語自体の機能や性能を引き上げるものだ。
次回は、3つ目と4つ目のメリットを紹介する。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[アトラシアン株式会社] IT運用や従業員サポートは生成AIでどう変わる? 使い方や導入の流れは? -
製品資料
[株式会社みらい翻訳] 音声翻訳活用の課題を解決、“本当に使える”ツールの特徴とは? -
製品レビュー
[Wrike Japan 株式会社] 400店舗を支えるWalmart Canada、散在する情報やアナログな管理をどう変えた? -
事例
[Wrike Japan 株式会社] 年間100件超のDXプロジェクトを統合管理、JERAはどのように実現した? -
事例
[Wrike Japan 株式会社] グローバルなクリエイティブ業務を合理化、エスティーローダーに学ぶ実践のコツ
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
「AI活用を前提とした業務PCへの移行」に関するアンケート
-
3
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
4
APIキー奪取から3時間でクラウド掌握 Anthropicが暴いた「バイブハッキング」の現実的な防御策
-
5
「複数AIの野放し」に歯止め Salesforceが6製品統合で挑むAI統制の覇権
-
6
全社標準Copilotに絶望? MS Copilotで問い合わせ6割減できた企業は何が違った
-
7
“AIコーディング”でどのツールを選ぶ? 「ChatGPT」「Claude」の真価
-
8
「制御用組み込みPC」に関するアンケート
-
9
「身代金を支払う」以外のランサムウェア対策は本当にあるのか?
-
10
LLMの「過学習」、正しく説明している文章はどれ?
ホワイトペーパーランキング PR
-
1
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
4
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
5
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
「スクラム」と「カンバン」の違いとは? アジャイル型開発手法を徹底比較
-
8
AI時代に成功するための「ナレッジマネジメント」ベストプラクティス
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー