URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 42469
[ Назад ]

Исходное сообщение
"OpenNews: Началось бета-тестирование Python 2.6 и Python 3.0"

Отправлено opennews , 19-Июн-08 22:30 
Началось (http://comments.gmane.org/gmane.comp.python.announce/7877) бета-тестирование Python 2.6 (http://www.python.org/download/releases/2.6/) и Python 3.0 (http://www.python.org/download/releases/3.0/).  Финальные релизы 2.6 и 3.0 запланированы на сентябрь.


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

URL: http://comments.gmane.org/gmane.comp.python.announce/7877
Новость: http://www.opennet.ru/opennews/art.shtml?num=16569


Содержание

Сообщения в этом обсуждении
"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Smaug , 19-Июн-08 22:30 
Замечательная новость. Python - отличный инструмент

"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено belkin , 19-Июн-08 22:56 
Обещают в 3-ей версии убрать устаревшее и сделать другие улучшения. Конечно я не знаток в языках, но мне этот Питон (2.5) тяжело даётся. Постоянно натыкаюсь в языке на какие-то уходы в сторону мелкого прагматизма в ущерб общей целостности. Практическая реализация пока далека от Питон-Дзэна. Речь не об отсутствии символов для группировки операторов т.е. к отступам можно и привыкнуть, но по-моему это типичный пример когда заявляется одно ("явное лучше неявного") а на деле совсем другое. То же самое с общетиповыми функциями - всё объекты, однако, например, функция определения длины реализована отдельно а не как метод объекта Строка. Ну и т.д в более сложных конструкциях и с перекрываемыми атрибутами в классах и прочие уходы от заявленных принципов, которые вообще-то меня привлекают. Мля, "изобретение" кортежей вообще веселит. :)

Тут недавно была новость "Почему Ruby и Python не могут занять место стареющей Java" http://www.opennet.ru/opennews/art.shtml?num=16178
Про Ruby не знаю, но Питон, во-первых, ещё не достиг зрелости т.е. будут большие перемены, и, во-вторых, возможно стабилизации не будет так как обнаружатся противоречии в концепции.

(Шигорин и остальные "мудрецы", давайте без обвинений в зелённости и без пацанских "самому слабо".)


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено vitek , 19-Июн-08 23:18 
по секрету - ни один язык не достиг зрелости, кроме С.
если конечно не считать, что зрелость - этап перед старостью и смертью.

"дизайн и эволюция языка Python"
Отправлено csdoc , 20-Июн-08 00:15 
> мне этот Питон (2.5) тяжело даётся.
> Постоянно натыкаюсь в языке на какие-то уходы в сторону мелкого прагматизма
> в ущерб общей целостности.

perl, PHP или bash попробуй, - сразу почувствуешь разницу. там этого гораздо больше.

> по-моему это типичный пример когда заявляется одно ("явное лучше неявного")
> а на деле совсем другое. То же самое с общетиповыми функциями - всё объекты,
> однако, например, функция определения длины реализована отдельно
> а не как метод объекта Строка.

__len__(self)

    Called to implement the built-in function len(). Should return the length of the object, an integer >= 0.
Also, an object that doesn't define a __nonzero__() method and whose __len__() method returns zero
is considered to be false in a Boolean context.

http://docs.python.org/ref/sequence-types.html

почему сделали именно так? не знаю. возможно потому что "длинна строки"
более естественно переводится в конструкции языка программирования как "len(string)",
чем "string.len()" - "вызов метода len у объекта string с пустым списком аргументов".

кроме того, в случае "len(string)" человек читает исходники прямо и быстрым способом,
а "string.len()" придется уже читать задом-наперед, сначала метод, потом имя обьекта.

наверное автора python`а эти возвраты раздражали, так же как и лишний синтаксический
мусор в виде begin ; end или { ; } поэтому лично я - принимаю и одобряю его решение.

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

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

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

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

> Мля, "изобретение" кортежей вообще веселит. :)

что именно не нравится с кортежами, поконкретнее можно?

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

это вряд ли. противоречий в концепции например,
у PHP, bash или perl гораздо больше чем у python`а.

