Python Has Serious Problems, But I Use It Anyway

Python Has Serious Problems, But I Use It Anyway

ArjanCodes· · 2 хв читання · Дивитися на YouTube →

Чому я раніше не любив Python, а тепер використовую його? – Роздуми Арьяна

Контекст та досвід автора

Автор каналу ArjanCodes розповідає, що раніше не подобався Python, але зараз керує великим YouTube-каналом, присвяченим цій мові. Він починав програмування з Basic на Commodore 64, потім вивчав Turbo Pascal, C++, Java, Modula-2, PHP, JavaScript, C, а під час докторантури використовував Python як скриптовий шар. Має досвід роботи з різними типами мов: строгими, функціональними, системними та скриптовими.

Недоліки Python з точки зору автора

  1. Відступи визначають область видимості
    Автор вважав це крихким підходом, оскільки помилка в пробілі або табуляції може змінити логіку коду. Він досі вважає, що пробіли не повинні мати семантичного значення.

  2. Відсутність строгості
    У порівнянні з C++ або Java, де компілятор перешкоджає помилкам, у Python багато проблем виникає лише під час виконання. Анотації типів допомагають, але вони необов'язкові та не контрольуються інтерпретатором.

  3. Незручність у окремих місцях
    Наприклад, анотації типів для callable або generics (до Python 3.12) виглядають громіздко та незрозуміло.

  4. Дизайн класів
    Використання __init__ як конструктора здавалося "костилем". Необхідність явно вказувати self, плутанина між змінними класу та екземпляра, а також неконсистентність у data classes викликали роздратування.

  5. Імпорти та пакування
    Відносні та абсолютні імпорти, визначення папок як пакетів — це довго було джерелом плутанини.

  6. Керування залежностями
    Історично інструменти (virtual environments, pip, poetry) були безладними, хоча зараз ситуація покращилася (наприклад, завдяки uv).

  7. Продуктивність
    Python повільніший за C++, Rust або Go, що часто стає предметом критики.

Чому автор все одно використовує Python?

  • Простота налаштування та швидкість розробки – ідеальний для скриптів та автоматизації.
  • Величезна екосистема – інтегрується з усім, особливо в сфері AI та машинного навчання, де Python є стандартом.
  • Агенти зі штучним інтелектом – чудово розуміють Python через велику кількість навчальних даних.
  • "Клейовий код" – 90% завдань автора полягають у інтеграції API, баз даних, платіжних систем, email-сервісів тощо. У таких випадках продуктивність Python рідко є вузьким місцем (найчастіше – мережа, база даних або зовнішні API).

Ширший урок: мислення розробника

Автор застерігає від відождествлення себе з мовою програмування. Якщо ви вважаєте себе "Python-розробником", критика мови може сприйматися як особиста образа. Це заважає об'єктивно оцінювати компроміси та вибирати інструменти за потребами проекту.
Ключові ідеї:

  • Немає "найкращої" мови – є інструменти, найбільш придатні для конкретного контексту.
  • Вибір залежить від команди, екосистеми, інфраструктури та домену (наприклад, веб-додатки, embedded systems, AI).
  • Дозволяється використовувати різні мови в різних проектах – не потрібно "одружуватися" з одним інструментом.
  • Не варто осуджувати вибір інших розробників, оскільки їхні обмеження та контекст можуть бути невідомими.
  • Архітектура та якість дизайну важливіші за вибір мови.

Висновок

Python має недоліки, але його практичні переваги – простота, екосистема та придатність для інтеграцій – роблять його чудовим вибором для багатьох завдань. Автор наголошує на важливості об'єктивного підходу до вибору інструментів та уникання мовних "таборів". Для професійного зростання розробникам варто оптимізувати результати, а не дотримуватися ідеології.

Сподобався цей підсумок? Кинь будь-яке YouTube-відео нашому боту — отримай свій підсумок за 30 секунд.
Спробувати YTSummarAI

Не маєш 2 години на подкаст?

Кинь YouTube-лінк боту в Telegram — отримай ключові ідеї за 30 секунд. 9 зірок безкоштовно при старті.

Спробувати YTSummarAI