LINUX.ORG.RU

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

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

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

ergo ★★★
()
  1. Тормозной - несколько лет назад я переписал свои скрипты с баша на питон, и они стали работать медленнее, лол. Пусть и ненамного.

  2. Динамическая типизация, из-за которой масса времени уходит на пердолинг с домыслами интерпретатора. Легче сразу указать транслятору ху из ху.

  3. Питоновский ООП мне в своё время чердак на нуль поделил, из-за чего я стал ненавидеть ООП. В С++ оно как-то понятнее.

alex1101
()

За 100500 несовместимых между собой версий и превращение любого места, где его используют, в помойку. В том числе анскильную, ибо пишут на питоне сами знаете кто.

untitl3d
()

Не любят его как правило анскильные лалки, не имеющие никакого отношения к разработке

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

А, и да, питонячьи проги любят постоянно отваливаться. Вот рил, наверное любой, кто хоть несколько раз использовал проги на питоне, знает как выглядят его сообщения об ошибках при отвале.

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

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

JIT уже есть в PyPy, Numba.

emorozov
()

The срач has begun...

iron ★★★★★
()

Кто его не любит?

Я пишу на Python где-то с 2000-го года. Года до 2009-2010 в России, когда кто-либо спрашивал, на чём я пишу, делали удивленные глаза: «Python? Что это за язык такой?»

Теперь его название известно абсолютно всем. Пишут на нём везде.

Не любит его 1% фанатиков, которое либо что-то не осилили, либо применяют не по назначению, либо просто потому что не существует в этом мире языка, который будут любить все.

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

Тормозной - несколько лет назад я переписал свои скрипты с баша на питон, и они стали работать медленнее, лол. Пусть и ненамного.

Очень маловероятно. Без пруфов не поверю.

Динамическая типизация, из-за которой масса времени уходит на пердолинг с домыслами интерпретатора. Легче сразу указать транслятору ху из ху.

Сейчас есть возможность статической проверки типов.

Питоновский ООП мне в своё время чердак на нуль поделил, из-за чего я стал ненавидеть ООП. В С++ оно как-то понятнее.

Концептуально, он ничем от ООП в С++ не отличается. Это не Javascript, например, с наследованием через прототипы.

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

За 100500 несовместимых между собой версий

Это неверно. Были Python 2 и 3. Python 2 окончательно умер три года назад. Перейти с 2 на 3 было элементарно просто, для этого были очень удобные инструменты и долгий и удобный график перехода. Да и разница между 2 и 3 была минимальной.

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

Охохох, пруфы?

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

Надо мне было на работе запустить скрипт на питоне. Я запускал

python script.py

Выдает тонну ошибок про ошибки в коде.

./script.py

Выдает что-то невнятное.

Оказывается надо было так

python3 script.py

После этого заненавидел его еще больше.

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

Надо мне было собрать из сорцов фф-базед броузер, так я js со всеми потрахами установил и собрал, а питон не смог! Да да, это я анскильный.

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

Пруфы в реальной жизни - на питоне пишут те, кто к CS отношения не имеет. Знаю одного повара и одного неудавшегося физика.

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

Получается что скрипт кривой и ты анскильный.

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

Тормозной - несколько лет назад я переписал свои скрипты с баша на питон, и они стали работать медленнее, лол. Пусть и ненамного.

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

Динамическая типизация, из-за которой масса времени уходит на пердолинг с домыслами интерпретатора. Легче сразу указать транслятору ху из ху.

Чей пердолинг то? Если компьютера, так и фиг бы с ним, он железный. Если разработчика - разботчик что то не так делает. Утиную типизацию придумали именно для ускорения разработки и она с этим успешно справляется (не всегда правда). В среднем по больнице на питоне скорость разработки НА ПОРЯДОК выше чем на плюсах.

Питоновский ООП мне в своё время чердак на нуль поделил, из-за чего я стал ненавидеть ООП. В С++ оно как-то понятнее.

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

Че то Вы не так делаете…

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

Пруфы в реальной жизни - на питоне пишут те, кто к CS отношения не имеет. Знаю одного повара и одного неудавшегося физика.

У нас весь Институт имеет самое прямое отношение к CS, и полинститута на питоне точно пишет. Продолжайте высказываться по темам в которых Вы ничего не понимаете, у Вас как обычно получается очень смешно.

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

Перейти с 2 на 3 было элементарно просто

Вообще то нет. И за слом обратной совместимости бьют канделябром по голове. Вообще в питоне 3 не внесли ничего нового, что хоть как то оправдывало бы слом обратной совместимости, и при этом не исправили ни одной серьезной родовой травмы питон2.

