Python kończy 30 lat

20 lutego 1991 roku Guido van Rossum opublikował w grupie alt.sources pierwsze wydanie języka programowania Python, nad którym pracował od grudnia 1989 roku w ramach projektu stworzenia języka skryptowego do rozwiązywania problemów z administracją systemem w system operacyjny Amoeba, który byłby na wyższym poziomie niż C, ale w przeciwieństwie do powłoki Bourne'a zapewniałby wygodniejszy dostęp do wywołań systemowych systemu operacyjnego.

Nazwa projektu została wybrana na cześć grupy komediowej Monty Python. Pierwsza wersja wprowadziła obsługę klas z dziedziczeniem, obsługę wyjątków, system modułowy oraz podstawową listę typów, dict i str. Implementację modułów i wyjątków zapożyczono z języka Modula-3, a styl kodowania oparty na wcięciach z języka ABC, do którego wcześniej przyczynił się Guido.

Tworząc Pythona, Guido kierował się następującymi zasadami:

  • Zasady, które zaoszczędziły czas podczas programowania:
    • Zapożyczanie przydatnych pomysłów z innych projektów.
    • Dążenie do prostoty, ale bez nadmiernych uproszczeń (zasada Einsheina „Wszystko powinno być powiedziane możliwie najprościej, ale nie prościej”).
    • Kierując się filozofią UNUX, zgodnie z którą programy realizują jedną funkcjonalność, ale robią to dobrze.
    • Nie martw się zbytnio o wydajność, w razie potrzeby można dodać optymalizacje.
    • Nie próbuj walczyć z dominującymi rzeczami, ale idź z prądem.
    • Unikaj perfekcjonizmu, zazwyczaj wystarczy poziom „wystarczająco dobry”.
    • Czasami można ciąć narożniki, zwłaszcza jeśli można coś zrobić później.
  • Inne zasady:
    • Implementacja nie musi być specyficzna dla platformy. Niektóre funkcje mogą nie zawsze być dostępne, ale podstawowa funkcjonalność powinna działać wszędzie.
    • Nie obciążaj użytkowników częściami, które mogą być obsługiwane przez maszynę.
    • Wsparcie i promocja kodu użytkownika niezależnego od platformy, ale bez ograniczania dostępu do możliwości i funkcji platform.
    • Duże, złożone systemy muszą zapewniać wiele poziomów rozbudowy.
    • Błędy nie powinny być krytyczne i niewykryte — kod użytkownika powinien być w stanie wychwycić i obsłużyć błędy.
    • Błędy w kodzie użytkownika nie powinny mieć wpływu na funkcjonalność maszyny wirtualnej i nie powinny prowadzić do niezdefiniowanego zachowania interpretera i awarii procesów.

    Źródło: opennet.ru

Dodaj komentarz