Python compie 30 anni

Il 20 febbraio 1991 Guido van Rossum pubblicò nel gruppo alt.sources la prima versione del linguaggio di programmazione Python, al quale stava lavorando dal dicembre 1989 come parte di un progetto per creare un linguaggio di scripting per risolvere problemi di amministrazione di sistema in il sistema operativo Amoeba, che sarebbe di livello superiore rispetto a C, ma, a differenza della Bourne Shell, fornirebbe un accesso più conveniente alle chiamate di sistema del sistema operativo.

Il nome del progetto è stato scelto in onore del gruppo comico Monty Python. La prima versione introduceva il supporto per le classi con ereditarietà, gestione delle eccezioni, un sistema di moduli e i tipi base list, dict e str. L'implementazione dei moduli e delle eccezioni è stata presa in prestito dal linguaggio Modula-3, e lo stile di codifica basato sull'indentazione dal linguaggio ABC, al quale Guido aveva precedentemente contribuito.

Durante la creazione di Python, Guido è stato guidato dai seguenti principi:

  • Principi che hanno fatto risparmiare tempo durante lo sviluppo:
    • Prendere in prestito idee utili da altri progetti.
    • La ricerca della semplicità, ma senza semplificazioni eccessive (principio di Einshein “Tutto dovrebbe essere affermato nel modo più semplice possibile, ma non in modo più semplice”).
    • Seguendo la filosofia UNUX, secondo la quale i programmi implementano una funzionalità, ma la fanno bene.
    • Non preoccuparti troppo delle prestazioni, le ottimizzazioni possono essere aggiunte secondo necessità quando necessario.
    • Non cercare di combattere le cose prevalenti, ma segui il flusso.
    • Evita il perfezionismo; di solito il livello “abbastanza buono” è sufficiente.
    • A volte è possibile tagliare gli angoli, soprattutto se si può fare qualcosa in seguito.
  • Altri principi:
    • Non è necessario che l'implementazione sia specifica della piattaforma. Alcune funzionalità potrebbero non essere sempre disponibili, ma le funzionalità di base dovrebbero funzionare ovunque.
    • Non sovraccaricare gli utenti con parti che possono essere maneggiate da una macchina.
    • Supporto e promozione del codice utente indipendente dalla piattaforma, ma senza limitare l'accesso alle capacità e alle caratteristiche delle piattaforme.
    • I grandi sistemi complessi devono fornire più livelli di espansione.
    • Gli errori non dovrebbero essere fatali e non rilevati: il codice utente dovrebbe essere in grado di rilevare e gestire gli errori.
    • Gli errori nel codice utente non dovrebbero influenzare la funzionalità della macchina virtuale e non dovrebbero portare a comportamenti indefiniti dell'interprete e arresti anomali del processo.

    Fonte: opennet.ru

Aggiungi un commento