LINUX.ORG.RU

Обзор новых возможностей в Python 2.6 и 3.0

 ,


0

0

В сентябре 2008 года должны выйти сразу две версии языка Python — 2.6 и 3.0. Версия 3.0 потеряет обратную совместимость с линейкой 2.x. Облегчить переход на новую ветку должна версия 2.6, в которой будут реализованы основные возможности из Python 3.0, но в которой еще сохранится обратная совместимость с предыдущими версиями. Таким образом, в версии 2.6 уже можно будет пользоваться многими возможностями Python 3.0, но старый код будет продолжать работать, и будет время для перехода на Python 3.0.

В этой статье мы с вами рассмотрим основные изменения, которые произошли в Python 2.6 и 3.0 по сравнению с Python 2.5. Для запуска примеров использовались первые бета-версии Python 2.6 и 3.0, поэтому к выходу финальной версии еще может что-то измениться.

>>> Подробности



Проверено: Shaman007 ()
Ответ на: комментарий от lester

> вот тут как раз большинство monkey и отсеивалось, которые с умным видом требовали поставить им Visual, Java, VHDL( были и такие "умники" из Харькова ), Delphi и т.п.

VHDL Вы ради красивого буквосочетания вставили? Сдаётся мне, что Вы сами макака обыкновенная с borland си.

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

> вообще, смысла в этом споре нету,

И к чему твой пост тогда?

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

Спасибо, К.О. Но почему-то ты забыл упомянуть, что эти области применения могут и пересекаться.

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

Про олимпиады

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

За динамическую типизацию надо давать 10 лет исправительных работ без
права переписки.

> на убожестве типа C/pascal/java

Язык участники выбирают сами. (Хотя на моей памяти питонов и перлов никто
не просил).

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

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

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

> "Python was first released by Guido van Rossum in 1991."

Дата выпуска тут как бы не при чем. Просто человек изобрел велосипед на
гужевой тяге с треугольными колесами. Причем в то время, когда уже существовали
не только велосипеды, но и автомобили, самолёты, и ракеты. Если б это
школьник какой-то сделал смеху ради -- еще б другое дело. А то взрослый,
серьезный (?) дядько.

> "Java is a programming language originally developed by Sun Microsystems
> and released in 1995 as a core component of Sun Microsystems' Java platform."

То же самое.

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

> > Тем более, что python (IMHO) -- так себе, кривенькая новомодная поделка.

> Сходи на вики, глянь, сколько ему лет,

Во-первых, возраст в данном вопросе вторичен, а во-вторых, маловато ему
лет-то (по сравнению с LISP'ом, FORTRAN'ом, C).

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

>>> Тем более, что python (IMHO) -- так себе, кривенькая новомодная поделка.

>> Сходи на вики, глянь, сколько ему лет,

> Во-первых, возраст в данном вопросе вторичен, а во-вторых, маловато ему лет-то (по сравнению с LISP'ом, FORTRAN'ом, C).

Обоснуйте, плз, что а) не кривенькое б) не новомодное из того же класса, что и Python. Из Вашего поста следует, что настоящее Ъ это LISP + FORTRAN и возможно C...

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

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

> c 1988 tcl/tk

Ха! 1988 год? Новодел :D И если уж Питон крив, то для Tcl слова пока не придумали.

P.S. "Tcl is LISP on drugs. Using strings instead of S-expressions for closures is Evil with one of those gigantic E's you can find at the beginning of book" (c)

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

ну ,там баран цитат надергал хорошо :))) - ака из lor

> И если уж Питон крив, то для Tcl слова пока не придумали.
соплив ты еще дружок про тикл такое говорить :))





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

> ну, там баран цитат надергал хорошо :))) - ака из lor

А ты, критик литературный.

>> И если уж Питон крив, то для Tcl слова пока не придумали.

>соплив ты еще дружок про тикл такое говорить :))

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

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

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

> c 1988 tcl/tk

Голословное утверждение, еще и ложное.

1) Как уже сказали выше, 88 и 91 это величины одного порядка,
=> тикль тоже "новомодное".

2) Имхо, тикль более кривенький чем питон. Имхо не пропускаем.
По крайней мере у меня есть опыт скриптования готовых прикладух
на обоих. Скрипты на тикле как-то не впечатлили, на фоне
python и его массива библиотек. => тикль тоже "кривенький"

