Influencias del Lenguaje

Solidity es un lenguaje de llaves, que ha sido influenciado e inspirado por varios lenguajes de programación conocidos.

Solidity está altamente influenciado por C++, sin embargo, también tomó prestados conceptos de lenguajes como Python, JavaScript y otros.

La influencia de C++ se puede ver en la sintaxis de las declaraciones de variables, en bucles «for», el concepto de sobrecarga de funciones, conversiones de tipo implícitas y explícitas, entre otros detalles.

En la etapa más prematura del lenguaje, Solidity solía estar fuertemente influenciado por JavaScript, esto debido al alcance de las variables a nivel de función y al uso de la palabra clave var. La influencia de JavaScript se redujo a partir del versión 0.4.0. Ahora, la principal similitud restante con JavaScript es que las funciones se definen usando la palabra clave function, y, que al momento de importar, Solidity utiliza una sintaxis y semántica muy similar a la de JavaScript. Dejando de lado los puntos anteriores, Solidity se parece a la mayoría de lenguajes que utilizan llaves. Cabe recalcar, que Solidity ya no cuenta con una gran influencia de JavaScript.

Otra influencia para Solidity fue Python. Los modificadores de Solidity se agregaron tratando de modelar a los decoradores de Python, con una funcionalidad mucho más restringida. Además, la herencia múltiple, la linealización C3 y la palabra clave super se tomaron de Python, así como la asignación general y la semántica de copia de los tipos de valor y referencia.