ソースコード共有サイトGithubにて公開されているEthereum向けスマートコントラクト開発言語の「Vyper」が7月6日、アルファからベータへとテスト段階を移行された。現在EthereumのスマートコントラクトではSolidityというJavaScriptをベースに開発されているのに対して、VyperはPythonをベースとしている。

言語特性の違いは、Pythonだけは既に習得しているという開発者の興味を新たに惹く可能性が大いにあるが、SolidityとVyperの違いはそれだけではなく、Vyperのほうがより堅牢に作られていると言われる。

Solidityの特徴とも言える機能の一つであるmodifierやコントラクトの継承、そして無限ループや関数の再帰呼び出しなどはVyperから取り除かれている。

後発なのに機能削減ばかりで出来ることが少ない劣化言語なのではないかと思われるかもしれない。しかし、プログラマー全てが賢者たり得ないため、どうしても意図せぬバグが入り込む余地はあるが、言語レベルで制限されていることで作られたコントラクトはより堅牢であることが約束されており、Solidityにおいては十分にテストが必要だった過程を抜きにして契約の罠から利用者を守ることが出来る場合がある。

もちろん現在はまだβテストの段階であり今後仕様が変わることもあるが、αからβへ移行したことで開発者の参入は増え、言語としての成長も加速されていくことだろう。ドキュメントでも言語の説明として以前まであった『実験的な』という記述が削除され、実運用に向けて着々と進みだしている。

参考:Github