Ruby и perl 5.10 - сейчас все больше только syntactic sugar
создают вместо новой функциональности, на этом фоне python достаточно хорошо развивается.


"дизайн и эволюция языка Python"
Отправлено zeus , 20-Июн-08 11:15 
>[оверквотинг удален]
>http://docs.python.org/ref/sequence-types.html
>
>почему сделали именно так? не знаю. возможно потому что "длинна строки"
>более естественно переводится в конструкции языка программирования как "len(string)",
>чем "string.len()" - "вызов метода len у объекта string с пустым списком
>аргументов".
>
>кроме того, в случае "len(string)" человек читает исходники прямо и быстрым способом,
>
>а "string.len()" придется уже читать задом-наперед, сначала метод, потом имя обьекта.

про literal programming ничего не слышали?



"дизайн и эволюция языка Python"
Отправлено csdoc , 20-Июн-08 11:41 
>> "длинна строки" более естественно переводится в конструкции языка программирования как "len(string)",
>> чем "string.len()" - "вызов метода len у объекта string с пустым списком аргументов".
>>
> про literal programming ничего не слышали?

при чем тут Literate Programming ?


"дизайн и эволюция языка Python"
Отправлено zeus , 20-Июн-08 11:48 
>>> "длинна строки" более естественно переводится в конструкции языка программирования как "len(string)",
>>> чем "string.len()" - "вызов метода len у объекта string с пустым списком аргументов".
>>>
>> про literal programming ничего не слышали?
>
>при чем тут Literate Programming ?

так. пойдем с другой стороны. С точки зрения ООП: str.len - получение атрибута объекта.


"дизайн и эволюция языка Python"
Отправлено csdoc , 20-Июн-08 11:54 
>>>> "длинна строки" более естественно переводится в конструкции языка программирования как "len(string)",
>>>> чем "string.len()" - "вызов метода len у объекта string с пустым списком аргументов".
>>>>
>>> про literal programming ничего не слышали?
>>
>>при чем тут Literate Programming ?
>
>так. пойдем с другой стороны. С точки зрения ООП: str.len - получение
>атрибута объекта.

"string.len()" - это вызов метода.


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено HardNik , 21-Июн-08 16:32 
Не трогайте Шигорина - "он хороший человек" , просто есть пунктик относительно питона.
Кстати, почему-то не указаны 2 новшества - идентификаторы на национальных языках и исчезновение reduce.
А вот, по поводу, почему питон не вытеснит жабу - потому, что очень сложен для изучения. Смешно для языка создоваемого именно для этого? Тем не менее, к сожалению, это именно так. Не замечали, что каждый продвинутый питонист начинает чем-то напоминать Гвидо? Вот и делайте выводы.  Именно по этому отступы всегда будут - как отмазка для тех кому не хватило тяму.

"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено belkin , 21-Июн-08 17:17 
>А вот, по поводу, почему питон не вытеснит жабу - потому, что
>очень сложен для изучения. Смешно для языка создоваемого именно для этого?
>Тем не менее, к сожалению, это именно так. Не замечали, что
>каждый продвинутый питонист начинает чем-то напоминать Гвидо? Вот и делайте выводы.
> Именно по этому отступы всегда будут - как отмазка для
>тех кому не хватило тяму.

Не замечали, что есть большие многофункциональные системы, изучать и пользоваться которыми однако легко? Это потому, что отдельные части их построены в соответствии одной концепции, выраженной через идеологию ("Дзен"). Так изучив идеологию, понимаешь концепцию и далее всё само собой всасывается. Вот человек об этом же говорит:

===================================================================================
>> История с Аs400 вообще интересна.
>> Я что-то знал об эльбрусах и местах их установки. Это была единственная
>> более-менее приличная машина не-фон-неймановской архитектуры в мире,