3) Добавим маслица... Интересно все таки послушать, что же такое может тикль, чего не может python (при описании мега достоинств тикля выкинуть tk, разумеется). Кратко и тезисно, с примерами.

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

> А ты, критик литературный.
я давно tcl применяю

> может, получится убедительнее.
ты выпросил :)))

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

> Голословное утверждение, еще и ложное.

:)))

> "новомодное"

ну ну

> Имхо, тикль более кривенький чем питон.Имхо не пропускаем.

хоть сам читал бред ?

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

похоже нет у тебя опыта
а меня харит тебе разьяснять



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

> VHDL Вы ради красивого буквосочетания вставили?

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

П.С. извините, но вы осел

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

>> Имхо, тикль более кривенький чем питон.Имхо не пропускаем.

> хоть сам читал бред ?

Мда, как все запущено...

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

>похоже нет у тебя опыта >а меня харит тебе разьяснять

Перевожу, про опыт и "харит".

Ситуация. 1999 год, знаний tcl/python - 0, работал только с C/C++. Есть программа А к ней скриптовый движок на tcl. Есть программ Б, к ней скриптовый движок - python. Типичный вариант использования сабжа. Цель автоматизировать рутинные операции для решения некторой задачи как можно быстрее и проще, задача и результат -- не кодерские! Из источников информации man + сеть. Впечатления. Tcl - ужос, python - крайне интересно для более глубокого изучения. Это личный субъективный опыт.

Из поста elipse следует, что хоть раз соприкоснувшись с tcl я должен был автоматом приобщен к мощи и великолепию сего инструмента. Вот меня не торкнуло тогда. Не торкает и сейчас. И многих других тоже не торкает: тикль так и остался в своей нише, популярность python выросла.

Это раз.

Два про "харит". В свое время меня учили, что если специалист не может на пальцах объяснить даже профану суть того, чем он занимается и для чего это нужно, то этот специалист сам этого не знает )) Все остальное гнилые отмазы.

Мне дейсвительно интересно, чем хорош tcl именно по сравнению c python. В чем его killer-feature? За язык, тебя друг, никто не тянул. Ляпнул ты про tcl сам. Так что, давай, отдувайся. Не давай флейму остыть ))

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

> VHDL Вы ради красивого буквосочетания вставили?

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

П.С. извините, но вы осел

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

> И что в этом плохого? Наши вилосипеды самые велосипедистые. Хотя кодеманке это не понять, у нее велосипед 3 колесный и с сигнальчиком. Интересно, тот кто написал Django - тоже велосипедисты?

Из этого не следует, что все вокруг должны писать своё с нуля,э?

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

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

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

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

> П.С. извините, но вы осел

Последние очень легко опровергнуть. Ибо я человек, и свидетельство о рождении имеется.

Теперь почему Вы страдаете слабоумием. Плохо Вы в универе учились-образовывались, плохо. Во-первых, VHDL - не язык программирования, а язык описания схем. Его неким эквивалентом будет HTML/TeX - язык описания страницы. Теперь давайте прочитаем ваше сообщение - "макаки просили поставить Delphi, Visual Studio и HTML". Даже если и воспринимать VHDL как язык программирования (что могут предположит совершенно не пытавшиеся сие осилить студенты, элементарно купившие зачет), то все равно ряд "Delphi, Visual Studio, Си" никак не вяжется. Вообщем, руки прочь от VHDL, не смейте его даже упоминать. Не доросли ещё. Идите в соседнюю тему "программировать" на Скретч, там же можете постить про свой православный Борланд Си и про успехи в олимпиадах среди слабоумных.

Что касается троллинга. Я этим очень редко занимаюсь. Что за привычка на лоре всех подряд обвинять в троллинге? Обычно это начинаеться, когда заканчиваются аргументы. И все равно, даже тролли имеют право на существование.

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

> Из этого не следует, что все вокруг должны писать своё с нуля,э?

Нет, далеко не с нуля. С нуля это Лебедев со своим Parser.

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

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

anonymous
()

> школьнег?

Имеете чтото против школьников? Считаете что сидеть на ЛОРе достойны лишь Ъ, онанизмусы, и 40летние бородатые дядьки?

