それが、『 *C++ 言語 』 です。※「アスタシープラ」と読みます。
C++ の現場に戻ってみたら、いまでもメモリ管理をプログラマーがその都度やる形のまま。 C++ は高級言語なのに、メモリ管理が手作業として残っていました。 スマートポインタも、所有権管理も、その手作業を洗練させたものであって、プログラマー自身がメモリ管理を考えなくてよくなったわけではありません。
アドレスの手計算は C で不要になり、データと処理を結び付ける仕組みは C++ のクラスが引き受けました。高級言語の歴史は、手作業を捨ててきた歴史です。 残っているものは、完全なメモリの管理でした。
C++ で書きながら、メモリの安全性と効率性を仕組みの側に持たせる。 *C++ で書いた部分のメモリ安全の不具合は、検査を全部効かせた姿では、寿命・検査・書き方の 3 つで、言語の側が防ぎます。 AI にコードを書かせるとき、人が読んで確かめる量が生産性を決めます。メモリの安全は、*C++ で書いた部分では、コードを読んで確かめずに済みます。 当社は、その C++ のためのメモリ管理を完成させました。 実は、この技術の初版はおよそ 20 年前から商用のタイトルで動き、第 2 版も、世に出ている製品の中で既に毎日動いています。
開発責任者 淵上 和男
*C++ の開発と、そのライセンス供与。このために設立されました。 グループ会社で開発したものが、それ自体で事業として成り立つと考えたからです。
※ 現在のライセンス先は、グループ内企業に限定しています。
C++ に、完全な自動メモリ管理を持ち込んだ言語です。
そのランタイムが YamatoMM( Yamato Memory Manager )です。
プログラマーが new と delete を対応させたり、寿命を考えたりする必要がなくなりました。
オブジェクトの寿命を Java や C# と同じ要領で扱えます。 開発が速くなり、検査を全部効かせた姿では、メモリ管理に起因する不具合が無くなります。 ただし、全て自分で書いた C++ よりは、安全性と効率性が高くなった分だけ処理が掛かります。 それでも、Java や C# の実行環境よりは速く動きます。(= 実際の製品で確かめた範囲です)
なお当社では、この言語はゲーム・組み込み・大きな C++ 資産を抱える現場に向いていると考えています。