Solidity no es de ninguna manera un lenguaje perfecto, pero la mayoría de estas quejas son aplicables a todos los lenguajes de programación de contratos inteligentes. Siempre se puede escribir código ineficaz. Siempre puede introducir vulnerabilidades críticas muy fácilmente. No culpes a la varita, culpa al mago.