> если ты занимаешь места на олимпиаде только благодаря питону - то ты их зря занимаешь...

Места занимаю благодаря каким-то знаниям алгоритмов, большинство которых просты в реализации на питоне. Осбенно если дело касается вычислений больших чисел (только не надо орать что я быдлообезьяна, не способная реализовать это в низкоуровневых языках) с ограниченым временем на написание кода, обработки данных и тд. Исессно, перебороперестановки пишутся на c или pascal, ибо питон будет считать в 10 раз дольше.

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

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

Ой, что-то про Руби забыли:) Ну чтож, подбросим палок в огонь. И так, выкеньте питон на помойку, ибо:

1. Регулярные выражения fail, эти убогие re.compile, matching-objects, буэ..

2. lambda-выражения, даже вместе с оператором with не заменят нормальных блоков кода

3. Целый зоопарк сущностей - операторы, объекты, функции. Например print - оператор (только счас его сделали функцией)? Все это засирает мозг. В руби тоже зоопарк, но по-меньше (по крайнй мере функции это частный случай обектов - функторы, а ужосов с оператором print вообще нету).

4. Неинтуитивное деление на функции и методы объектов. Язык из-за этого зоопарка учиться в разы медленее чем руби (проверено мной и парой-тройкой мои знакомых)

5. Невозможность расширения стандартныз классов.

6. Про "невелосипедистов", написавших Django - слизано с Ruby On Rails, так что не присваивайте питонистанм того, на что у них мозгов не хватило (а хватило только на всякий уж0с типа Zope, Pylons etc)

anonymous
()
Ответ на: Про олимпиады от Dselect

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

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

> Регулярные выражения fail, эти убогие re.compile, matching-objects
Регулярные выражения - в большей степени вещь в себе и реализация питона считается классической и одной из лучших. Конкретно чего не хватает?

>4. Неинтуитивное деление на функции и методы объектов. Язык из-за этого >зоопарка учиться в разы медленее чем руби
Желание учить руби отпадает стоит только взглянуть на примеры кода. Зато появляется рвотный рефлекс.

> Про "невелосипедистов", написавших Django - слизано с Ruby On Rails
Да вот только гугловцы выбрали именно джанго, а все новости из "мира руби на рельсах" это отчеты об очередных найденных уязвимостях.

anonymous
()

Хорошо, что python развивается...

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

>Регулярные выражения - в большей степени вещь в себе и реализация питона считается классической и одной из лучших. Конкретно чего не хватает?

Регулярные выражения там релизованы библиотекой, для скриптового языка не иметь встроенной поддержки регулярок - позор. Не хватает например оператора =~ и переменных $1, $2...

>Желание учить руби отпадает стоит только взглянуть на примеры кода. Зато появляется рвотный рефлекс.

Примеры кода в студию! (у самого рвотные рефлексы были до того момента, пока не прочитал, что такое строка с двоеточием перед символом, и что же это такое таинтсвенное между фигурными скобками)

> Про "невелосипедистов", написавших Django - слизано с Ruby On Rails Да вот только гугловцы выбрали именно джанго, а все новости из "мира руби на рельсах" это отчеты об очередных найденных уязвимо

А вот гугловцев вспоминать не стоит, ну подумаешь, гугл лохи по сравнению с IBM, а там вообще Java любят. Рельсы то да, скоро сдохнут. Но тем не менее сама идея не появилась бы без руби. Зато есть продолжатели славного дела Rails - как минимум Merb.

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

> Ой, что-то про Руби забыли:) Ну чтож, подбросим палок в огонь. И так, выкеньте питон на помойку, ибо...

Сломал челюсть, от чрезмерного зевания.

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

> встроенной поддержки регулярок - позор. Не хватает например оператора >=~ и переменных $1, $2...
Отсутствие встроенная поддержки не сильно мешает, а переменные есть, если ты о замене в выражениях) re.sub(r'(aaa)', '\g<1>', text)

