本プロジェクト「Aywsion(アイウィジョン)」は、学生やプログラミング初心者が「コンピュータがどのように言葉(コード)を理解し、実行するのか」というインタプリタの仕組みや、OSの基礎概念を安全に学ぶために開発されたプロジェクトです。最新の安全な言語であるRustを用いて構築されており、情報技術(IT)の基礎教育に貢献することを目的としています。
Aywsionは、単なるプログラミング言語ではなく、「コマンドライン上で動作する軽量な論理エンジン(シェル兼インタプリタ)」として設計されています。
既存の複雑なプログラミング言語(C++やJavaなど)を学ぶ前に、変数の宣言、条件分岐、ループ処理、そして外部ライブラリのインポートといった「プログラミング的思考」の根幹を、非常にシンプルで直感的な構文で体験することができます。
現代の情報教育において、プログラミング言語の文法を丸暗記するだけでなく、「システムが裏側でどう動いているか」を想像する力が求められています。Aywsionは以下の点で優れた学習効果を発揮します。
let, if, fn)を用いることで、「どこからどこまでがひとつの処理か」を視覚的に理解しやすくなっています。ayw install コマンドを通じて、世界中のコード(ライブラリ)を自分の環境に取り込むという、現代のソフトウェア開発に不可欠な「パッケージ管理」の概念を安全に体験できます。db_save, db_load)として提供することで、データ駆動型のアプリケーション設計を容易に学べます。Aywsionのコアエンジンは、メモリ安全性が高く、世界中で急速に採用が進んでいるシステムプログラミング言語「Rust」で書かれています。
入力されたスクリプトは一行ずつ読み込まれ、内部の Runtime 構造体によって解釈されます。変数は HashMap によってメモリ上に管理され、スコープ(変数の有効範囲)の概念をシミュレートします。
複雑なSQL構文を学ぶ前に、NoSQL型のキー・バリュー(KVS)データ保存を体験できるよう、軽量なJSON形式を用いたローカルデータベースシステムを採用しています。これにより、生徒はデータの構造化(ArrayやStringの扱い)を直感的に学習できます。
Aywsionは学習環境としての安全性を最優先しています。外部通信は公式のパッケージリポジトリ(Supabaseを利用したAyw-Hub)へのアクセスのみに制限されており、悪意のあるコードの実行を防ぐためのサンドボックス的な設計思想を取り入れています。これにより、学校のネットワーク環境でも安心して利用可能です。