语言影响
坚固是一种 curly-bracket language 这受到了几种著名编程语言的影响和启发。
固定性最受C++的影响,但也借用了Python、JavaScript等语言中的概念。
C++的影响可以从变量声明的语法、For循环、重载函数的概念、隐式和显式类型转换以及许多其他细节中看出。
在语言的早期,稳定性在一定程度上受到JavaScript的影响。这是由于变量的函数级作用域和关键字的使用 var
。从版本0.4.0开始,JavaScript的影响有所减弱。现在,与JavaScript的主要相似之处在于函数是使用关键字定义的 function
。Solidity还支持与JavaScript中提供的语法和语义类似的导入语法和语义。除了这几点之外,Solidity看起来就像大多数其他花括号语言一样,不再对JavaScript产生重大影响。
另一个影响坚固的因素是 Python 。添加Solidity的修饰符是为了给Python的装饰器建模,使其具有更受限的功能。此外,多重继承、C3线性化和 super
关键字取自Python以及值和引用类型的一般赋值和复制语义。