LINUX.ORG.RU
ФорумTalks

Наброс про Питон

 ,


0

3

Наступил 2024. Питон — самый популярный язык в мире по рейтингу TIOBE. Самый известный программный продукт ушедшего года — ChatGPT — написан на Питоне. Питон легко выучить, и программисты на Питоне делают головокружительную карьеру в разработке. Питон — универсальный язык, на котором можно писать любые программы.

Эти факты могут создать ложное впечатление, что новые учебные курсы по программированию должны быть посвящены Питону и все новые программы нужно также писать на Питоне.

Между тем указанные факты никаких подобных следствий не имеют, для выбора Питона для написания программ нет оснований (за исключением узкой ниши машинного обучения), а изучение Питона может скорее навредить (в особенности в качестве первого языка программирования). Разберём популярные заблуждения в деталях.

Все нижеизложенные цифры — свежие (даны по состоянию на 2023) и вряд ли заметно изменятся в пользу Питона в будущем, т. к. язык существует более 32 лет, он старше своих нынешних конкурентов (кроме Bash, Tcl и C/C++) и свой потенциал взрывного роста давно исчерпал.

http://shmat-razum.blogspot.com/2024/01/python.html


Ответ на: комментарий от FishHook

а вы ни разу не заглядывали, сколько версий .NET сордержится в винде?

Заглядывал когда был виндузятником. Это было давно и неправда.

Это классный конечно подход - собрать в одну кучу gcc, клэнг и пхп

Вот! Хоть кто-то оценил!

а зачем в принципе несколько версий пыха может понадобиться?

Хз. Вот несколько версий пайтона зачем-то требуется же.

что значит «приходилось», заставлял кто-то?

Да, формулировка не очень получилась. Я имел в виду, что когда я сидел на дженту, то они все тянулись по зависимостям, кроме пайтона 2.7 - его я сам ставил.

u5er
()
Ответ на: комментарий от greenman

Ага. Тот же пайтон, только ынтырпрайзный xD

u5er
()
Ответ на: комментарий от u5er

Хз. Вот несколько версий пайтона зачем-то требуется же.

я же написал зачем, непонятно? Ну окей, повторю два раза. На питоне пишут прикладной софт - утилиты, гуевые программы, есть целый WM на питоне. Система не может предсказать, что нет ни одной софтины, которая зависит от конкретной версии питона, и поэтому при обновлениях не удаляет старые версии питона. Например, Убунта в своих зависимостях из коробки имеет питон 3.11, потом выходит новая Убунта, и у нее в репе ужу 3.12, что по вашему она должна сделать с уже установленным 3.11? Но Убунта не устанавливает пыхыпы, потому что он ей не нужен. Нет прикладного софта на пхп, руби или джаве, который нужен был бы Убунте для её нужд.

Вот что тут непонятного?

FishHook
()
Ответ на: комментарий от u5er

Да, есть такое, один проект в прошлом году с PyQt и pytorch приходилось держать на питоне 3.8.8, потому что на более старших версиях какая-то из библиотек ломалась неизвестно отчего, и разбираться всем было лень, и переходить на новые версии питона и всех библиотек и исправлять для этого код тоже всем было лень, так и жили на старье.

А ещё нам нужна была стэндэлон-версия, и из-за того, что pytorch не дружит с pyinstaller, её пришлось делать с помощью python-embed, и с pip обязательно версии 22.2.2, потому что иначе что-то не работало, и ещё накладывать патч на matplotlib, чтобы оно не падало при отрисовке графиков.

Проблема с этими историями в том, что их детали быстро забываются, поэтому в посте таких историй почти нет.

ringill
() автор топика
Ответ на: комментарий от ringill

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

А когда 3.8 станет EOL, по-моему, в следующем году, тогда и перепишут. А может и не перепишут.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)
Ответ на: комментарий от FishHook

Вот что тут непонятного?

Непонятно то, к чему это? Изначальный мой посыл был к тому, что бывают ситуации, когда в систему установлено 100500 версий пайтона, чего не скажешь про другие яп(хотя парой постов выше тут напомнили про джаву, да).

Ну и да, питон разработчик, который не знает что такое virtualenv, это ничтожество

Хз, возможно. Я не являюсь питон разработчиком.

u5er
()
Ответ на: комментарий от u5er

Я не являюсь питон разработчиком.

Но, мнение есть, не переубедишь?

В генте зоопарк питонов, потому что он используется в системе для сборки зависимостей. И да, разработчики софта не всегда держат зависимости для сборки в актуальном состоянии. Они же не рабы, чтобы все переписывать, да?

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Но, мнение есть

Исключительно как конечный пользователь. Я уже выше написал про совместимость. Кто это в конечном итоге должен разруливать? Кодер вынужден постоянно обновлять свой код по мере выхода новых версий. Если кодер этого не сделает, то этим будут заниматься мейнтейнеры. Если и они не сделают, то в конечном итоге это вытечет в проблемы конечного пользователя. Ты уверен, что это серьёзный подход, когда в самом языке заложена целая охапка потенциальных проблем?

В генте зоопарк питонов, потому что он используется в системе для сборки зависимостей.

