言語の影響

Solidityは、いくつかの有名なプログラミング言語に影響やインスピレーションを受けた カーリーブラケット言語 です。

Solidityは、C++から最も大きな影響を受けていますが、PythonやJavaScriptなどの言語からもコンセプトを借りています。

C++からの影響は、変数宣言やforループの構文、関数のオーバーロードの概念、暗黙的な型変換と明示的な型変換、その他多くの細部に見られます。

言語開発の初期において、SolidityはJavaScriptの影響を部分的に受けていました。 これは、関数レベルでの変数のスコープや、キーワード var の使用によるものでした。 JavaScriptの影響はバージョン0.4.0から少なくなりました。 現在、JavaScriptとの主な類似点は、関数がキーワード function を使って定義されていることです。 また、Solidityは、JavaScriptと同様のインポート構文とセマンティクスをサポートしています。 これらの点を除けば、Solidityは他の多くのカーリーブラケット言語と同じように見えますし、もはやJavaScriptの影響は大きくありません。

もう一つSolidityに影響を与えたのがPythonです。 Solidityのモディファイアは、Pythonのデコレータをモデルにして追加されたもので、機能はより制限されています。 さらに、多重継承、C3線形化、 super キーワードは、値や参照型の一般的な代入とコピーのセマンティクスと同様に、Pythonから採用されています。