> Примеры кода в студию! (у самого рвотные рефлексы были до того > момента, пока не прочитал, что такое
Питон отлично подходит для прототипирования и легкочитаемой демонстрации
алгоритмов. Руби - нет. Будешь спорить?

> А вот гугловцев вспоминать не стоит, ну подумаешь, гугл лохи по
> сравнению с IBM, а там вообще Java любят. Рельсы то да, скоро сдохнут.
Остается только надеятся что твое непонятное восхищение к IBM основано не на тех опусах которые они публикуют здесь. Что касается 2ой сентенции
то совершенно согласен - руби наверняка скоро сдохнет. Даже самые отмороженные гики уже начали это понимать. Людям с прагматическим складом ума которым нужен реально работающий инструмент который уже работает и будет развиваться дальше. Руби и его славные продолжатели это все хорошо идет под пиво в разговорах и флеймах на форумах, но от реальных проектов лучше держать их подальше.


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

RE: 5 пунктов
anonimous -- было  наверное вам полезно почитать таки про python,
ибо все ваши `факты` либо в корне не верны, либо имеют оочень серьёзные неточности , а ваши `эмоции` либо возникли из `ниосилил`, либо являются следствием малограмотности, по крайней мере в вопросе обсуждения...

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

>Отсутствие встроенная поддержки не сильно мешает, а переменные есть, если ты о замене в выражениях) re.sub(r'(aaa)', '\g<1>', text)

а, что-нить типа r[$1] = $2 if '2: sdf' =~ /(.+): (.+)/ ?

>Питон отлично подходит для прототипирования и легкочитаемой демонстрации
алгоритмов. Руби - нет. Будешь спорить?

Вопрос - для демонстрации кому? Самим себе?:) Так что спорить буду. Если самим себе, то писать

for i in xrange(n):
  ...

вместо

n.times{...}

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

Хотя если месье не осили руби, то весь питонячий код можно драть на руби под ноль (включая декораторы, которые в некотором виде есть, вопреки воплям незнающих руби):

for i in (1..n)
  ...
end

Так что можно писать по крайней мере не хуже, а даже и лучше.

>Остается только надеятся что твое непонятное восхищение к IBM основано не на тех опусах которые они публикуют здесь. 

Оно осоновано на том, что IBM лидер по продажам софта в мире. Учи матчасть.

>Что касается 2ой сентенции
то совершенно согласен - руби наверняка скоро сдохнет...

Рельсы сдохнут, руби - нет. Кто считает что руби == рельсы, глубого ошибаеться.

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

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

Вначале попиши на руби, потом уже расказывай.

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

2elipse (*) (30.06.2008 12:08:38):

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

> c 1988 tcl/tk

Фууу. Вот так вые...лся. Ничего блистающего у Tcl в сравнении с Python
нет. Если хотя бы немного работал с обоими, должен бы знать.

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

> а, что-нить типа r[$1] = $2 if '2: sdf' =~ /(.+): (.+)/ ?
чего здесь полезного кроме сомнительной лаконичности? отсутствие типизации это по твоему фича да?

меня вполне устраивает питонский вариант с типизаций
m = re.search(r'(.+): (.+)','2: sdf')
if m:
r[int(m.group(1))] = m.group(2)
ошибка в том что ты назвал питон скриптовым языком и ждешь от него плюшек как в перле, которым уже все наелись досыта.

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

> Оно осоновано на том, что IBM лидер по продажам софта в мире. Учи матчасть.
Расскажи что сравнимого с достижениями гугла сделал голубой гигант для веба? Мы же про веб движки говорили, да?

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

>отсутствие типизации это по твоему фича да?

Вот тебе типизация: r[$1] = $2 if '2: sdf' =~ /(\d*): (.+)/

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

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

>бред про азы восприятия скипаю т.к это все твое субьективное мнение

Я изучаю программирование по SICP. Хочешь назвать мнение преподов лучшего вуза в мире в области информатики субъективным бредом, то я думаю тебе пора подумать о повышениии квалификации.

>а то что цикл в руби можно написать n-ралзичными способами отношу скорее к недостаткам.

Самое смешное что если подумать как следует, то и в питоне это можно сделать n различными способами, и разработчики языка уже давно ушли от принципа "only one way to do it", так что нечего этим гордиться, тем более этим гордяться некошерный программисты на Java:) Просто питон гораздо более императивный, чем руби

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

>Имхо, тикль более кривенький чем питон.

Идиот.

>Имхо не пропускаем.

Имхо тебе - в биореактор.

P.S. Я уже неоднократно зднсь говорил: Python - для неасиливших (в том числе и с "опытом скриптования") Tcl.

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

