Python es el mejor lenguaje que conozco actualmente, pero el tipado estático es una gran ventaja debido a la finalización automática (aunque hay soporte limitado para lenguajes dinámicos, no es nada comparado con el soportado en estática). Tengo curiosidad por saber si hay algún idioma que intente agregar los beneficios de Python a un lenguaje estáticamente tipado. En particular, estoy interesado en lenguas con características como:¿Qué lenguajes tipados estáticamente son similares a Python?
- apoyo Sintaxis: como el de los diccionarios, por comprensión de matriz
- Funciones: argumentos de palabras clave, los cierres, los valores tupla/retorno múltiples
- modificación de tiempo de ejecución/creación de clases
- evitación de especificar las clases en todas partes (en Python esto se debe a la tipificación de pato, aunque la inferencia de tipos funcionaría mejor en un lenguaje de tipos estáticos)
- apoyo Metaprogramación: esto se logra en Python través de la reflexión, annotati ons y metaclasses
¿Hay algún lenguaje estáticamente tipado con un número significativo de estas características?
Esta "modificación/creación de clases en tiempo de ejecución" es casi tan "antiestática" como la que se puede obtener. Hay otras formas de resolver un problema en programas de tipo estático. – viraptor
Autocompletar es una función de herramienta, no una función de idioma. Algunos IDE (por ejemplo, Komodo) pueden realizar autocompletado para Python. Siempre y cuando evites la meta-programación complicada. –
@viraptor: podría agregar "evitar la especificación de clases en todas partes" a eso. Las clases son tipos en la mayoría de los sistemas de clases, y no tener que especificar un tipo es un poco extraño para un lenguaje estáticamente tipado. –