IK> А где про это можно почитать? Интересно стало...
Про что? Если as/400 - кто-то недавно где-то засвечивал неплохую книжку,
перевод которой выходил в совке. Я сам подробностей об этой машине почти
никаких не знаю.
Если s/360-370 - Джермейн и Радд, две книжки по асм, в первой - s/360, во
второй - s/370. В первой неплохо для начинающего читателя изложена и
архитектура железа. Hо не имея самого железа - очень сложно его понять. В тому
же, объём архитектуры железа там заметно больше, чем на ПК, так что при
понимании спасает только стройность и единостильность архитектуры, иначе
вообще голова кругом бы пошла. ...
===================================================================================

У Питона в Дзене заложены проблемы т.е. иеология не полностью соответствует концепции.

Вот концептуальные идеи:
------------------------
Красивое лучше уродливого.+
Явное лучше неявного.+
Простое лучше сложного.+
Частные случаи не настолько существенны, чтобы нарушать правила. <<<<!

А вот противоречие концепции:
-----------------------------
Однако практичность важнее чистоты. <<<<!

Которое закрепленно другими пунктами из совсем другого уровня детализации (ошибка иерархии модели):
-------------------------
Плоское лучше вложенного.
Разрежённое лучше плотного.
Удобочитаемость важна.


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено HardNik , 21-Июн-08 19:48 
Дзен обожают любители самого задзенного языка - пых-пыха. Наверное, потому, что им тяжко перейти со средневековой философии на язык современной математики.



"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено belkin , 21-Июн-08 21:26 
>Дзен обожают любители самого задзенного языка - пых-пыха. Наверное, потому, что им
>тяжко перейти со средневековой философии на язык современной математики.

Дзен всего лишь простая форма описания основных идей людьми, которые полностью не осознали иерархию структурного знания. Проблема в том, что в нём смешивают в одном списке и идеологию и методы, но это лучше, чем совсем ничего. Хотя да, рассказать о принципах языка через Дзен - это нехороший признак. Так как вам Питон?


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено HardNik , 22-Июн-08 06:58 
>Так как вам Питон?

А какой Питон?
В стиле хаскеля
def sent_desplit(x_in):    
    """ sent_split:: Sent::[([],[],[]),] ->  Text::([],[],[]) """
    concat=operator.concat    
    f1=lambda (a,b,c),(x,y,z):tuple([concat(a,x),concat(b,y),concat(c,z)])
    f2=lambda t:reduce(f1,t,([],[],[],))
    return f2(x_in)
C
def f2(x,(y,z)):
    global triger
    if not triger: triger |= True; x+=[[u'',u'',True],]; x[-1][2]=z
    x[-1][0]+= y; return x
Java
class ddict(dict):
    def get_formating(self,key):
        lst_val=self[key]
        lst_format=[u'',]
        for i in xrange(len(lst_val)):
            if i==1:
                lst_format=lst_format+[u'{']+[u'}']
                lst_val=lst_val+[u'']
            elif i>1:
                lst_format.insert(i,u',')
        d=map(lambda x,y:x+y,lst_format,lst_val)
        return string.join(d)
Можно и в Лисп-, Смолтолк-,С++, только где в стиле Питона?
Может, правда, в том, что примеры выдраны из одного файла, который сейчас просто открыт,не совсем поэтому правильные, но идеология просматривается.


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Аноним , 02-Сен-08 18:36 
>>Так как вам Питон?
>
>А какой Питон?

...
>Можно и в Лисп-, Смолтолк-,С++, только где в стиле Питона?
>Может, правда, в том, что примеры выдраны из одного файла, который сейчас
>просто открыт,не совсем поэтому правильные, но идеология просматривается.

Это и есть идеология Питона - нет навязывания стиля.
Что-то пишется объектно, что-то функционально, что-то классически императивно...
Жаль, хорошей поддержки декларативного стиля нет :)


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Серж , 19-Июн-08 23:35 
Нарушение обратной совместимости со скриптами, разработанными для более ранних версий Python - новая возможность Python 3.0. Жесть.

"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено belkin , 20-Июн-08 00:19 
>Нарушение обратной совместимости со скриптами, разработанными для более ранних версий Python -
>новая возможность Python 3.0. Жесть.

