Η Python γίνεται 30 ετών

Στις 20 Φεβρουαρίου 1991, ο Guido van Rossum δημοσίευσε στην ομάδα alt.sources την πρώτη έκδοση της γλώσσας προγραμματισμού Python, πάνω στην οποία εργαζόταν από τον Δεκέμβριο του 1989 ως μέρος ενός έργου για τη δημιουργία μιας γλώσσας σεναρίου για την επίλυση προβλημάτων διαχείρισης συστήματος σε το λειτουργικό σύστημα Amoeba, το οποίο θα ήταν υψηλότερου επιπέδου από το C, αλλά, σε αντίθεση με το κέλυφος Bourne, θα παρείχε πιο βολική πρόσβαση σε κλήσεις συστήματος OS.

Το όνομα για το έργο επιλέχθηκε προς τιμήν του κωμικού συγκροτήματος Monty Python. Η πρώτη έκδοση εισήγαγε υποστήριξη για κλάσεις με κληρονομικότητα, χειρισμό εξαιρέσεων, σύστημα λειτουργικών μονάδων και τη λίστα βασικών τύπων, dict και str. Η υλοποίηση των ενοτήτων και των εξαιρέσεων δανείστηκε από τη γλώσσα Modula-3 και το στυλ κωδικοποίησης που βασίζεται σε εσοχές από τη γλώσσα ABC, στην οποία συνεισέφερε προηγουμένως ο Guido.

Κατά τη δημιουργία της Python, ο Guido καθοδηγήθηκε από τις ακόλουθες αρχές:

  • Αρχές που εξοικονόμησαν χρόνο κατά την ανάπτυξη:
    • Δανεισμός χρήσιμων ιδεών από άλλα έργα.
    • Η επιδίωξη της απλότητας, αλλά χωρίς υπεραπλούστευση (αρχή του Einshein «Όλα πρέπει να δηλώνονται όσο πιο απλά γίνεται, αλλά όχι πιο απλά»).
    • Ακολουθώντας τη φιλοσοφία UNUX, σύμφωνα με την οποία τα προγράμματα υλοποιούν μία λειτουργικότητα, αλλά την κάνουν καλά.
    • Μην ανησυχείτε πολύ για την απόδοση, βελτιστοποιήσεις μπορούν να προστεθούν όπως απαιτείται όταν χρειάζεται.
    • Μην προσπαθήσετε να πολεμήσετε τα πράγματα που επικρατούν, αλλά ακολουθήστε τη ροή.
    • Αποφύγετε την τελειομανία, συνήθως το επίπεδο «αρκετά καλό» είναι αρκετό.
    • Μερικές φορές οι γωνίες μπορούν να κοπούν, ειδικά αν μπορεί να γίνει κάτι αργότερα.
  • Άλλες αρχές:
    • Η υλοποίηση δεν χρειάζεται να είναι συγκεκριμένη πλατφόρμα. Ορισμένες λειτουργίες μπορεί να μην είναι πάντα διαθέσιμες, αλλά η βασική λειτουργικότητα θα πρέπει να λειτουργεί παντού.
    • Μην επιβαρύνετε τους χρήστες με εξαρτήματα που μπορεί να χειριστεί ένα μηχάνημα.
    • Υποστήριξη και προώθηση κωδικού χρήστη ανεξάρτητου από την πλατφόρμα, αλλά χωρίς περιορισμό της πρόσβασης στις δυνατότητες και τις δυνατότητες των πλατφορμών.
    • Τα μεγάλα πολύπλοκα συστήματα πρέπει να παρέχουν πολλαπλά επίπεδα επέκτασης.
    • Τα σφάλματα δεν πρέπει να είναι μοιραία και μη ανιχνεύσιμα—ο κωδικός χρήστη θα πρέπει να μπορεί να εντοπίζει και να χειρίζεται τα σφάλματα.
    • Τα σφάλματα στον κώδικα χρήστη δεν πρέπει να επηρεάζουν τη λειτουργικότητα της εικονικής μηχανής και δεν πρέπει να οδηγούν σε απροσδιόριστη συμπεριφορά διερμηνέα και σφάλματα διεργασίας.

    Πηγή: opennet.ru

Προσθέστε ένα σχόλιο