Python — популярный язык для науки, но научное сообщество, похоже, удовлетворено Python 2 и неохотно переходит на Python 3, как показал новый опрос.
Опрос, который является продолжением исследования, проведенного в 2102 году, был проведен Томасом Робитайлом, он же астрофрог, и его результаты обсуждаются в его блоге .py в sky.
Робитайл является одним из координаторов пакета Astropy, и его первоначальный опрос состоял в том, чтобы выяснить, какие версии Python, NumPy и SciPy использовали ученые, чтобы узнать, какие версии должна поддерживать Astropy. В конце 2012 года он обнаружил, что, хотя большая часть респондентов имела достаточно современные установки Python, практически никто не использовал Python 3 для повседневной работы. Это было сделано на основе 313 ответов.
В этом году новый опрос привлек более 780 ответов от ученых, более половины из которых были астрофизиками, что неудивительно, учитывая, что опрос был опубликован с помощью социальных сетей, и более 80% из них используют Python 2, а не Python 3.
Хотя сообщение в блоге, объявляющее результаты, имеет подзаголовок «великая миграция началась!» Я не уверен, что это был бы мой вывод. Вместо этого я бы сделал вывод из этого, что «ручеек» пользователей теперь переходит на использование Python 3.4.
Однако я могу согласиться с тем, что Robitaille должен сказать об этом с точки зрения поддержки версий Python:
Исходя из этого, я бы сказал, что основными версиями, которые необходимо поддерживать, являются Python 2.7 и 3.4, а также 3.3 (поскольку это не ничтожная доля пользователей Python 3). Поддержка Python 2.6, а также 3.1 и 3.2 может быть по существу отменена.
Python 3.0 был выпущен в 2008 году, но в то время он был плохим родственником Python 2.6. Python 2.7, последний в линейке Python 2.x был выпущен в 2010 году, когда Python 3.1 все еще боролся за принятие. Python 3.3 был выпущен в 2012 году, это, безусловно, была работоспособная альтернатива, и версия 3.4 в марте 2014 года начала выглядеть как сильный соперник.
Поэтому вы можете ожидать, что те, кто использует Python в течение наименьшего времени, с наибольшей вероятностью будут использовать версию Python 3. Это действительно так, но эта группа также имеет самый высокий процент использования Python 2.6, но если вы поймете, что более 6% респондентов использовали Python менее года, то это всего лишь 3 человека,
Один интересный вывод заключается в том, что среди пользователей Windows, участвовавших в опросе, которые должны установить Python для себя, а не использовать версию, которая поставляется с операционной системой, 40% выбирают Python 3.x. Однако пользователи Windows находятся в меньшинстве (9%) в этом опросе, а Linux является основной ОС (51%). MAC имеет 40% общей операционной системы, и только 12% пользователей MAC предпочитают Python 3.x по сравнению с Python 2.7.
В ходе опроса также был задан вопрос о том, почему пользователи не используют Python 3.
Отсутствие стимула, безусловно, является самым популярным оправданием, и тот факт, что Python 2.7 будет поддерживаться до 2020 года, играет на руку тем, кто придерживается принципа «если он не сломан, даже не думайте о том, чтобы изменить менталитет». Ответ «Некоторые пакеты, которые мне нужны, не поддерживаются» может быть сейчас неточным, поскольку было приложено много усилий для обеспечения того, чтобы библиотеки Python поддерживали Python 3. Код, не работающий в Python 3, будет проблемой, но все чаще вы можете добиться большего с помощью Python 3, и поэтому, вероятно, стоит попытаться переписать старый код. Поэтому, хотя было ошибкой вводить Python 3 без обратной совместимости, это, вероятно, не должно все еще использоваться в качестве причины для того, чтобы не двигаться вперед.
С чем я согласен, так это с тем, что теперь никто не должен знакомиться с Python с помощью версии 2.x Многие MOOC и курсы на кампусе застряли с Python 2, и это, по его словам,:
все неправильно – мы должны учить новых пользователей использовать Python 3! Новые пользователи не поблагодарят вас, если вы научите их Python 2, и им придется перенести все свои скрипты на Python 3 через несколько лет… Я настоятельно рекомендую всем, кто занимается обучением Python, перейти на использование Python 3, даже если вы сами его не используете