Python виповнилося 30 років

20 лютого 1991 року Гвідо ван Россум опублікував у групі alt.sources перший випуск мови програмування Python, над яким працював з грудня 1989 року в рамках проекту зі створення скриптової мови для вирішення завдань системного адміністрування в операційній системі Amoeba, яка була б вищого рівня. ніж Сі, але, на відміну від Bourne shell, надавав більш зручний доступ до системних викликів ОС.

Ім'я для проекту було обрано на честь комедійного гурту Монті Пайтон (Monty Python). У першій версії була реалізована підтримка класів із успадкуванням, обробка винятків, система модулів та базові типи list, dict та str. Реалізація модулів та винятків була запозичена з мови Modula-3, а стиль кодування на основі відступів з мови ABC, у розробці якої Гвідо раніше брав участь.

У процесі створення Python Гвідо керувався такими принципами:

  • Принципи, які дозволили заощадити час розробки:
    • Запозичення корисних ідей інших проектів.
    • Прагнення до простоти, але без надмірного спрощення (принцип Ейншейна "Все має бути викладено так просто, як тільки можливо, але не простіше").
    • Наслідування філософії UNUX, відповідно до якої програми реалізують якусь одну функціональність, але роблять це добре.
    • Не надто піклуватися про продуктивність, оптимізацію можна додавати за необхідності, коли вони знадобляться.
    • Не намагатися боротися з речами, що склалися, а плисти за течією.
    • Уникати перфекціонізму зазвичай вистачає і рівня «досить добре».
    • Іноді можна зрізати кути, особливо якщо щось можна зробити пізніше.
  • Інші принципи:
    • Реалізація має бути прив'язана до конкретної платформі. Деякі можливості можуть бути доступні не завжди, але базова функціональність має працювати скрізь.
    • Не навантажувати користувачів деталями, обробку яких може взяти він машина.
    • Підтримка і просування платформонезалежного користувача коду, але без обмеження доступу до можливостей і особливостей платформ.
    • Великі складні системи повинні надавати кілька рівнів для розширення.
    • Помилки не повинні бути фатальними і непоміченими - код користувача повинен мати можливість перехопити і обробити помилки.
    • Помилки в коді користувача не повинні впливати на функціональність віртуальної машини і не повинні призводити до невизначеної поведінки інтерпретатора і краху процесів.

    Джерело: opennet.ru

Додати коментар або відгук