いったい何?
C++で構築された言語。大きな特徴は GC を非搭載で他の言語とは異なる新しい概念を採用しているのが特徴。
また、ほかの言語にはない概念を積極的に取り入れた言語になっている。これがAegis-lang | イージス だ。
誰が向いている?
- リアルタイム性を重視
- 堅牢なプログラムを書きたい
- 新しい概念を取り入れたい
こういう人におすすめ。
どのようなコードなのか?
このような非常に簡素なコードになります。
新しい概念とは?
先ほどからある「新しい概念」とは一体何なのか?それは、「アクセス権」 というものである。
アクセス権って何?
アクセス権とは?
アクセス権は、各変数や関数に必ず付与される権限のこと。アクセス権は、変数や関数に必ず一つ持っている権限のこと。
アクセス権があることによっていくつかの利点や恩恵が受けられる。
- 意図しない変数の参照を防げる
- 特定の関数や変数を呼び出せるようにできる
- 型やデータそのものの保守性が上がる
これらの仕様が Aegis 最大の特徴。
アクセス権が必要なワケ
これには理由があり、一つは Rust のようなメモリ安全の仕組みを応用した言語の開発を行いたい。もう一つは安全にかつ高速にプログラムを書けるような仕組みを作りたい。
なぜ、Rust のようなメモリ安全の仕組みを応用したいのか?
それは、プログラマーがメモリの仕組みを理解したうえでプログラムを書いてほしいから。
「別に理解しなくてもプログラムはけるでしょ...」
「メモリのことなんて理解しなくても大丈夫」
「メモリなんて GC でどうにかなる」
このような考えでプログラムを書くと値の参照の仕方や保持した値の書き換えなどの時の理解やコーディングの支障になる場合がなくもない。
メモリの仕組みをアクセス権で理解することで、変数の参照時など簡単に理解することができると考えた。
なぜ、安全にかつ高速にプログラムを書けるような仕組みを作りたいのか?
Java や Go、そして Rust などの静的型付け言語は、変数宣言は基本的に型注釈をつけることで変数が宣言できる。
しかし、大体の言語は 「型推論」 が搭載されている。便利ではあるがその反面、型注釈がないことで型の不適合などが起こりやすい。
そこで、Aegis では型推論という物自体を仕様で定義していない。もちろん、言語に実装を行うことはしない。
技術スタック / AI
- C++: メモリの操作、動作速度の観点から採用。
- Gemini 3 (Free Plan): C++の学習用やエラーの発生時などわからない時やバイブコーディングとして使用。
料金
オープンソースであり MIT ライセンスに基づき個人利用、商業利用可能なため無料でご利用できます。詳しくは、ここから。
FAQ
Q. 正式リリースは行われていますか?
A. いいえ。現在、正式リリースを行っておりません。ただ、ベータ版ではありますがある程度安定した動作は保障されています。
Q. 現在の最新バージョンはいくつですか?
A. 現時点(2026/03/22現在)での最新バージョンはv0.2.0となっています。
Q. 推奨環境は何ですか?
A. 現在推奨しているのは、Windows10 / 11のみです。配布しているバイナリデータがexeファイルのため安定した動作が見込めない MacOS や LinuxOS などは推奨しておりません。
Q. だれでも開発に貢献できますか?
A. はい。GitHubアカウントがあればだれでも気軽に貢献できます。
Q. 開発に参加するにはどうすればよいのですか?
A. このissueから「参加したい」などとコメントしてください。英語で書かれていますが、日本語でも構いません。
Q. 日本語でissueやPRをしても問題ないですか?
A. はい、問題ありません。ただ、海外向けのリポジトリの想定のため多少の違和感やOSS貢献者が理解することが難しい場合があります。