Python по-прежнему остается одним из самых популярных языков программирования. Несмотря на его плюсы и минусы, он прочно удерживает лидирующие позиции и применяется в самых разных областях.
Одним из главных преимуществ Python, которое часто отмечают эксперты, является огромное количество фреймворков и библиотек, созданных сообществом. На Python можно сделать буквально всё! Хотите десктопное приложение? Используйте PyQt, который использует реализацию Qt из C++. Python медленнее компилируемых языков? Сообщество уже создало решения для компиляции Python в нативный код. Эти и многие другие примеры показывают, почему язык так популярен.
Давайте разберёмся конкретнее, что пишут на Python сегодня.
Одним из главных преимуществ Python, которое часто отмечают эксперты, является огромное количество фреймворков и библиотек, созданных сообществом. На Python можно сделать буквально всё! Хотите десктопное приложение? Используйте PyQt, который использует реализацию Qt из C++. Python медленнее компилируемых языков? Сообщество уже создало решения для компиляции Python в нативный код. Эти и многие другие примеры показывают, почему язык так популярен.
Давайте разберёмся конкретнее, что пишут на Python сегодня.
DevOps и автоматизация
В контексте DevOps Python выступает в роли «клея», который скриптами соединяет подзадачи в рамках большой архитектурной цели. На нём можно как описывать инфраструктуру (например, с помощью Pulumi), так и создавать кастомные пайплайны. При оркестрации приложений часто пишутся отдельные Python-скрипты, которые последовательно выполняют процессы развёртывания.
Отдельно стоит выделить использование Python вместе с Ansible. Эта технология позволяет автоматически выполнять полную настройку приложения на новом сервере, заменяя ручную работу инженера: настройку конфигураций, подключение метрик и систем логирования в комплексных проектах.
Отдельно стоит выделить использование Python вместе с Ansible. Эта технология позволяет автоматически выполнять полную настройку приложения на новом сервере, заменяя ручную работу инженера: настройку конфигураций, подключение метрик и систем логирования в комплексных проектах.
Machine Learning и Data Science
Анализ рынка вакансий показывает, что практически весь Machine Learning реализуется на Python. Благодаря своей простоте Python позволяет писать понятный код, который вызывает «тяжеловесные» ML-библиотеки, такие как TensorFlow или PyTorch. В машинном обучении инженерам часто важнее думать о концепциях ML/AI, чем о тонкостях языка.
Особое место в экосистеме занимает Jupyter Notebook. Этот инструмент позволяет работать с большими данными и обучать модели прямо в облаке, без необходимости иметь мощный локальный компьютер. А возможность оформить исполняемый код как интерактивный доклад и поделиться им делает Python основным выбором для исследований и коллаборации.
Особое место в экосистеме занимает Jupyter Notebook. Этот инструмент позволяет работать с большими данными и обучать модели прямо в облаке, без необходимости иметь мощный локальный компьютер. А возможность оформить исполняемый код как интерактивный доклад и поделиться им делает Python основным выбором для исследований и коллаборации.
Backend-разработка
В своё время для бэкенд-систем на Python был невероятно популярен фреймворк Django. Однако сейчас всё активнее используется современный асинхронный подход с фреймворком FastAPI. Построенный на библиотеках Starlette, Pydantic и Uvicorn, он позволяет добиться высокой производительности для API.
Для более простых синхронных задач по-прежнему часто выбирают Flask. Таким образом, несмотря на наличие Global Interpreter Lock (GIL), у Python есть несколько сильных и востребованных фреймворков для backend-а.
Для более простых синхронных задач по-прежнему часто выбирают Flask. Таким образом, несмотря на наличие Global Interpreter Lock (GIL), у Python есть несколько сильных и востребованных фреймворков для backend-а.
Тестирование
Тестировщики по всему миру используют библиотеку pytest для создания автоматизированных проверок любого уровня сложности. На Python можно тестировать веб-интерфейсы (с помощью Selenium или Playwright), backend-логику и работу с базами данных. Для тестирования десктопных приложений можно создать собственную прослойку, например, через telnet или другие протоколы.
Такие автоматизированные проверки интегрируются в CI/CD-пайплайны для контроля качества кода и поддержания стабильности продакшен-среды. Результаты тестов затем удобно визуализируются в виде отчётов с помощью инструментов вроде Allure.
Такие автоматизированные проверки интегрируются в CI/CD-пайплайны для контроля качества кода и поддержания стабильности продакшен-среды. Результаты тестов затем удобно визуализируются в виде отчётов с помощью инструментов вроде Allure.
В этой статье опущены некоторые прикладные направления, например, создание Telegram-ботов или использование скриптов в GameDev. Это уже дело вкуса и выбора оптимального решения для конкретной задачи. В любом случае, Python открывает перед разработчиком целый спектр возможностей — остаётся только выбрать своё направление.
P.S. А ещё на Python можно писать почти по-русски! (Но лучше так не делать в продакшене 😉)
P.S. А ещё на Python можно писать почти по-русски! (Но лучше так не делать в продакшене 😉)