Как стать автором
Поиск
Написать публикацию
Обновить

Python в enterprise-разработке: почему популярность ЯП распространилась и на корпоративный сектор. Часть 2

Время на прочтение14 мин
Количество просмотров2.9K
Всего голосов 34: ↑33 и ↓1+37
Комментарии14

Комментарии 14

Статья отличная и очень качественно проработанная, спасибо! Список названий инструментов получился внушительным. Подскажите, пожалуйста, что используется для создания виртуальных окружений на проде обычно (в сценарии отсутствия docker-контейнеров)?

uv сейчас уже отлично справляется со всем, горячо рекомендую

Приличное увеличение производительности (на 20–30% в Python 3.11+) устраняет традиционные возражения против использования языка в высоконагруженных системах

Ну уж нет, если переходом на Go, Java и прочих можно с ходу получить 10-30-кратное (в сравнении с CPython), 5-20-кратное (в сравнении с PyPy) ускорение, и, например, двукратную экономию по памяти, и всё это не теряя плюшек AutoMM. "Цуть-цуть" оттянуть неизбежное - да.

А вот список инструментов, угу, неплохой.

Когда вам понадобится скорость, то на сдачу можно и в 400 раз ускорить. Но с Java и Go вам не так будет удобно склеивать готовые кубики в ракету и летать на ней. Python на данный момент лучшая синяя изолента 🤭

https://youtu.be/iYfUs2iEZ9w

А ещё быстрее будет на C/C++ (или на чём-то более низкоуровневом). Но вопрос, как это всё поддерживать?

Про java и экономию памяти странно слышать - джава жрёт память как не в себя, поэтому и переходят на Go

Утверждения про прожорливость Java отстают лет на 15. И в любом случае она будет менее прожорлива, чем Python на тех же задачах.

Утверждения про проблемы с поддержкой - я не понял, к какому именно языку они относятся.

Менее прожорлива это сколько? В реальных задачах сервис на стеке java spring boot съедает 300-350 мб просто при запуске ничего не делая. Поэтому и переходят на GO, там 30-50 мб, то есть на порядок меньше потребляет ресурсов. Микросервисы реально микро получаются.

Python судя по бенчмаркам потребления памяти лучше джавы раза в 2, хотя до Go ему тоже далеко

сервис на стеке java spring boot

А вы не пробовали возить товары в магазинчик за углом не на Ан-22? И с каких это пор Spring Boot тождественно Java?

Кстати, какую именно память вы меряли? Их несколько.

Python судя по бенчмаркам потребления памяти лучше джавы раза в 2

Что означает выбор вами в сравнении менее прожорливого фреймворка, не более того.

Менее прожорлива это сколько?

У меня с реально равным по сути и объёму кодом получалось от полутора раз, зависит от данных.

  • применение шаблона репозитория для инкапсуляции асинхронных операций с данными;

  • абстрагирование асинхронных операций через сервисные слои;


Можно посмотреть как это выглядит на примерах кода?

Почти для всех языков есть тесты, асинхронность, типизация, а кое-где образы from scratch, а не slim, alpine, скорость в десятки раз больше и потребление памяти ниже. В чем преимущество Python не понятно. Что я постоянно наблюдаю - постоянный уход от Python. По моему весь цикл статей имеет ложную посылку. Где хорош Python - быстрые прототипы и ML/DL. Как только проект реально становится enterprise, а не быстро набросать прототип и протестить идею, наблюдается бегство в сторону более enterprise ready технологий

Он хорош там, где в конкурентной гонке нужна скорость программистов и внесения изменений, а в современном мире это практически везде. Почёт и уважение тем, кто думает о каждом байте и такте и делает вещи на века, но таких не много, рынок платит за быстро состряпываемый говнокод, который уже ароматизируют на заработанные деньги, либо закапывают без особых сожалений

Наличие Питона в энтерпрайзе, не фрагментарное (лямбды, MLки), а тяжелый проект, должно сопровождаться процентом покрытия тестами.

Чем меньше покрытия, тем больше шансов деплоя на прод не скомпилированного кода.

А что в других ЯП можно без тестов?

там компиляция многое вылавливает. А если в питоне делать статическую проверку типов, то нужно делать аннотации. А это в питоне муторно делается по сравнению с изначально статически типизированными языками. Быстрая разработка на питоне только на первых парах такая, а потом на го может быть быстрее фичи добавлять.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий