LINUX.ORG.RU

Python 3000


0

0

Гвидо Ван Россум (Guido van Rossum), создатель популярного языка программирования Python, опубликовал в своем блоге интересный отчет о следующей версии python 3.0 (которая получит название Python 3000 и выйдет в середине 2008 года). Он рассказывает о новых фичах языка, добавившихся библиотеках, изменениях в синтаксисе.

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

Re: Python 3000

" non-ASCII letters can be used in identifiers" Вот это жесть:)

krum ()
Ответ на: Re: Python 3000 от krum

Re: Python 3000

v common lisp eto davno uzhe est s proshlogo veka.

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

А как в common lisp с unicode? В P3k все строки будут юникодные.

krum ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

Отлично! Коммон лизб просто рулит во все стороны! Но в этом треде разговор про python

boombick ★★★★★ ()
Ответ на: Re: Python 3000 от krum

Re: Python 3000

tak ya pro unicode i govuryu.

anonymous ()
Ответ на: Re: Python 3000 от krum

Re: Python 3000

Да что там жесть... На Форте сто лет пишут:

: начальная_точка  ( -- )  0 to точка ;

: показать_точки  ( -- )
    указатели unless
        new-list
        зона list# 0 ?do
            0 over list+
        loop
        to указатели
    then

    начальная_точка
    зона list# 0 ?do
        показать_точку
        10 sleep
        следующая_точка
    loop
;

: убрать_точку  ( -- )
    указатели точка list@
    false unspawn
    10 sleep
    следующая_точка
;

: убрать_точки  ( -- )
    указатели unless exit then
    
    начальная_точка
    
    зона list# 0 ?do
        убрать_точку
    loop
;
    
true value цикл?

: цикл  ( -- )
    цикл? unless exit then
    показать_точки
    цикл? if "admin: tools: territory: цикл" задержка do-timer drop then
;

: start  ( -- )
    true to цикл?
    цикл
;

: stop  ( -- )
    false to цикл?
    убрать_точки
;

:)

KRoN73 ★★★★★ ()
Ответ на: Re: Python 3000 от KRoN73

Re: Python 3000

Хм, а не напрягает постоянное переключение раскладки?

krum ()
Ответ на: Re: Python 3000 от krum

Re: Python 3000

Во-первых, нормальный программер не столько пишет, сколько думает :D

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

KRoN73 ★★★★★ ()
Ответ на: Re: Python 3000 от KRoN73

Re: Python 3000

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

С capslock согласен :)

mv ★★★★★ ()
Ответ на: Re: Python 3000 от krum

Re: Python 3000

Это точно :)) А по новости - это гуд.

pento ★★★★★ ()
Ответ на: Re: Python 3000 от pento

Re: Python 3000

Я где-то читал, что Py3K будет уже совершенно другим (по синтаксису и вообще языком..), это так? или это будет просто продолжением/улучшением Python 2.x?

dragon_djanic ★★ ()

Re: Python 3000

В ЛинуксФормате писали, что обатной совместимости не будет...

mono ★★★★★ ()
Ответ на: Re: Python 3000 от krum

Re: Python 3000

>" non-ASCII letters can be used in identifiers" Вот это жесть:)

Вроде бы Гвидо сопротивлялся этому до последнего, потому что это будет выглядеть убого. Но, видать, уломали )

adarovsky ★★★★ ()
Ответ на: Re: Python 3000 от krum

Re: Python 3000

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

anonymous ()
Ответ на: Re: Python 3000 от mv

Re: Python 3000

>Нормальный программер нормально знает аглицкий

К сожалению, в открытых проектах нередко выбирать не из кого :)

KRoN73 ★★★★★ ()
Ответ на: Re: Python 3000 от mono

Re: Python 3000

>В ЛинуксФормате писали, что обатной совместимости не будет...

зато на 2.6 можно отрепетировать переезд

adarovsky ★★★★ ()

Re: Python 3000

а не получится как с rite? где-то он нынче..

dmiceman ★★★★★ ()

Re: Python 3000

Теперь-то руби точно капец.

anonymous ()

Re: Python 3000

А в 3000-ном питоне уберут дебилизм, когда при объявлении метода нужно обязательно self в заголовке первым аргументом писать?

Cris ()
Ответ на: Re: Python 3000 от dragon_djanic

Re: Python 3000

>Я где-то читал, что Py3K будет уже совершенно другим (по синтаксису и вообще языком..), это так?

Почти. Совсем переделывать синтаксис смылса не имеет. Во многом Python3k будет очень сильно похож на прежний, но некоторые вещи будут сделаны так, что старый py-код перестанет работать.

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

(инфа по памяти из интервью Гвидо в LXF)

skwish ★★ ()
Ответ на: Re: Python 3000 от Cris

Re: Python 3000

> А в 3000-ном питоне уберут дебилизм, когда при объявлении метода нужно обязательно self в заголовке первым аргументом писать?

Угу, уже было почти хотели убрать, но мудрый Гвидо изрёк: "Да ну нафиг, сразу набегут красноглазые рубисты, и хана языку". Решили оставить как было.

ero-sennin ★★ ()
Ответ на: Re: Python 3000 от krum

Re: Python 3000

> " non-ASCII letters can be used in identifiers" Вот это жесть:) Всё. Я боюсь править китайский код. Там идентификаторы будут на китайском 8-)

anonymous ()
Ответ на: Re: Python 3000 от ero-sennin

Re: Python 3000

> Решили оставить как было.

Клиника. Ведь можно было бы явный BAD убрать. Хотя, учитывая как люди долго привыкали к костылю. И теперь придется ходить без него...

Он вообще какие-то фишки новые добавил? Или только сломал совместимость со сторой версией?

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

Cris ()
Ответ на: Re: Python 3000 от alt0v14

Re: Python 3000

достали они "якобы" развивать язык. Убогая внутреняя структура и библиотеки. Если бы не синтаксис python и наработки, давно бы уже пользовал ruby. Python - ...но полное!!! Не пользуйтесь им!!! Вот :)

anonymous ()
Ответ на: Re: Python 3000 от Cris

Re: Python 3000

> Клиника.

Это шутка была, смешная юмористическая шутка. Расслабься. :)

ero-sennin ★★ ()
Ответ на: Re: Python 3000 от Cris

Re: Python 3000

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

x = 1 10.times { |x| } x # => 9

А в питоне серьезные люди посовещались и решили self оставить. Это фича. Люди работают, а вы в бирюльки играетесь.

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> Убогая внутреняя структура и библиотеки.

Что такое "внутреняя структура", болезный?

А библиотеку в 3.0 переделывают.

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

>А в питоне серьезные люди посовещались и решили self оставить.

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

.attname = "init_value"

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

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

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> не решали его оставить ! А решили заменить на пустое имя переменной. Т.е. если хочешь обратиться к атрибуту attname, будет выглядеть: > .attname = "init_value"

неплохо вроде, мне нравится

Joe_Bishop ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> А в питоне серьезные люди посовещались и решили self оставить. Это фича.

Ты __внимательно__ прочитал о чем я писал? Наверное нет. Потому что когда при __объявлении__(а не внутри тела метода) первый аргумент должен быть обязательно self, то это BAD. То что внутри метода нужно self ставить нормальная вещь.

А BAD руби который ты описал имеет место быть, хотя в 1.9 его уже исправят.

> Люди работают, а вы в бирюльки играетесь.

Хорошо, когда на любимом языке можешь играться, а не работать :)

Cris ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> не решали его оставить ! А решили заменить на пустое имя переменной. Т.е. если хочешь обратиться к атрибуту attname, будет выглядеть:

.attname = "init_value"

Ссылочку бы на PEP или сообщение в мейл-листе?

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> не решали его оставить ! А решили заменить на пустое имя переменной.

Ээээ? Ссылку?

Гвидо достаточно ясно сказал: self will not become implicit. См. http://www.python.org/dev/peps/pep-3099/.

ero-sennin ★★ ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

>Что такое "внутреняя структура"<skip>

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

anonymous ()
Ответ на: Re: Python 3000 от Cris

Re: Python 3000

> Потому что когда при __объявлении__(а не внутри тела метода) первый аргумент должен быть обязательно self, то это BAD.

А почему? Explicit is better than implicit. Явно указваем, что у нас такая переменная передается, а не выскакивает как черт из табакерки. К тому же, это стирает разницу между методами и обычными функциями. По-моему это отлично.

anonymous ()
Ответ на: Re: Python 3000 от adarovsky

