LINUX.ORG.RU

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

> «Сложные» == not «простые»

Понятно, хотя и неожиданно.

tailgunner ★★★★★
()

простота, или наверное даже примитивность.

но такая фигня потом получается(с)

anonymous
()

demotivation.ru/svy2kfh4xrlfpic.html Я бы сбросил на гуидо и даже сорри не сказал

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

>динамическая типизация

Можно чуток раскрыть тему - без холивара?

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

>он интерпретируемый, а не компилируемый

И это тоже

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

>и т.д.

И даже это =)

Мне интересен максимально широкий список

Наличие библиотек. Простых конструкций для сложных или громоздких вещей(например декораторы). Простота синтаксиса.

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

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

Только вот в переменной може оказаться и строка.

динамическая типизация

Она тебе правда помогает?

Да, не надо менять типы переменных.

Сомнительное преимущество. Да и компилятор сам может вывести типы.

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

Можно. Но вопрос-то о чём был? В своей нише «тривиальных» задач, которых, примерно, 98.237%, он что-то там даёт. Оставшийся % с хвостиком не так уж и нуждается в быстрой разработке, т.к. там выгоднее сначала много думать. Ну и инструменты помощнее есть, да. Но не применять же «промышленное» оборудование для «бытовых» дофигадцати восьми процентов.

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

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

Только вот в переменной може оказаться и строк

Может, в этом минус динамической типизации.

>> динамическая типизация

Она тебе правда помогает?

Да, не надо менять типы переменных.

Сомнительное преимущество. Да и компилятор сам может вывести типы.

Не все компиляторы, не всех языков такое могут. По мимо типов переменных, есть еще прототипы функций.

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

>о мимо типов переменных, есть еще прототипы функций.

Эээ, а ты в документации к функции не пишешь что она принимает?

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

> Может, в этом минус динамической типизации.

Главный минус для меня - это отсутствие чётких интерфейсов в языках с duck typing. Хрен узнаешь, что же именно ожидает функция, только на документацию и остаётся уповать. Конкретно в Питоне добивают всякие dict-like, file-like, не реализующие полный интерфейс своих прототипов. Более того, нигде не определён минимальный интерфейс для подобных объектов. Вообще, динамический полиморфизм через одинаковые имена методов - это тот ещё маразм. Ах да, в питоне ещё нету protected - полный пипец. Но это уже немного из другой оперы. По опыту работать с плоходокументированным питоньим модулем - это убиться веником. Хотя когда сам всё пишешь, обходясь без кривого 3rd-party, действительно получается быстро.

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

> В своей нише «тривиальных» задач, которых, примерно, 98.237%, он что-то там даёт

Питон такой тупой, что ничего особенного не даёт в плане скорости решения тривиальных задач. Но его достоинства проистекают из недостатков - простота и ограниченность дают низкий порог вхождения и позволяют держать в узде креатив code-monkeys, а потому Питон удобен для распределённой разработки тривиальных вещей. Конечно жабка была бы ещё лучше, если бы не её чудовищная инфраструктура, непомерно раздувшая ЧСВ жабакодеров. Эти зубрилки слишком дорого стоят для мелких контор, поэтому их окучивает исключительно ынтырпрайз. Для хитроумных штуковин ясное дело Питон не годится, в любой нише всегда найдётся более адекватный специализированный инструмент.

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

>ничего особенного не даёт ... низкий порог вхождения и позволяют держать в узде креатив

У тебя раздвоение личности? Низкий порог вхождения и более-менее понимаемый код, это не «ничего особенного». «быстрая разработка» и «code-monkeys», едва переросшие порог вхождения, делают необходимым частое чтение полученого кода. Т.ч. жабе эта ниша заказана (кроме как в виде какого-нибудь Jython). Я бы сказал, что скорее питон в ынтырпрайз пролезет, т.к. ему для этого совсем чуть-чуть не хватает.

удобен для распределённой разработки тривиальных вещей

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

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