"Должен существовать один — и, желательно, только один — очевидный способ сделать это." Старые способы сделать это заменяются новыми. Ревизия и тестирование всегда будет необходимо в таких случаях.


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Аноним , 19-Июн-08 23:47 
уберут модули md5 и sha, а чем тогда хеши считать ???

"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Александр , 20-Июн-08 00:16 
>уберут модули md5 и sha, а чем тогда хеши считать ???

а на пальцах, слабо?


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Аноним , 20-Июн-08 00:43 
>уберут модули md5 и sha, а чем тогда хеши считать ???

Слабо доки посмотреть?
http://docs.python.org/dev/3.0/library/hashlib.html


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено kron , 20-Июн-08 00:50 
>уберут модули md5 и sha, а чем тогда хеши считать ???

hashlib-ом


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено t0ly , 20-Июн-08 01:25 
по поводу возмущений об обратной совместимости - а кто мешает не трогать интерпритатор там где это не надо?

"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Konstantin , 20-Июн-08 10:23 
>по поводу возмущений об обратной совместимости - а кто мешает не трогать
>интерпритатор там где это не надо?

Ага.  и я про тоже. Типа ездить на грузовике имея тока категорию С а потом сесть на мотоцикл и возмущаться почему у тя нету права ездить на мотике. Слабая аналогия правда ... но всетаки изменилась мажорная версия. Не надо помидорвами кидать мол питон фуфло обратной совместимости не может сделать. Ну не переходи на другую версию. Оставайся на 2.*
Все ж к лучшему делается...
Это тем кто возмущается отсутсивием обратной совместимости


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено tty01 , 20-Июн-08 11:21 
> Использование Unicode в качестве основной кодировки представления строк

А когда вышел Python 1.0? И сколько времени потребовалось на осознание того, что в мире есть не только английский язык, а символов больше чем в ASCII...


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Аноним , 20-Июн-08 11:46 
Я на версии 2.3 не имел проблем с юникодом. Более ранние Версии не пробовал.

"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Андрей , 20-Июн-08 12:40 
Действительно, когда вышел Python 1.0? Почти 20 лет назад. Многие тогда использовали Unicode? Способны ли были компьютеры того времени значительную часть своей производительности тратить на Unicode?

"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Konstantin , 20-Июн-08 12:41 
>> Использование Unicode в качестве основной кодировки представления строк
>
>А когда вышел Python 1.0? И сколько времени потребовалось на осознание того,
>что в мире есть не только английский язык, а символов больше
>чем в ASCII...

в коде не должно быть символов выше 127 .. если они появились в коде - вы делаете чтото не так. Тоже касается комментариев


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено belkin , 20-Июн-08 13:05 
>>> Использование Unicode в качестве основной кодировки представления строк
>>
>>А когда вышел Python 1.0? И сколько времени потребовалось на осознание того,
>>что в мире есть не только английский язык, а символов больше
>>чем в ASCII...
>
>в коде не должно быть символов выше 127 .. если они появились
>в коде - вы делаете чтото не так. Тоже касается комментариев

А строковые константы наружу выносить? А по моему наоборот нужно быстренько везде и всё на utf-8 перевести. Весь текст программы в unicode. Нет же проблемы транслировать старые тексты в Unicode? А так застряли все на полпути и отсюда лишняя работа для программиста.


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено Аноним , 02-Сен-08 18:39 
>> Использование Unicode в качестве основной кодировки представления строк
>
>А когда вышел Python 1.0? И сколько времени потребовалось на осознание того,
>что в мире есть не только английский язык, а символов больше
>чем в ASCII...

в 1.5.2 "нелатинские ASCII" фунциклировали нормально.
юникод появился тоже ещё до 2.0, AFAIR


"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено s79 , 23-Июн-08 03:36 
Лучше б они нормальную пробелонезависимость сделали

"Началось бета-тестирование Python 2.6 и Python 3.0"
Отправлено anonym , 23-Июн-08 04:39 
лучше б они мозгонезависимость сделали.
сразу бы проблем не стало.