Ты уверен, что конечного пользователя это должно волновать? Ты уверен, что мейнтейнерам это не добавляет забот?

Они же не рабы, чтобы все переписывать, да?

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

u5er
()

за исключением узкой ниши машинного обучения

Сейчас все деньги в этой «узкой» нише, в остальное инвестируют по остаточному принципу.

snizovtsev ★★★★★
()
Ответ на: комментарий от u5er

Кодер вынужден постоянно обновлять свой код по мере выхода новых версий.

Нет, потому что он не раб.

Если кодер этого не сделает, то этим будут заниматься мейнтейнеры.

Да, это и есть смысл их деятельности, потому что они как те цирковые лошади - бегают по кругу.

Ты уверен, что это серьёзный подход, когда в самом языке заложена целая охапка потенциальных проблем?

Второй раз спрошу, каких проблем? И, еще, питон тут причем?

Примеров, достаточно, и руби требуется иногда несколько версий для сборки зависимостей, и проблемы, когда с новой версией gcc софт не собирается. Но, виноват во всем питон?

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)
Ответ на: комментарий от vvn_black

Второй раз спрошу, каких проблем?

Проблем с совместимостью.

питон тут причем?

Потому что он является источником этих проблем.

Но, виноват во всем питон?

Ну в контексте треда да.

u5er
()
Ответ на: комментарий от u5er

когда пайтонов в системе было установленно одновременно несколько: 2.7, 3.6, 3.7, 3.8, 3.9. Я полагаю, что этому есть более веская причина, чем «мейнтейнеры неосиляторы».

мейнтейнеры неосиляторы

Конечно нет. Неосилятор - ты, который не смог в emerge --depclean

Stil ★★★★★
()
Ответ на: комментарий от Stil

Очень смешно. Я эту команду прописывал всякий раз после обновления мира ;) Что ещё скажешь?

И да, на счёт мейнтейнеров. Я такого не говорил, не стоит выдирать из контекста.

u5er
()
Ответ на: комментарий от vvn_black

Подробности давайте. Что сломали в 3.12 по сравнению, ну например, с 3.7?

Кроме 3.12 и 3.7 есть еще и другие версии питона.

А что ломают ? Да запросто:

1) Удалили метод __int__ и аналогичные. Для чего нужно, и чем чревато думаю объяснять не надо ?

2) Перешли на новый синтаксический анализатор и поломали предыдущий parser. Это вообще эпический звздц.

3) Поломали синтаксис который ранее позволял вставлять ключевое слово сразу же за числовым литералом.

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

А интересно, python 3.2 == python 3.20? :)

windows10 ★★★★★
()
Ответ на: комментарий от Stil

Конечно нет. Неосилятор - ты, который не смог в emerge --depclean

Не учи человека плохому. После этого у него пойдет по звезде четверть системы, где в cкриптоте прописан python, а не python3.6, но правильная версия (3.6) подразумевалась by default.

windows10 ★★★★★
()
Последнее исправление: windows10 (всего исправлений: 2)
Ответ на: комментарий от Stil

Довольно потешно, что одним из основных поинтов Генты фанаты заявляют «ничего лишнего». В то время как у них в системе пачка Питонов, а в бинарных дистрах 1-2 :)

MoldAndLimeHoney
()
Последнее исправление: MoldAndLimeHoney (всего исправлений: 1)
Ответ на: комментарий от windows10

Тот же самый С хоть и требует больше строк кода, и знания некоторых нюансов (в основном дроча с памятью), но он хотя бы интуитивно понятен и его код легко рефакторить впоследствии.

А C# не только интуитивно понятен, но ещё и решает вопросы работы с памятью :)

sanyo1234
()
Ответ на: комментарий от u5er

Если честно, это выглядит очень странно. В генте обычно 2 (после 2.7 EoL) - 3 (до 2.7 EoL) ветки питона живы: 2.7 (до), предыдущая мажорная, текущая мажорная в процессе портирования всех пакетов. У меня прямо сейчас 2: 3.12 для всего и 3.11 для одной «забандленной» поделки.

И да, на счёт мейнтейнеров. Я такого не говорил, не стоит выдирать из контекста.

Я специально полную цитату привёл, чтобы ничего никуда не вырывать.

Stil ★★★★★
()
Ответ на: комментарий от Stil

Там в какой-то момент с этим разобрались. Я пишу про времена eselect python.

u5er
()
Ответ на: комментарий от snizovtsev

Ну, не все, вот например какой-то подсчёт, около 25%

https://news.crunchbase.com/ai-robotics/us-startup-funding-doubled-openai-ant...

Но да, в инвестициях AI занимает заметно большую долю, чем в собственно выручке. Сейчас мода на AI.

ringill
() автор топика
Ответ на: комментарий от ringill

Там где инвестируют и сосредоточена большая часть рабочих мест. Новый код пишут на инвестиционные средства, а когда мода пройдёт – останется лишь небольшая часть от прошлой роскоши на поддержке.

snizovtsev ★★★★★
()
Ответ на: комментарий от Stil

Что за прохладные истории?

Не знаю, мне лень шерстить тред ради неумеющих в цитирование.

windows10 ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)