Una de las cosas que aprendí a lo largo de mi carrera fué la de programar, en diversas oportunidades he tenido que hacer muchos tipos de programación, tanto en Lenguaje C, Java, Ensambler, diagrama escalera en PLC, pero específicamente en Ethereum se programa en Solidity, lo cual es muy similar a JavaScript para EVM para compliarse Bytecode y pueda ejecutarse en la máquina vitual Ether.
Debido a esta similitud con JavaScript es fácil de aprender, en sí lo que importa al momento de programar es la lógica y lo que cambia en los lenguajes es la sintaxis, tiene para la programación orientada a objetos, además que se pueden crear y usar rutinas con ciclos para cierta información específica, lo cual, es una ventaja sobre Bitcoin Script que no tiene el turing completo.
Solidity tiene la capacidad de ser compilarse o interpretarse. En el primer caso, el resultado es un bytecode que solo puede ser ejecutado por la EVM. En el segundo caso, un intérprete toma las instrucciones del programa y las transforman en OP_CODES y bytecode dentro de un entorno de desarrollo. Esto resulta muy útil para tareas de análisis y mejoras de código.
Source:
https://es.cointelegraph.com/explained/solidity-the-programming-language-of-the-ethereumSinceramente me pareció interesante este tema, pues no había escarbado entre la programación de criptomonedas, sólo tenía conocimiento que cualquier persona puede crear una criptomoneda sólo usando los algoritmos ERC20 Disponibles, pero es una gran manera de dar a conocer que es muy accesible a través de Solidity.