> Плохо Вы в универе учились-образовывались, плохо. Во-первых, VHDL - не язык программирования, а язык описания схем.

Вы ТУПОЙ ДОЛБОЕБ!!!!! я ж про это говорил - что нафиг он не нужен был на олимпиаде по ПРОГРАММИРОВАНИЮ, у вас точно склероз - дальше одного поста ничего не помните, а еще у вас параноидальные бредовые фантазии на тему что я говорил

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

> Вы ТУПОЙ ДОЛБОЕБ!!!!!

Я же Вас запомню как грубияна.

> я ж про это говорил - что нафиг он не нужен был на олимпиаде по ПРОГРАММИРОВАНИЮ, у вас точно склероз - дальше одного поста ничего не помните

А как понимать фразу "просили поставить VHDL"? Ведь это ещё больший бред, чем "просили поставить HTML". И то что Вы ничего слаще Борланд Си не ели, ничего не значит.

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

>>Имхо, тикль более кривенький чем питон.
>Идиот.
>>Имхо не пропускаем.
>Имхо тебе - в биореактор.
>P.S. Я уже неоднократно зднсь говорил: Python - для неасиливших (в том числе и с "опытом скриптования") Tcl.

Led, я тебя не оскорблял. С чего ты взял, что я "ниасилил"?
Вообще порожает голословносить и агрессивность тикловодов в этом топике... Лавры профессора не дают покоя? Дык тот хоть лекции тут читал ))

Возникает закономерный вопрос, на который так никто вразумительно не ответил: а накуя вообще "осиливать" это чудо если никаких бенефитов в принципе нету (кроме личной привязанности). Даже на wiki.tcl.tk какую-то муть пишут про более "элегантное" решение в отдельно взятых подсистемах...

Перефразируя тебя:
Зачем tcl? Tcl - для неасиливших Python, других "преимуществ" у него нет. Python простой и логичный и ОЧЕНЬ мультиплатформенный.

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

> А как понимать фразу "просили поставить VHDL"?

буквально - приехали и попросили, у вас есть еще варианты?

> И то что Вы ничего слаще Борланд Си не ели

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

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

>я тебя не оскорблял.

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

>С чего ты взял, что я "ниасилил"?

Из этого: "а накуя вообще "осиливать" это чудо если никаких бенефитов в принципе нету"

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

2anonymous (*) (30.06.2008 15:58:18):

Сколько уже можно мусолить одно и то же?

> Ой, что-то про Руби забыли:) Ну чтож, подбросим палок в огонь. И
> так, выкеньте питон на помойку, ибо:

> 1. Регулярные выражения fail, эти убогие re.compile, matching-
> objects, буэ..

Регулярные выражения не обязаны быть частью языка. Может быть
туда ещё парсер XML запихнём?

> 2. lambda-выражения, даже вместе с оператором with не заменят
> нормальных блоков кода

И не должны. Python - это не Ruby. Язык построен на других принципах.

> В руби тоже зоопарк, но по-меньше (по крайнй мере функции это
> частный случай обектов - функторы, а ужосов с оператором print
> вообще нету).

Главный зоопарк Ruby - это возможность переопределять свойства
уже существующих классов, включая стандартные классы. Так что
иди лесом. Хорошо только для мелких экспериментов.

> 4. Неинтуитивное деление на функции и методы объектов. Язык из-за
> этого зоопарка учиться в разы медленее чем руби (проверено мной и
> парой-тройкой мои знакомых)

"Твоих" знакомых. Вы со знакомыми и пиво с водкой, наверное, одно и
тоже пьёте. Тоже "проверено".

> 5. Невозможность расширения стандартныз классов.

Вот! Выше уже написал. Это страшнейшее зло. Если ты вообще
представляешь, что такое поддержка крупного проекта. Такой Вася,
как ты, нарасширяет стандартные классы, а "его знакомый" будет
барахтаться в этом дерьме, пытаясь понять, почему класс Integer
начал складывать числа вместо их вычитания. Или, не менее "весело",
если в стандартные классы добавятся новые методы, и пойдут конфликты
с твоими.

> 6. Про "невелосипедистов", написавших Django - слизано с Ruby

