Waveの哲学と目標
Waveは既存の低水準言語の限界を補完し、一つの言語で多様な開発分野を包括できる統合された開発エコシステムを構築することを目指しています。
ウェブ開発、オペレーティングシステム、人工知能、ブロックチェーン、ハードウェア制御、コンパイラ、ネットワーキン グ、暗号化のように性質が大きく異なる分野をそれぞれ異なる言語で分けて扱う代わりに、Waveは一つの言語と一つのツール体系内でこれらすべての領域を自然に結び付けたいと考えています。
Waveは汎用性を単に“多くの場所で使える”という意味では捉えていません。 それぞれの領域が要求する性能、制御力、安定性を同時に満たすことを目標とし、そのために言語の次元で一貫した設計と明確なルールを維持しています。
特にWaveは、ハードウェアに関する深い専門知識がない開発者でもハードウェア機能を活用できるように設計されています。 標準ハードウェアライブラリは複雑なハードウェアの概念を抽象化して、直感的な方法で使用できるように助けます。
同時にWaveは、必要な場合にハードウェアを直接制御できる低水準のアプローチも提供します。 これにより開発者は、抽象化されたインターフェースと直接制御の間を自由に行き来でき、性能を犠牲にせずにコードの複雑さを最小限に抑えることができます。
究極的にWaveは、一つの言語で多様な作業を処理し、効率的な性能と一貫した開発経験を提供する統合環境を目指します。
性能と効率性
Waveは高性能を前提に設計された言語です。 コンパイラと実行モデルは最適化されたコード生成を目指し、さまざまなプラットフォームで安定的な性能を維持できるように構成されています。
これによりウェブアプリケーションのような高水準の領域から、オペレーティングシステムやシステムソフトウェアのように性能が重要な領域まで、一つの言語で一貫した性能特性を提供することを目指します。
安全性とエラー処理
Waveは安全なプログラミングを重要な設計基準としています。 コンパイルタイムの段階で可能な限りエラーを検出し、ランタイムで起こりうる問題を最小限にする方向で設計されています。
メモリの安全性、タイプ安全性などの基本的な安全性を保証しつつ、それらを犠牲にせずに性能を維持することを目標としています。 Waveは、安全性と性能は相反する概念ではなく、言語設計を通じて共に達成できる要素と考えています。
開発者の生産性向上
Waveは直感的で一貫した文法を通じて開発者が言語を迅速に習得し効率的に使用できるように設計されています。
また、豊富な標準ライブラリとツール体系(Vex、WSONなど)を通じて複雑な作業を繰り返し実装せずに解決することを支援します。 これを通じて開発者は、環境設定やボイラープレートコードよりも問題解決そのものに集中することができます。