При этом Python стоит на третьем месте в рейтинге наиболее любимых ЯП. Далее расскажем, почему и как его используют крупные корпорации и небольшие стартапы.
/ фото PxHere PD
Крупные ИТ-компании: простота и производительность
Аналитики из iDataLabs больше двух лет собирали данные о том, сколько компаний используют Python. В результате они установили, что на этом языке пишут в 75 тыс. компаний по всему миру. И хотя, по их данным, Python имеет не самую большую долю рынка, его популярность стабильно увеличивается.
В прошлом году Python занимал пятое место в рейтинге TIOBE. Это индекс, оценивающий популярность ЯП, на основе количества поисковых запросов на платформах Google, Wikipedia, YouTube, Amazon и др. В 2018 году популярность языка увеличилась до 6% (почти на 3% c 2017 года), и теперь он занимает четвертое место в рейтинге.
Среди крупных организаций, которые начали использовать Python именно из-за его простоты и популярности, можно выделить Instagram. Как отметили представители компании, они перешли на Python 3 и фреймворк Django из-за того, что этот ЯП «дружелюбен» к разработчикам и позволяет им сконцентрироваться на создании важных для пользователей функций.
Плюс широкая распространенность языка и глобальное комьюнити (по данным SO, на нем пишет 39% разработчиков, а 68% ? называет Python любимым ЯП) позволяют быстрее нанимать новых членов команды.
Другой кейс ? компания SurveyMonkey, занимающаяся разработкой облачного программного обеспечения для онлайн-опросов. Ежедневно организация обрабатывает порядка миллионов ответов респондентов. Изначально веб-приложение SurveyMonkey было написано на C# с помощью платформы .NET. Приложение работало без сбоев, однако показывало не лучшую производительность во время тестирования и развертки новых фич.
В SurveyMonkey решили переписать приложение на Python и разбить основные функции на несколько сервисов, каждый из которых «общался» с остальными через API. Это уменьшило кодовую базу, с которой приходилось работать при тестировании функций, и упростило процесс их реализации.
Помимо простоты, среди преимуществ Python, разработчики из SurveyMonkey отмечают удобные инструменты для тестирования и развертывания приложений и большое количество библиотек.
На Python пишут в Google, Facebook, Netflix, Quora, Reddit и многих других крупных компаниях. При этом Python используют не только разработчики, но и специалисты по обработке и анализу данных.
Согласно июльскому опросу от Burtch Works, где занимаются подбором специалистов по анализу данных, Python вместе с R находятся на втором месте по популярности: их использует треть из 1200 опрошенных специалистов. При этом от лидера опроса ? SAS ? Python «отстал» всего на один процент. А по информации аналитической платформы Kdnuggets, за последний год 66% из 2300 опрошенных data scientist’ов использовали Python в рабочих проектах. Причем популярность языка выросла на 14% в период с 2016 по 2018 год.
Например, как отметил Абхишек Гхош (Abhishek Ghose) из компании [24]7.ai, занимающейся разработкой ПО для работы с клиентами, он использует Python для сбора и обработки данных разных форматов. По словам Гхоша, тот упрощает и ускоряет процесс написания кода. При этом специалист отмечает, что для решения некоторых data science-задач ему достаточно использовать Python shell.
/ фото Tambako The Jaguar CC
Стартапы: минимум ресурсов на запуск проекта
В отличие от крупного бизнеса, большинство стартапов не обладает мощным стартовым капиталом, а время ? критический фактор для начинающих компаний. Им важно как можно скорее создать работающее решение, чтобы представить его инвесторам. Python же позволяет ускорить разработку, затратив минимум ресурсов. Язык позволяет команде из двух-трех человек создать рабочий прототип за пару месяцев. По такой схеме в 2013 году стартовали в компании Shippo, занимающейся поставкой товаров для бизнесов.
Эта особенность языка в свое время помогла и Дрю Хьюстону (Andrew W. Houston), когда он начинал работу над Dropbox. Будучи студентом, он постоянно забывал дома флешку. Вознамерившись решить эту проблему, Дрю быстро создал прототип облачного хранилища и закрыл сделку с инвесторами.
Другой пример: Никита Соболев, разработчик и основатель стартапа Wemake.services, перевел всю свою команду с Java на Python. Среди причин такого решения он называет скорость разработки. По его словам, производительность программиста, который пишет на Python, в несколько раз выше, чем, например, у того, кто пишет на Java.
Программисты со знанием Python очень сильно востребованы. Согласно статистике Hacker News за июль 2018, этот ЯП занимает второе место по популярности после React: 24% всех постов на ресурсе, посвящены поиску Python-разработчиков для стартапов. При этом позиции этот ЯП удерживает уже несколько лет.
И есть основания полагать, что в дальнейшем Python будет только набирать популярность.
P.S. Свежие материалы из нашего корпоративного блога:
- Распределенный брандмауэр в vCloud Director 8.20: особенности решения
- Что скрывается за термином vCloud Director ? взгляд изнутри
- Серверы для SAP: основные платформы
Основное направление нашей деятельности — предоставление облачных сервисов:
Виртуальная инфраструктура (IaaS) | PCI DSS хостинг | Облако ФЗ-152 | Аренда 1С в облаке
Комментарии (46)
ZOXEXIVO
01.08.2018 22:08+5Да, наверное, Google создал язык Go, потому что Python был слишком быстр для них
exfizik
02.08.2018 01:06+1Непонятно, к чему этот комментарий. Статья же не про скорость языка, а про популярность и некоторые причины её объясняющие.
apapacy
02.08.2018 03:08Крупные ИТ-компании: простота и производительность
Проавда производительность чего? — все же разработки наверное. Гвороят что раньше Google применял python для написания прототипов. И, кстати, один из самых первых облачных проектов который не стал правда мега-популярным — это был google app engine с модернизированным Django в качестве движка. Потом эта идея как-то у них затормозиась в развитии. А могли бы стать лидерами.TheDeadOne
02.08.2018 07:47Термин «производительность» не обязательно относится к программам, написанным на языке, он может означать и производительность разработчиков, использующих этот язык.
akera
03.08.2018 09:44Стоит заметить, что Gо, согласно замыслу его создателей, призван решать обе эти проблемы.
worldmind
02.08.2018 06:30Гугл это гугл, это крайний случай, думаю всем остальным производительность питона вполне нормальная.
reversecode
01.08.2018 22:25Результаты статистики надо интерпретировать максимально корректно
1 на форуме веб разработчиков(2 пункт) стековерфлов по результатам опрошенных победил ява скрипт
2 почти большая половина опрошенных фронт-фулл-бек разработчики
3 есть небольшое пополнения разработчиков на питоне
я бы не отказался от действительно полной статистики по всем в мире программистам… но как ее создать
Suvitruf
01.08.2018 22:29+3Другой пример: Никита Соболев, разработчик и основатель стартапа Wemake.services, перевел всю свою команду с Java на Python. Среди причин такого решения он называет скорость разработки. По его словам, производительность программиста, который пишет на Python, в несколько раз выше, чем, например, у того, кто пишет на Java
Видимо, не очень хорошие Java программисты в команде, если при переходе на новый язык их производительность выросла в несколько раз)apapacy
02.08.2018 00:13Перевести команду на другой язык можно разными способами. Например путем замены.
Zet_Roy
02.08.2018 12:18-1Java медленнее Python в несколько раз, так что это тоже послужило причиной.
Alex_ME
02.08.2018 12:29+1Как java с jit медленнее иетерпетируемого python?
Zet_Roy
02.08.2018 15:28Ну да ты правый, посмотрел на бенчмарки benchmarksgame-team.pages.debian.net/benchmarksgame/faster/python.html python в некоторых тестах проигрывает java в 10-20 раз.
gotozero
02.08.2018 19:28Или 40, не считая потребления ЦПУ.
spectral-norm
source secs mem gz cpu cpu load
Python3 193.86 50,556 443 757.23 98% 98% 99% 99%
Java 4.41 35,028 950 16.79 96% 97% 98% 95%
poxvuibr
02.08.2018 15:37Я бы хотел поправить вопрос. Вот так звучит афористичнее:
Как java с jit медленнее python с gil?
Marwin
01.08.2018 23:18+1сколько людей — столько мнений… я крайне доволен .Net стэком. У меня в текущем проекте полный фарш: на бэке webapi, сайт, wpf десктоп клиент админки, xamarin forms мобила. Интеграция и повторное использование кода между этими вещами просто фантастическая: по сути я один раз написал модель данных и натянул на неё разные интерфейсы, а в добавок еще десктоп и мобила вообще почти 1 в 1 совпадают по xaml. Если бы это добро всё было на разных языках и платформах… я б потратил на это раз в 5 больше времени.
0xd34df00d
02.08.2018 01:10-1Аналогично. Правда, я извращенец, наверное, но меня вполне устраивает С++ для числодробилок и хаскель для всего остального.
medvedevia
02.08.2018 00:15Вот интересно, почему если язык такой простой и так на нем быстро писать, разработчики часто пользуются поиском?
soshnikov
02.08.2018 03:05Затем, чтобы не изобретать свой велосипед и не ходить по граблям.
И это не зависит от языка — поиском пользуются все. И это правильно и разумно.medvedevia
02.08.2018 16:48это все понятно, но бывает и другие случаи. Вот мой пример: я разработчик на платформе 1С, это моя работа, поиском пользуюсь редко. Ещё бывает пишу запросы на SQL, поиск тоже редко нужен. Ещё я пишу на c#, поиск пользуюсь чаще, но в принципе код могу написать без Гугла. А ещё очень редко нужно писать на cpp, но без Гугла я и 50 строк не напишу. Вот и получается, что чем хуже я знаю язык и платформу, тем чаще мне нужен поиск. А судя по такой статистике может оказаться, что у меня самый популярный язык это cpp.
soshnikov
03.08.2018 00:33Тут, видимо, трудности перевода.
Популярность = интересуемость. Количество поисковых запросов это показатель интересуемости языка, а не абсолютного количества разрабов или проектов.
Питон, он клевый. Он, зараза, для всего пригоден. от "скриптов" до прилождений для мобильников.
Его любят ученые. И на волне машинного обучения он — огого!
И если вам мил одинэс, то у меня десятки внешних питонячих сервисов работают с базой. некоторые даже еще SOAP. Тут больше ограничений и уродства со стороны 1С — сколько лет уже HTTP-сервисы не поддерживают тупой синтакс-контроль. Нураленышам же пофигу — бабло капает и ладно. А на нас с вами — класть с прибором.
medvedevia
02.08.2018 16:51на питоне часто пишут скрипты, а т.к. он может быть не основным языком разработки, то и иногда без Гугла не обойтись, чтоб написать небольшой скрипт.
peresada
02.08.2018 07:53А 30 лет назад программисты пользовались книгами, чем отличается поиск в интернете от поиска в книге, кроме скорости, разумеется?
qnok
02.08.2018 09:291. Книги не получают новой информации в онлайн режиме.
2. В книге не найдешь готовой библиотеки / функции на конкретную узкую задачу.peresada
02.08.2018 10:10Это был скорее риторический вопрос-ответ на замечание автора комментария «Пользуются поиском, ай-ай-ай», хотя пользовались поиском всегда, только раньше это были книги, еще раньше статьи и т.д.
AhJong
02.08.2018 11:58+1По той причине, что язык состоит не только из конечного числа операторов, но и многих сотен модулей/библиотек, API которых могут потребовать время на изучение. Часто, проще и быстрее воспользоваться поиском и подсмотреть уже готовые примеры использования API.
mmMike
02.08.2018 06:10"Есть лож, а есть статистика.."
Я то же питон активно пользую. Очень удобно простой скрипт скидать для анализа лога, генерации отчетов (выборок из БД… срочно срочно..) и тому подобных задач.
Но основное языки для разработки все равно остаются Java и С++.
Поскольку "дружелюбность для разработчика" заканчивается на уровне программ в 500..1000 строк кода.
Что то более объемное — лучше Java.exfizik
02.08.2018 17:43Поскольку «дружелюбность для разработчика» заканчивается на уровне программ в 500..1000 строк кода.
А поподробнее можно?
Т.е. я еще как-то могу понять, если у вас программа в один файл в 500-1000 строк кода, но кто мешает разбивать на модули и писать нормальный, структурированный код?wlr398
02.08.2018 20:00А интересно, много проектов на питоне, которые больше уровня «скрипт скидать для анализа лога, генерации отчетов»? Для бигдаты и мл вроде тоже достаточно скромные по объёму скрипты.
Если не брать в рассчёт что-то типа matplotlib, в котором порядка 20 мегабайт кода и в основном на питоне, но это всё же библиотека. В ближнем окружении не видел крупных задач, всё в основном — скрипт скидать.
0xd34df00d
02.08.2018 21:14Разбивать никто не мешает, но отсутствие строгой статической типизации мешает это всё потом поддерживать.
mmMike
03.08.2018 05:27В python (и JS) мне не нравится:
- неявное преобразование типов
- создание переменных без объявления
Это потенциальная (и наступал на это) "слабое место" для ошибок.
В простых программках, когда нужно быстро быстро решить какую то задачу (на те же 500 строк кода) — это может оказаться преимуществом. А в программах которые потом сопровождать и где исходного кода на пару сотен кбайт, лично я предпочитаю C++ или Java. (Java лучше, поскольку проблемы с версиями Unix/Oracle client задрали..)
При прочих равных, производительность — это то же важно..
В повседневной работе сейчас:
- в основном, новые проекты на Java.
- Сопровождаю старый код на C++ (которой частично и сам писал).
- питон — для анализа логов (нестандартные задачи), не стандартные разовые отчеты, вместо sh/bash (когда его возможностей мало), и т.п.
- js — web морды для пользователей. Регулярно..
- PL-SQL + SQL — когда долго ждать когда у разработчика Oracle время появится и нужно срочно..
Для хобби: C++, java и питон.
Все сказанное — мое личное мнение, на моем личном опыте. А не на теоретических рассуждениях.
Все эти споры "какой язык лучше"…
Да пофиг, по большому счету, на чем кодить… У всего есть недостатки и достоинства.
AxisPod
02.08.2018 09:23Для начала следует задать вопросы:
— Что такое Stackoverflow?
— Какова ниша данного продукта?
— Каков уровень активных пользователей в разработке?
И только после этого делать какие-то выводы.
Меня напрягают современные методы изучения языков программирования. Вместо того, чтобы почитать книгу или другие материалы, проще сгонять на форум и задать вопрос. Что-то мне подсказывает, что это и есть основной контингент Stackoverflow и подобных сервисов. Особенно идеально это доказывает Тостер.peresada
02.08.2018 09:28Одно дело, когда задают вопрос по конкретной задаче и используют конкретный подробный ответ.
Другое дело, когда задают вопрос и используют ответ в качестве основы «что, как и почему» и уже на этой основе ищут информацию. Если речь про первое — то да, тенденция не очень, если про второе — не вижу в этом ничего крамольного, это так же эффективно и возможно фундаментально, как и книга, и при этом в разы быстрей.AxisPod
02.08.2018 09:54Да вот второго я замечаю всё меньше и меньше, может они учатся пользоваться поисковиками, но мне слабо верится. И именно из-за первых я начал бросать сервисы подобные stackoverflow.
Я знаю кучу «разработчиков», которые реально не хотят изучать, в лучшем случае поищут, в худшем просят, что за них написали готовый код.
FeNUMe
02.08.2018 23:05Только читать нужно не книги, а доки. Инфа в книгах часто успевает устареть за время выхода в печать. Исключения конечно есть, типа книг по алгоритмам и другим базовым вещам.
В остальном согласен с вами, GDD весьма популярен.
Ну а Тостер к сожалению окупировали те кто хочет чтобы за них сделали работу, а не те кто пытаеться сам научиться.AxisPod
03.08.2018 07:29+1Новичку надо научиться правильно думать, это могут дать книги, но никак не сухая документация. Опытный программист уже и без stackoverflow сможет решить большинство проблем.
CrazyElf
03.08.2018 09:44Stackoverflow — замечательный сервис на тот случай, если нужно быстро получить ответ на какой-то конкретный вопрос. Особенно если попался какой-то совершенно нелогичный баг или фича, про который фиг прочтёшь в книжке. А из реальных программистов кто-нибудь с ним да сталкивался. Ну и не только это, бывают и полезные всякие howto там, о которых тоже бывает в книжках не прочесть.
ivan386
02.08.2018 23:48Странно оценивать популярность языка по количеству поисковых запросов связанным с ним. Этот показатель может указывать на наличие проблем на которые пытаются найти ответ в поисковиках.
Может народ кучу старых питоновских скриптов народ переводит под 3ю версию. Или пытатся сделать чтоб они работали на обоих версиях.
AxisPod
03.08.2018 07:35Хм, даже не прочитать первую строку статьи и написать комментарий, это конечно сильно. Там написано: провели опрос.
ivan386
03.08.2018 07:50Я об этом:
В прошлом году Python занимал пятое место в рейтинге TIOBE. Это индекс, оценивающий популярность ЯП, на основе количества поисковых запросов на платформах Google, Wikipedia, YouTube, Amazon и др. В 2018 году популярность языка увеличилась до 6% (почти на 3% c 2017 года), и теперь он занимает четвертое место в рейтинге.
AxisPod
03.08.2018 13:10Ну это да, тогда я с вами согласен. Тут только на попугаев можно посмотреть и всё.
rdndev
03.08.2018 09:45Оценивать популярность языка по количеству запросов может и не правильно. Но факт то, что на HeadHunter количество вакансий по Python иной раз больше чем вакансий по C#.
jetcar
03.08.2018 09:59ценность языка очень сильно зависит от количества полезных и удобных инструментов для работы и куча хороших библиотек, с питоном не знаком, но может тут есть умельцы раз он так популарен которые смогут подсказать в какую сторону смотреть, чтоб хватило на разработку веб приложений и сервисов. имеется ввиду удобное IDE с необходимыми плагинами и хорошие библиотеки
FeNUMe
03.08.2018 12:52PyCharm от Jetbrains если нужна полноценная IDE, если же продвинутый редактор, то VSCode/Atom/Brackets/SublimeText с плагинами. Ну а готовые библиотеки есть есть под все что душа пожелает. Самый популярный вебфреймворк Django или более легковестный Flask, для удобной работы с http — requests, для асинхронных приложений asyncio, для тяжелых мат. вычислений NumPy и т.д.
DanNsk
Так как-бы не понятно что большее влияние оказало — смена языка или смена архитектуры.