Но с этим ничего не поделаешь, пипл схавал.

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

Чувак, во-первых, собирать из сорцов Python - это извращение, которое нужно исключительно редко.

Во-вторых, он уже есть в дистрибе.

В третьих, любая версия уже есть в докере.

В четвертых, есть инструменты типа pyenv и rtx, компилирующие и устанавливающие любую версию python одной командой типа rtx install python@2.7.10. И ни разу не видел, чтобы произошёл сбой, хотя пользуюсь ими постоянно.

В пятых, сам неоднократно собирал интерпретатор, он собирается элементарно, не надо выдумывать: стандартные configure; make; make install, минимум зависимостей.

emorozov
()

Зачем вам эта информация? Любит/ не любит - дело сугубо индивидуальное. Попробуйте сами, может и зайдет вам. Питон это не самый плохой клей для кучи разнообразных библиотек на все случаи жизни. Собственно поэтому в него очень легко зайти человеку, достаточно далёкому от компьютерных дисциплин.

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

Да у Python очень небольшое количество зависимостей, это одна из самых легкокомплируемых программ.

Я даже в докере его компилировал (надо было очень редко возникающую проблему в проде отдебажить, для этого надо было, чтобы в проде в контейнерах был Python с отладочной информацией), и справился с этим очень быстро.

Реально, у Python есть недостатки, как и у абсолютно любого языка программирования. Универсальных, без недостатков, языков нет.

И мы, разработчики на Python, часто сами о них хорошо знаем.

Не понимаю, зачем высасывать какой-то бред из пальца, что Python сложно скомпилировать, тем более, что на нем можно писать 30 лет, и ни разу не столкнуться с необходимостью самостоятельно компилировать интерпретатор.

emorozov
()

А кто не любит то? Хейтеры? Эти до всего докапаются.

th3m3 ★★★★★
()

в среднем количество тех, кто не любит что-либо, коррелирует с количеством тех, кто об этом знает… конкретные причины/поводы не любить питона:

  • ооп уже немодно
  • нет статической типизации, а значит миллион ошибок ловится только в рантайме
  • нет паттерн-матчинга и т.д.
  • он очень популярен (а люди любят хейтить популярное)
  • из предыдущего пункта следует, что много на нём много низкокачественного кода
  • местами убогий синтакс (lambda, x if y else z)
  • большие возможности по переопределению всего и вся в рантайме приводят к тому, что можно писать неочевидно работающий код (в том числе огромное поле прятать бэкдоры)
  • некоторые фанатики ещё не любят за whitespace-significant синтакс
  • дефолтная реализация имеет проблемы с многопоточностью
  • и т.д. и т.п.
caryoscelus
()
Ответ на: комментарий от caryoscelus

ооп уже немодно

А что модно? Мода постоянно приходит и уходит.

нет статической типизации, а значит миллион ошибок ловится только в рантайме

Уже достаточно много лет, как есть (с оговорками).

нет паттерн-матчинга и т.д.

Есть, начиная с 3.10 или 3.11.

дефолтная реализация имеет проблемы с многопоточностью

Да, но за это сейчас серьёзно взялись, есть надежда, что скоро победят.

emorozov
()

А за что любить язык, в котором последовательности whitespace являются элементом синтаксиса?

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

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

Питоновский ООП мне в своё время чердак на нуль поделил

А с чем сложности возникли? У меня вот примерно те же ощущения, только от Lua. Вот там ООП реально вырвимозг,потому что нет даже литералов никаких, там всё через метатаблицы сделано. Ужас. Хотя я любил луну, и наверное до сих пор питаю к ней какие-то чувства, но все равно питон куда понятнее и проще

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

за что любить язык, в котором последовательности whitespace являются элементом синтаксиса

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

mydibyje ★★★
()

Его не любят за то что:

  • тормозной, при этом деликатно умалчивают сколько раз сгоняли по сети на другой конец планеты
  • легко превращается в помойку, при том крестовые помойки видимо просто кошернее
  • динамически типизированный, при том что потом сами же гонят на жабу за статику
  • 2-vs-3 и вообще версии, умалчивая как красиво (не) собирается сишка если не тот стандарт указать
  • толпа недопрограммистов из-за низкого порога входа, потому что бояре пишут только на асме и всегда без сегфолтов видимо
  • есть гц, а гц как известно только у петушиных языков
  • whitespace, ибо блокнот не умеет autoindent, а Ъ пишут только в нём
upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 2)
Ответ на: комментарий от quwy

Я использую Python 3 только с табами в своих скриптах. Важно помнить, что Python прекрасно работает от табов, а не только от 4 пробелов

I-Love-Microsoft ★★★★★
()

За что его не любят

За то что он максимально квадратно-гнездовой, в стиле КОБОЛа и ПЛ/I. Вплоть до того, что нужно записывать команды в строго определённых позициях, как не перфокартах. Привет из 60-х.

no-such-file ★★★★★
()

ибо не поняли(не смогли понять - но это слишком обидно) силу vars()/globals()/locals()

;)

qulinxao3
()
Ответ на: комментарий от I-Love-Microsoft

Интересно, какой ход мысли должен привести к убеждению, что жать 4 раза пробел каждый раз это лучше, чем жать 1 раз таб.

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

Несмотря на все недостатки питона, люблю готовые наработки на нем и других ЯП, которые можно подключить к .NET через interops.

А еще в питоне есть восхитительный peewee ORM для быстрого создания POCO слоя для более высокоуровневых абстракций типа CSLA.NET: https://github.com/MarimerLLC/csla/

Кто-то знает хороший популярный bridge .NET -> JVM ?

А для питон -> JVM их целых несколько (JPype, Py4J, PyJNIus), и еще есть один хороший .NET -> python (Python.NET).

Монстроидально, зато можно быстро накодить :)

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

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

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

У отступов в виде пробелов есть одно, но важное преимущество, код с такими отступами будет везде одинаково отформатирован, в отличие от.

Пробелы:

def func():
    if True:
        print()

Табы

def func():
	if True:
		print()
vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 3)

Скромные возможности компиляции, очень медленное исполнение, масса «недопрограммистов»

One ★★★★★
()
Ответ на: комментарий от no-such-file

Есть ли в .NET, например, такое: https://hibernate.org/ogm/

?

А обычный nHibernate с кэшированием в кластере NoSQL бесплатно умеет только в Redis?

И таких примеров можно найти довольно много, когда есть популярная либа для JVM, а для .NET пока еще менее развитая.

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

редактор кода сам обычно дописывает пробелы слева

Допустим имеется некий код

    a
    b

Который я вырезаю и вставляю после

        if x:
            c
            d

Сколько пробелов должно быть у вставляемого кода? Варианты ответа:

  1. столько же как у c и d,
  2. столько же как у if
  3. сколько было не изменяется
  4. ноль
no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Из питона он есть потому что необходим питону. Т.е. это всё не от хорошей жизни.

LOLWUT?

Питон сейчас так распространён в значительной мере потому, что для него есть библиотеки абсолютно для любой задачи, любой проблемы, и они в нём легко и замечательно склеиваются. Хоть веб-серверы, хоть веб-клиенты, хоть GUI, хоть скрейпинг, хоть NLP, хоть расчёты математические на CPU (причём в куче вариаций), хоть расчёты на GPU.

Что такое есть в экосистеме .NET, чего не хватало бы Python’у?

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

Что такое есть в экосистеме .NET, чего не хватало бы Python’у?

Откуда я знаю? Зачем-то же их лепят. Вон для жабы аж 4 штуки как утверждает оратор выше. Наверное потому что питон тормоз и «веб-серверы, хоть веб-клиенты, хоть GUI, хоть скрейпинг, хоть NLP, хоть расчёты математические на CPU» на самом деле делаются не на питоне а вот через такие связки с внешними библиотеками. А уж на жабе они, на дотнете, или на сях – дело другое.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

а для .NET пока еще менее развитая

Ну я не большой знаток дотнета, но вообще это же некая альтернатива жабы. Причём конечно она позиционируется как «лучше жабы». Поэтому дёргать жабу из дотнета это какой-то позор.

no-such-file ★★★★★
()

Есть у Питона всякие мелкие неожиданности, если невнимательно документацию читать. Например:

funcs = []
for i in range(10):
    funcs.append(lambda: print(i))
for f in funcs:
    f()

Интуитивно вроде бы должно вывести числа от 0 до 9. Выводит другое.

Или ещё короче ход:

print (bytes([0, 1, 2, 3, 120, 130]))

Интуитивно вроде бы должен вывести b’\x00\x01\x02\x03\x78\x82’, а выводит b’\x00\x01\x02\x03x\x82’. Выглядит, будто один байт пропал. Это конечно, мелочь и ничего испортить не должно, да и относится к конкретному типу данных. Но может удивить.

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