Можно. Но вопрос-то о чём был? В своей нише «тривиальных» задач, которых, примерно, 98.237%, он что-то там даёт. Оставшийся % с хвостиком не так уж и нуждается в быстрой разработке, т.к. там выгоднее сначала много думать. Ну и инструменты помощнее есть, да. Но не применять же «промышленное» оборудование для «бытовых» дофигадцати восьми процентов.

Отчасти согласен, но тот же f# сравним как по скорости разработки «простых» задач, так и по краткости полученного кода. Фишка в том, что этот же f# годится и для сложных проектов (где сложность состоит не в выжимании возможного из аппаратуры - для этого есть си). И мне кажется, что это общее свойство многих [смешанных] функциональных языков. Правда, краткость таких языков может сильно разниться. По-моему лиспы многословнее других.

Я думаю, что у питона главное преимущество в его простоте, в низком пороге вхождения. В остальных вещах питон неодинок. Может быть, многие других языков и не знают, кроме cи, явы, cи-шарпа, перла и еще чего-нибудь стандартного. Потому и может создаваться впечатление, что питон де один такой особенный :)

dave ★★★★★
()

примитивность, батарейки

и быстрой разработку эти факторы делают только в контексте каких-то примитивных вещей, соответственно

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

>По-моему лиспы многословнее других.
Нихрена подобного. Лисп(если имеем ввиду CL) очень немногословен. А с учетом макросов - особенно. Но принятый стиль задания имен(т.е. длинные имена из нескольких слов, вроде with-open-file или array-row-major-index) может создать противоположное впечатление. Кстати, такой стиль лисперы могут себе позволить именно в силу немногословности лиспа. Есть такое английское слово sesquipedalian, хорошо оный стиль характеризующее.

Love5an
()

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

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

sesquipedalian

В общем, да. Неизбежно с такой системой пакетов и раздутым cl. Я же сравнивал с языками семейства ML.

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

>Поймешь когда проект на Си (любой другой язык) будет компилироваться по две минуты.

Интересует мнение опытных питоноводов: а комплект юнит-тестов, дающий аналогичные гарантии выполнится быстрее? Нет ли граблей при «инкрементном тестировании» (как инкрементная компиляция)?

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

> Главный минус для меня - это отсутствие чётких интерфейсов в языках с duck typing.

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

Аминь, брат.

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

>> Поймешь когда проект на Си (любой другой язык) будет компилироваться по две минуты.

Интересует мнение опытных питоноводов: а комплект юнит-тестов, дающий аналогичные гарантии

«Аналогичность» гарантий гарантировать нельзя :) Кроме того, unit-тесты еще написать надо, а компилятор уже готовый.

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

>при этом объектный до мозга костей

Кто кто, питон-то?

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

> какая прэлэсть, очередной срач питон vs лисп, давно не было

Ага но мнения не изменились: Питон для школоты, а Липс для «интиликтульной иилиты» )))

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

>>Ага но мнения не изменились: Питон для школоты, а Липс для «интиликтульной иилиты» )))

плюсую


и метла для тех, кто не знает ни того, ни другого =)

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

>в его простоте, в низком пороге вхождения

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

DonkeyHot ★★★★★
()

Что-то мне подсказывает, что через пару страниц тут будут обсуждать «лисп» и только «лисп».

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

>JSR - это что-то вроде PEP? %)

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

А возьмем этот ваш ПЕП:
навскидку первое что вижу:
http://www.python.org/dev/peps/pep-3108/
ищем в гугле автора:
http://www.google.com/profiles/bcannon
И какой-то аспирант будет писать такие серьезные вещи, как реорганизация стандартных либ? Да Вы шутите, он же не писал больших проектов, он понятия не имеет в чем нуждаются разработчики. Вы не путайте пожалуйста, академическую разработку и реальную.
а вот последний пример из jsr
http://jcp.org/en/jsr/detail?id=317
ищем автора
http://qconlondon.com/london-2007/speakers/show_speaker.jsp?oid=128
She has over 20 years of experience in the areas of databases, object persistence, distributed computing, and OO in both industry and research. Before assuming responsibility for EJB, she led the team that implemented Sun's first object/relational persistence product, and worked earlier at IBM on object/relational extensions to both DB2 and the SQL99 standard. She holds a Ph.D. in Computer Science from Stanford University.

