Pitón cumple 30 años

El 20 de febrero de 1991, Guido van Rossum publicó en el grupo alt.sources la primera versión del lenguaje de programación Python, en el que había estado trabajando desde diciembre de 1989 como parte de un proyecto para crear un lenguaje de scripting para resolver problemas de administración de sistemas en el sistema operativo Amoeba, que sería de un nivel superior que C, pero, a diferencia del shell Bourne, proporcionaría un acceso más conveniente a las llamadas del sistema operativo.

El nombre del proyecto fue elegido en honor al grupo de comedia Monty Python. La primera versión introdujo soporte para clases con herencia, manejo de excepciones, un sistema de módulos y los tipos básicos list, dict y str. La implementación de módulos y excepciones se tomó prestada del lenguaje Modula-3 y el estilo de codificación basado en sangría del lenguaje ABC, al que Guido contribuyó anteriormente.

Al crear Python, Guido se guió por los siguientes principios:

  • Principios que ahorraron tiempo durante el desarrollo:
    • Tomar prestadas ideas útiles de otros proyectos.
    • La búsqueda de la simplicidad, pero sin simplificaciones excesivas (principio de Einstein “Todo debe expresarse de la manera más simple posible, pero no más simple”).
    • Siguiendo la filosofía UNUX, según la cual los programas implementan una funcionalidad, pero lo hacen bien.
    • No se preocupe demasiado por el rendimiento, se pueden agregar optimizaciones cuando sea necesario.
    • No intentes luchar contra las cosas predominantes, sino sigue la corriente.
    • Evite el perfeccionismo; normalmente el nivel “suficientemente bueno” es suficiente.
    • A veces se pueden tomar atajos, especialmente si se puede hacer algo más adelante.
  • Otros principios:
    • No es necesario que la implementación sea específica de la plataforma. Es posible que algunas funciones no siempre estén disponibles, pero la funcionalidad básica debería funcionar en todas partes.
    • No cargue a los usuarios con piezas que puedan ser manipuladas por una máquina.
    • Soporte y promoción del código de usuario independiente de la plataforma, pero sin restringir el acceso a las capacidades y características de las plataformas.
    • Los sistemas grandes y complejos deben proporcionar múltiples niveles de expansión.
    • Los errores no deben ser fatales y pasar desapercibidos: el código de usuario debe poder detectar y manejar errores.
    • Los errores en el código de usuario no deberían afectar la funcionalidad de la máquina virtual y no deberían provocar un comportamiento indefinido del intérprete ni fallos del proceso.

    Fuente: opennet.ru

Añadir un comentario