Про "невелосипедистов" - Ruby вобрал в себя идеи из Perl, Lisp и
представьте себе Python. Получилось местами неплохо, местами ужасно.
Особенно Перлово наследие.

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

> Главный зоопарк Ruby - это возможность переопределять свойства уже существующих классов, включая стандартные классы

В Питоне это тоже возможно.

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

2anonymous (*) (30.06.2008 18:53:54):

> Самое смешное что если подумать как следует, то и в питоне это можно
> сделать n различными способами, и разработчики языка уже давно ушли
> от принципа "only one way to do it", так что нечего этим гордиться,

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

> Просто питон гораздо более императивный, чем руби

Это полный бред. Напротив, Python имеет больше схожего с функциональным
программированием, чем Ruby. Например, более прозрачная работа
с функциями -- передача их в качестве параметров и вызов. В Ruby
это делается несколько через задницу, из-за того, что там ()
необязательно в вызове методов. Во-вторых, те же строки, в Python
они immutable, функциональный подход, в Ruby они mutable. Я не говорю,
что Python весь из себя функциональный, но уж Ruby менее функционален
точно.

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

2tailgunner ** (*) (30.06.2008 21:02:07):

>> Главный зоопарк Ruby - это возможность переопределять свойства уже >> существующих классов, включая стандартные классы

> В Питоне это тоже возможно.

Я понимаю, что оба языка динамические, и возможно всё, но настолько просто, как в Ruby нет, в Python невозможно. В Ruby же это поощряется самим языком.

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

Мне кажеться сравнивать Djаngo и Ruby on Rails нельзя.
Django это cms движок а RoR это .... как бы выразиться ....
ну для написания веб приложений что ли ...

Лучше сравнить RoR и Turbo Gear тогда.

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

>Это неправда. Разработчики не уходили от этого принципа.

Смиритесь, это правда=)

Кроме:
for i in xrange(n):
...

Навскидку:
map(..., xrange(n))
reduce(...,xrange(n))

Тока из-за кривых лямбда придеться объявлять функции отдельно скорее всего.

>Напротив, Python имеет больше схожего с функциональным
программированием

Марш ботать матчасть, декларативное программирование != функциональное программирование, это один из вариантов. Например Smalltalk, чисто ООП язык, при этом еще и декларативный, а руби как раз имеет много его черт.

>Например, более прозрачная работа с функциями -- передача их в качестве параметров и вызов

Синтаксис ничто, семантика фсё=) Функции высшего порядка есть а про скобочки бред, не существено, а то я ща начну вспоминать всеми любимые отступы:). В руби есть блоки кода, это прибавляет функциональности. Питон скорее не функциональный, а процедурный в этом отношении.

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

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

>Регулярные выражения не обязаны быть частью языка. Может быть туда ещё парсер XML запихнём?

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

>И не должны. Python - это не Ruby. Язык построен на других принципах.

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

>"Твоих" знакомых.

Вот что удивительно, они очень авторитетные люди для меня.

>Вот! Выше уже написал. Это страшнейшее зло. Если ты вообще представляешь, что такое поддержка крупного проекта. Такой Вася, как ты, нарасширяет стандартные классы, а "его знакомый" будет барахтаться в этом дерьме, пытаясь понять, почему класс Integer начал складывать числа вместо их вычитания. Или, не менее "весело", если в стандартные классы добавятся новые методы, и пойдут конфликты с твоими.

Такие объяснения напоминают объяснения java-кодеров, почему жава рулит. Дескать статическая типизация рулит, а то ведь какому-нибудь васе пупкину взбредет еще в метод foo передать переменную bar, да не того типа, и все полетит к чертовой бабушке. Вот скажи, какой идиот будет так коверкать класс Integer? Такие изменения делаються очень осторожно. Так если рассуждать, то в С++ можно #define true false сделать и все навернеться. Никто же этого не боиться, правда? Так что больше - возможностей, меньше monkey-code => больше эффективность, и нечего бояться.

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

>Так если рассуждать, то в С++ можно #define true false сделать и все навернеться.

"Навернётся" только у ламеров, которые не обращают внимания на warning'и при компиляции.

Что тогда говорить про Forth, где вообще только две сущности: "слово" (последовательность ЛЮБЫХ непробельных символов) и "пробел" (любая последовательность пробельных символов), да и это можно переопределить:)

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