Verseとは?
Verseは、メタバース(仮想現実)のためのプログラミング言語です。基本的には「関数型-宣言型」の言語であり、変数が時間の経過とともに変化するセルではなく、単一の値を指すことを意味します。
また、Verseは関数論理言語("Curry"や"Mercury"などのプログラミング言語)であり、その評価モデルは寛容ですが厳格ではない(評価の順序が固定されていない)です。
さらに、Verseは「遅延」ではなく、全く評価されないケースはありません。
代わりに、すべてが評価されますが、順序はかなり自由です。
また、このプログラミング言語は、型が第一級の値であるという特異でユニークな静的型システムを持っています。
Verseはまた、「モナド」の代わりに「エフェクトシステム」を持っています。
Verseの開発背景
このメタバースプログラミング言語は、ゲームの世界の没入型3D現実をメタバースの没入型3D社会現実に拡大するというTim Sweeneyのビジョンから生まれました。
彼はC++のエキスパートであり、Web3の時代はメタバース専用の新しいプログラミング言語を必要とすると考えています。
Verseプログラミング言語の初期リリースはいつ行われるのか、現在は確定した日付はありません。
しかし、Simon Peytonが彼のプレゼンテーションで簡単に説明したように、リリースはおそらく2023年に行われるでしょうが、それは限定的な形でのものになるでしょう。
Verseの特徴
Verseは表現向けの言語であり、完全に普通の関数言語のように見える部分集合を持っています。
それは数値(整数)とタプルまたは配列を含みます。
また、"let"または"wear"の束縛のような束縛を持ち、それらは前にキーワードを置かずに定義されます。
それらは"コロンイコール"とセミコロンを使って定義され、順序は関係ありません。さらに、Verseプログラミング言語は、第一級の関数とラムダ式も持っています。
また、条件と再帰も含まれます。
Verseのもう一つの核となる側面は「選択」で、これはこのWeb3プログラミング言語が表に出す新しいものです。
例えば、Haskellの式は1つの値を示しますが、Verseの式は0個以上の値の列を示します。
束縛と選択を組み合わせると、物事は非常に有用になります。
簡単な例を以下に示します:
[Image: denotes sequence of three values, 2, 8, and 3 ]
変数は常に単一の値に束縛され、値の列には束縛されません。
これは、上記の例で、Verseが「(x+1)」を「x」が「1」に束縛された状態で実行し、次に「x」が「7」に束縛された状態で実行し、最後に「x」が「2」に束縛された状態で実行するということを意味します。
つまり、「x」は「(1|7|2」に束縛されていません。
Verseのビジョンと将来性
Sweeney氏の目には、メタバースは人々が3Dリアルタイムの仮想現実で会って相互作用を持つ場所です。
そのため、「社会的」がキーフレーズとなります。
これはまた、メタバースには確立した企業のオーバーロードなしにルールがある開放経済が含まれている必要があることも意味します。
さらに、メタバースはすべてのプログラマ、アーティスト、デザイナーにとって開放的な創造のプラットフォームでなければなりません。
全ての人々のコードとコンテンツは、動的に相互運用可能で、実行中のコードのライブアップデートが必要です。
これは普遍的なオープンスタンダードが必要であることを意味します。これら全てのアイデアとビジョンはVerseプログラミング言語に詰め込まれています。
Sweeney氏とEpic Gamesは、誰でも実装できるように論文と仕様を公開すると約束しています。
また、コンパイラ、検証器、ランタイムをIPの制約なしに寛容なオープンソースライセンスで提供すると約束しています。
この新しい言語に関して、Epic Gamesの目標は、コミュニティとの豊かな対話を通じてVerseを改善することです。
結論
Verseは非常に新しいプログラミング言語で、メタバースという新たな領域を対象としています。
その設計と特性は、開発者が自由に創造的な作品を作り出し、メタバースという新たな仮想現実の世界を形作るのに役立つことを目指しています。
開発は続行中であり、その進展に注目が集まっています。