LINUX.ORG.RU
ФорумTalks

За что не любят Python?


3

3

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

Перемещено post-factum из development

★★

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

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

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

сдвинул пробелом, не заметил... и

ты в ворде текст набиваешь чтоли? Даже в кде-шном «блокноте» kwrite такое невозможно.

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

Большая часть гнома на чистом си. Что не мешает ему адски тормозить, жрать память и глючить.

А нефиг играть в «ООП на pure C»

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

Я так скажу: если бы это было реальной проблемой, то об этом орали бы не ньюфаги или неосиляторы, а сами питонисты. Логично?

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

потому-что всякие дебилы-школьники на нём МОГУТ писать.

а что будет если они начнут писать на уютной сишечке? Конечно с вероятностью 99% словят сегфолт, но веть есть 1% вероятность что школьник возомнит себя крутым погромистом и пойдет заливать свое поделие на гитхаб, которому начнут коммитить другие школьники.

DNA_Seq ★★☆☆☆
()

Хорош он, вот только бы еще между 2ой и 3ей версией совместимость была.

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

Неюниксвейно.

? Ну, не знаю. Разбираться, как работает код, который написал не ты, но который хочешь использовать, довольно естественно. help(объект) порой очень полезно делать

А юниксвей сейчас довольно разномаст. Бздя, макось, линукс. Вы, случайно, не systemd имели в виду под юниксвеем?

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

Я имел в виду то, что не стоит делать вручную то, что можно сделать с помощью программы :)

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

Ладно, будем считать что это не проблема языка, а проблема привыкания/удобства.

Это проблема редактора. Хорошие редакторы работают с отступами как с одним символом. Нажал, например, TAB - редактор сдвинул код на 4 пробела вправо. Нажал backspace - редактор сдвинул код на 4 пробела влево.

Конечно, если ты кодишь в nano, то такие ошибки будут возникать.

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

Логично?

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

Miguel ★★★★★
()

А что в треде ни одного листинга в пользу утилизации питона??

У меня в продакшене несколько REST-серверов на питоне и смс гейт написано. Вообщем чтобы не соснуть с ним нужно две вещи:

  • Полностью следовать PEP 8
  • Нужно знать как работает его GC

А теперь непосредственно код в котором соснешь

class FalseClass:
    num = 0
    def __init__(self,num):
        self.num = num

cl1 = FalseClass(1)
cl2 = FalseClass(2)
cl3 = FalseClass(3)
cl4 = FalseClass(4)
cl5 = FalseClass(5)

listobj = []
listobj.append(cl1)
listobj.append(cl2)
listobj.append(cl3)
listobj.append(cl4)
listobj.append(cl5)

vlist = []
setlist = {}
for var in listobj:
      setlist['id'] = var.num       
      vlist.append(setlist)
print vlist

Непосредственно убедиться http://codepad.org/AXY05nLF

А вот код который чинит этот кусок

http://codepad.org/NK0kZg3O

Почему так происходит думаю никому не нужно объяснять?

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

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

Скорее наоборот, тот, кто сидит давно знает все торчащие гвозди, а тот кто сел первый раз - может и не заметить сначала.

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

А как узнать, если в документации тип не указан?

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

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

Ошибка в чем? Допустим я - Siado, и я хочу проверить, что реквест удался. Пишу, r.status == '200'.

Я бы так не написал :D

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

Так безалаберно обращаться с изменяемыми объектами равносильно работе с нитями без локов и семафоров - огребешь обязательно.
(Если что, я тоже огребал. :)

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

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

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

Ошибся в своей «портянке» на один пробел и вот код работает уже не так как планировалось.

Характерное заблуждение теоретика.

Python же думаю промолчит

Не думай.

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

Ну, звиняй: если бы фрикад понимал какой-нибудь приличный скриптовый язык, сделал бы на нем. А питон — он и в Африке жирный червяк.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от tailgunner

