言語の影響
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から採用されています。