вывод: питон написан студентотой для студентоты. У питонистов отсутствует глобальных взгляд на архитектуру. У большинства даже просто понятие архитектуры вызовет большие затруднения. Не говоря уже о саппорте. Много вы знаете таких проектов как JBoss AS, например, написанных на питоне или лиспе? Эти языки неупраляемы и трудноподдерживаемые. Поэтому весь десткий лепет о выразительности и прочем теряет смысл. Не забывайте, что скорость разработки - это и легкость поддержки и внесения измений в том числе.

JFreeM ★★★☆
()

> Много вы знаете таких проектов как JBoss AS, например, написанных на питоне или лиспе?

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


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

;and hologram

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

>Ты подумай о временах, когда писали жбосс и для кого его писали.
из будущего штоле?

Name   Size   Release date

5.1.0   130 MB   2009-05-23

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

> Много вы знаете таких проектов как JBoss AS, например, написанных на питоне или лиспе? Эти языки неупраляемы и трудноподдерживаемые.

Опять ты со своим экскаватором... Пойми уже, что задачи разные бывают по сложности, объему работ, бюджету. Есть куча проектов, где жабка - total overkill. Её преимущества вылазят только начиная со многих десятков тысяч строк, а до того она отчаянно сосёт у питона по всем параметрам. Да, и с чего это ты взял, что у питоньих проектов не бывает архитекторов? Если это не one-man/one-month халтурка, то всё как обычно - смышленый архитект и стайка индусов при нём. И качество проектов сильно варьируется, также как и в жабских. Просто жабка более масштабируема в силу своей статической природы.

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

>И какой-то аспирант будет писать такие серьезные вещи, как реорганизация стандартных либ?

А вы ПЕП тот читали? Это просто легкое подчищение легаси и косметика. Тут не нужно иметь сумасшедший опыт работы.

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

> навскидку первое что вижу:

http://www.python.org/dev/peps/pep-3108/

Вот прям-таки навскидку, да? %)

И какой-то аспирант

А Линукс написал студент, ичо? :D

She holds a Ph.D. in Computer Science from Stanford University.

вывод: питон написан студентотой для студентоты.

Бгг. Так толсто, что даже возражать лениво %)

tailgunner ★★★★★
()

Что касается WEB, на мой взгляд сильно упростил жизнь питонщикам и не только, блог Ивана Сагалаева http://softwaremaniacs.org , т.е хорошее сообщество у питонистов.

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

> вывод: питон написан студентотой для студентоты. У питонистов отсутствует глобальных взгляд на архитектуру. У большинства даже просто понятие архитектуры вызовет большие затруднения.

Фееричненько! Java power, Java power, Java power!

И вообще, зачем ты так тонко? Такие смелые выводы должны бы подкрепиться еще одним: JBoss AS написано на джаве, значит другие языки для AS не годятся.

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

Пыхпыхерство ставить в плюс питону явно не стоит.

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

> при этом объектный до мозга костей.

Скольо в теме Петросянов развелось.

naryl ★★★★★
()

И ведь все доводы, приводимые питонистами можно с таким же успехом отнести и к tcl. Только последний обладает ещё и простотой, которую почему-то приписывают питону.

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

можно с таким же успехом отнести и к tcl

Можно. Но он не так прост. Т.е. обладает другим типом простоты, не тем, который нужен «массам». К тому же «[ expr $n + 1 ]» выглядит на полтора порядка хуже «n + 1», а встречается часто. Хотя, при должной полировке, он мог бы быть не хуже, наверное.

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

> Хотя, при должной полировке, он мог бы быть не хуже, наверное.

Это был бы уже не Tcl.

P.S. «Tcl is Lisp on drugs» (c) Lisp, да к тому же on drugs - это уж точно не то, что нужно массам :D

tailgunner ★★★★★
()

Помимо плюсов самого языка, под винды есть py2exe, под qt и gtk есть байндинги, под веб есть джанго. Питон является золотой серединой для начинающего кодера, я считаю. Качество и серьезность исполнения не берем во внимание, козырь питона - полная универсальность для несложных задач.

Bad_Habit
()

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

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