Проблемы ИДЕ-пользователей настоящих джедаев, сидящих в vimacs'е, не волнуют :}.
А так-то это по сути новый язык будет, для него придется пилить (самому, естественно) ту же схему подсветки синтаксиса, как минимум. IDE по-любому идут лесом.

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

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

Это будет eDSL, так что IDE всё равно была бы полезна.

Ну, не томи уже. Соснул, нет? ))

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

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

Как правило python не любят больные на всю голову существа.

в основном да

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

Не, не, есть groovy если есть необходимость (и терпение для времени запуска) в чем то из джава платформы, например JDBC драйвер или какая-то инфраструктура сборки

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

код с ошибками типизации - исключительно быдлокод,

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

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

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

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

Поддерживаю, PEP8 здесь не очевиден. Да и для демонстрации необходимости знания работы GC лучше было примевести пример с циклическими ссылками и отжиранием памяти.

И ещё интересно, а что такого великого в PEP8? Это-же по сути простые рекомендации, написаные в вольном стиле, со странными требованиями типа того, что исходники должны быть в кодировке «iso-что-то-там-буржуйское». И почему там требуют чтобы я использовал пробелы? Мне табуляции больше нравятся, ибо одна табуляция - один логический отступ, а визуальное расстояние можно настроить в IDE или редакторе.

dmitryalexeeff
()
Последнее исправление: dmitryalexeeff (всего исправлений: 5)
Ответ на: комментарий от provaton

Скорее наоборот, тот, кто сидит давно знает все торчащие гвозди, а тот кто сел первый раз - может и не заметить сначала.

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

Miguel ★★★★★
()

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

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

ну так покажи примеры ещё, где бывают ошибки типизации.

Хорошо, только сначала ответь на следующий вопрос, пожалуйста:

потому что язык способствует избеганию таких ошибок.

Каким образом?

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

Ну не знаю, двойственно тут все, конечно.

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

Ну если он может сидеть мимо гвоздей, значит он знает, где гвозди? А тот кто первый раз сел, может даже не догадаться, что это гвоздь, и думать, что это комар за задницу укусил.

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

питон никто не любит, просто никто об этом не говорит. фксд.

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

А вот тот, кто сидит в этом кресле от случая к случаю - заметит.

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

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

Если судить о Хаскеле по впечатлениям нубов,

...то получим неинтересный в силу вышесказанного результат.

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

А казуалы - это просто злокачественная форма нубов.

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

Каким образом?

http.OK{FOUND, NOT_FOUND, ...} позволили бы тебе не писать быдлокод и избежать ошибки типов, если бы ты знал лучше библиотеку которую используешь.

Хорошо, только сначала ответь на следующий вопрос

А теперь очередь за тобой. Еще примеры.

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

http.OK{FOUND, NOT_FOUND, ...} позволили бы тебе не писать быдлокод и избежать ошибки типов, если бы ты знал лучше библиотеку которую используешь.

Это фича не языка, а библиотеки.

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

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

P.S. Так примеров не дождусь, да? Печалько...

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

да, библиотеки, написал же.

Нет, ты написал:

потому что язык способствует избеганию таких ошибок.

P.S. Так примеров не дождусь, да? Печалько...

Скорей всего их действительно не будет, так как на вопрос ты ответить не можешь.

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

Нет, ты написал:

охх... цитирую:

позволили бы тебе не писать быдлокод и избежать ошибки типов, если бы ты знал лучше библиотеку

Ну да ладно. Та и знал что будешь цепляться к словам и огрызаться, вместо примера который мог уже раз 10 написать :)

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

охх... цитирую:

Я вопрос задал совсем к другой цитате же. Третий раз не буду цитировать.

вместо примера который мог уже раз 10 написать :)

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

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

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

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

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

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

А на личности я еще не начал переходить, хотя очень хочется :)

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

а что плохого в том, что школьники развиваются?

переадресую этот вопрос клубу поттерингоненавистников

DNA_Seq ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.