Re: Python 3000

>>" non-ASCII letters can be used in identifiers" Вот это жесть:)

>Вроде бы Гвидо сопротивлялся этому до последнего, потому что это будет выглядеть убого. Но, видать, уломали )

Ждем тонны быдло-пайтон-кода с азатскими иероглифами!

А через полгода пайтонфилы будут тут всех уверять, что это "жутко удобная фича!":)

Led ★★★☆☆ ()
Ответ на: Re: Python 3000 от Led

Re: Python 3000

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

ero-sennin ★★ ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

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

Когда ты пишешь тело метода и тебе нужно обратиться к атрибуту объекта, ты же не вспоминаешь судорожно: "Блин, а как же называется этот самый указатель на объект. А (хлопок по лбу) --- вот же оно (смотришь в шапку метода) --- self!. Ты просто пишешь self. И он всюду должен быть self(по договоренности).

Собственно, AFAIK, только в Питон и Луа такая заморочка. И то в Луа сахарок добавили, чтобы не передавать явно указатель на объект.

Cris ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

есть один неявный баг в том, что есть аргумент self. Допустим ты пишешь юзер левел словарь, который может получать аргументы в виде keywords хеша. Т.е.:

class NoNameDict: . def __init__(self, **kw): . self._d = kw

допустим потом вызываешь следующую фигню: nnd = NoNameDict(self=1, other=2, myown=3)

что в итоге должно получиться ? Я реально не могу предсказать

anonymous ()
Ответ на: Re: Python 3000 от Cris

Re: Python 3000

> Собственно, AFAIK, только в Питон и Луа такая заморочка.

Да никакая это не заморочка. TextMate знаешь? И в виме снипеты тоже есть. ;) И в емаксе. Это для тех, кого напрягает. Меня не напрягает. Так что, это не претензия к языку, а так - брюзжание.

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> class NoNameDict: . def __init__(self, **kw)

Есть такое дело, но можно назвать этот параметр не self, а self_, например. :) Хотя я не могу сказать, что это красивое решение.

ero-sennin ★★ ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> что в итоге должно получиться ? Я реально не могу предсказать

ЛОЛ. Ты наркоман штоле? Выдасть эксепшн что дважды передан аргумет селф. Что ты этим хотел сказать-то?

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> А почему? Explicit is better than implicit. Явно указваем, что у нас > такая переменная передается, а не выскакивает как черт из табакерки. К > тому же, это стирает разницу между методами и обычными функциями. > По-моему это отлично.

Да, отлично. Отлично, что Брьен Страуструп до этого же не додумался.

anonymous ()
Ответ на: Re: Python 3000 от ero-sennin

Re: Python 3000

> Есть такое дело, но можно назвать этот параметр не self, а self_, например. :) Хотя я не могу сказать, что это красивое решение.

Так в чем проблема? Еще нельзя сделать так: NoNameDict(for=10). И что теперь? Тут наоборт преимущество явного селфа, поскольку если нужен self, можно сделать так: def __init__(my_fucking_self314444343242, **kw) и self в качестве аргумента будет успешно приниматься ;)

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> Отлично, что Брьен Страуструп до этого же не додумался.

Брьен Страуструп много до чего не додумался. Он вообще слегка сумасшедший дяденька с лицом вырожденца.

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

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

> ЛОЛ. Ты наркоман штоле? Выдасть эксепшн что дважды передан аргумет селф. Что ты этим хотел сказать-то?

Тебе та какая разница ? Ищешь с кем бы ширнуться ? Не зря де ЛОЛ - уже видимо..

То что эксцепшен, спасибо что сказал. Я то этот код не фига не выполнял оказывается. Я про то (специально для танкистов), что self - становится в ряде случаев ключевым словом. При этом юзер классы имеют дополнительные ограничения, по сравнению с CPython классами (они такого ограничения не имеют).

anonymous ()

Re: Python 3000

Я вместо "self" пишу "s" ибо так гораздо короче получается когда идет код с большим кол-во манипулаций с членами класса.

class test: def test(s, args): ...

Не вижу никаких проблем в этом коде.

anonymous ()
Ответ на: Re: Python 3000 от anonymous

Re: Python 3000

Одним ключевым словом больше, одним меньше - это проблема чтоле? Что куришь?

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