July 14, 2020

Кілька слів про філософію Python

За час існування мови програмування Python, навколо неї сформувалась велика спільнота, певні традиції та підходи до розробки. Це все переросло в певну філософію. Справжній Pythonista повинен знати і розуміти основи, щоб робити свою роботу ліпше.

Існує два типи мов програмування — ті, які усі постійно лають, і ті, якими ніхто не користується.

Справжній фанат вже напевно дослідив більшість джерел, які розповідають про Python. Особливу увагу можна звернути на пародію Вікіпедії під назвою Lurkmore, де весь шлях до підкорення вершини описаний ну дуже лаконічно, з відповідною експресією і всіма похідними, дуже раджу переглянути.

Якщо ж говорити саме про філософію, то варто згадати про визначну фігуру в розробці першої версії CPython — Тім Пітерс.

Перша річ, якою він відомий, це гібридний алгоритм сортування під назвою Timsort, що якраз і використовується як стандартний метод в Python.

Друга річ, це The Zen of Python, прямо описана філософія в десятку влучних фраз. Ця штука доступна з інтерпретатора в якості пасхального яйця, можна переглянути з допомогою команди import this.

The Zen of Python - вигляд з командного рядка

Українською мовою Дзен Пітону виглядає так:

  • Гарне краще за потворне.
  • Очевидне краще за неочевидне.
  • Просте краще за складне.
  • Складне краще за заплутане.
  • Плоске краще за вкладене.
  • Розділене є кращим за щільне.
  • Легкість читання має значення.
  • Особливі випадки не є настільки особливими, щоб порушувати правила.
  • Хоча практичність є важливішою за бездоганність.
  • Помилки ніколи не повинні бути замовчуваними.
  • Хіба що замовчуваними відверто.
  • Зустрівши двозначність, відкиньмо спокусу вгадати.
  • Має бути один — і, бажано, тільки один — очевидний спосіб зробити це.
  • Хоча спочатку він може бути й не очевидним, якщо ви не голландець.
  • Зараз — краще, ніж ніколи.
  • Хоча ніколи, найчастіше, — краще, ніж просто зараз.
  • Якщо реалізацію важко пояснити — задум поганий.
  • Якщо реалізацію легко пояснити — можливо, задум добрий.
  • Простори імен — чудова річ, тож робімо їх більше!

Якщо цікаво поринути в світ програмування на Python, можна переглянути статтю Як хоча б спробувати в Python за місяць