The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Python 3.0: Готовьтесь к проблемам

01.02.2008 17:18

Python 3.0, выпуск которого ожидается в течение следующего года, будет содержать ряд фундаментальных изменений. Об этом объявил ответственный за выпуски новых версий Энтони Бакстер (Anthony Baxter) в своем кратком докладе на конференции linux.conf.au, проходящей в эти дни в Мельбурне.

«Изменения третьей версии делают нерабочими все написанные ранее программы на Python, но мы вносим эти изменения с доброй целью. Языку уже 16 лет. И за эти 16 лет некоторые его черты стали действительно раздражать. Почти каждая программа на Python потребует изменений, но на это будет достаточно времени, ведь 2.x никуда не исчезнет. Кроме того, планируется выпустить версию 2.6. Мы не ожидаем, что все кинутся переписывать код на следующий день после выхода Python 3.0, это было бы весьма неразумно. Мы будем продолжать поддерживать ветку 2.x до тех пор, пока будут находиться заинтересованные в этом», - заявил Бакстер.

Переход на версию 3.0 будет большим вызовом для таких компаний, как Google, в которой, кстати, Бакстер и работает в основное время. Около 15% кода поискового гиганта написано на Python.

Возрастающая сложность языка создает трудности для команды разработчиков Google при работе с несколькими языками. «Многие используют Python в качестве связующего «клея» и, в этом случае, более легкий язык — огромный плюс. Для этих людей простота намного важнее», - сказал Бакстер.

Одним из важнейших изменений в языке является замена оператора print, который широко используется для вывода, на функцию. «Текущий print имеет ужасный синтаксис для выполнения большинства вещей», - заявил Бакстер.

«Другим изменением, нарушающим совместимость, является переход на Юникод, как на основную кодировку. Получается настоящая неразбериха, когда кто-то смешивает Юникод и не-Юникод строки.», - сказал Бакстер.

В Python-сообществе уже давно обсуждается идея замены символа «не равно» с «<>» на «!=», но изменения не были одобрены по соображениям обратной совместимости. В контексте выхода версии 3.0 Бакстер заявил: «Какого черта, мы в любом случае теряем совместимость, так давайте исправим еще и это».

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

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

  1. Главная ссылка к новости (http://www.zdnet.com.au/news/s...)
  2. Официальный сайт Python
Автор новости: specialm
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/13982-python
Ключевые слова: python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, glyph (?), 17:46, 01/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Машина времени на Opennet.ru? Этой новости с полгода уже, и, кстати, не все так радикально.
    "Изменения третьей версии делают нерабочими все написанные ранее программы на Python" - простите, а вы Гвидо уже предупредили? А то похоже, что он не в курсе.
     
     
  • 2.5, Анонима (?), 18:21, 01/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    "3.0 is also known as the release where we break all your code but we're doing it for a good reason"

    Что не так?

     
  • 2.10, .3 (?), 18:41, 01/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    По крайней мере абсолютный импорт ломает даже xml.etree из стандартной библиотеки 2.5 (да и в trunk то же самое), а в 3.0 будет только он, если я правильно понял.

    Уже в 2.6 сломаются вещи, которые использовали __import__('/path/to/module').

    И таких примеров вагон и маленькая тележка.

     
  • 2.40, glyph (?), 11:09, 04/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    :)
    Филиал ЛОРа какой-то...
    Суть вот в чем: ГВР сообщал об обратной несовместимости уже достаточно давно. Писалось в этом в его (и еще некоторых) блогах на aritma.com, этот вопрос переодически поднимался в c.l.python.
    Странно, что для некоторых это все же новость: http://jessenoller.com/2008/02/01/i-hate-slashdot-python-3000-is-incompatible http://faassen.n--tree.net/blog/view/weblog/2008/02/01/0 и т.д.
    Кроем отмены обратной совместимости сообществом Python предложена стратегия перехода на ветку 3.0: во-первых, продолжится поддержка веток 2.х ( 2.5 точно), в-вторых, будет выпущена  финальная версия ветки 2.х под номером 2.6, в-третьих, разрабатывается комплект инструментов  (скрипты и т.п.) для переноса кода версии 2.5\2.6 на версию 3.0
    Так что не надо шуметь про "питонокапец", желательно разбираться в предмете чуть более детально. А желающим пофилософствовать на тему "обратная совместимость - хорошо или плохо?" - милости прошу на кухню (со своей чашкой).
     

  • 1.3, terminus (?), 18:02, 01/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    еще бы фигурные скобки {} наконец ввели вместо !@#$@#$ TAB'ов !
     
     
  • 2.6, Userr (?), 18:22, 01/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    use ruby ;)
     
     
  • 3.21, HardNik (?), 00:49, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >use ruby ;)

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

     
  • 2.8, .3 (?), 18:32, 01/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Не табов, а пробелов! В PEP8 для отступов рекомендуется использовать четыре пробела.
     
     
  • 3.9, Andrey Mitrofanov (?), 18:38, 01/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Не табов, а пробелов! В PEP8 для отступов рекомендуется использовать четыре пробела.

    А почему не 4 таба?! %*)))

    ---победа! сил добра над лэнгуэдж дизигном, журнализьма над массовой информацией, анонимов над предметом разговора!

     
     
  • 4.12, .3 (?), 18:44, 01/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что 4 пробема. Но если кому--то лично вам нравится отступ в 4 таба --- используйте 4 таба.

    А вообще, ИМХО, двумерный синтаксис питона --- один из его главных плюсов.

     
  • 2.13, ximaera (?), 19:35, 01/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    А dict тогда как определять?
     
  • 2.19, Бурзум (?), 00:23, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Вот за {} в языках надо убивать - долой код в виде содержимого прямой кишки. Отступы и begin-end хорошо - на выбор, кому как нравится.
     
  • 2.32, StenogriZ (?), 19:23, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >еще бы фигурные скобки {} наконец ввели вместо !@#$@#$ TAB'ов !

    Tab'ы в коде как раз очень нужная вещь. Они делают код читабельным. Нечитабельный код просто не будет работать... Потом самому же легче сопровождать такой код....

     

  • 1.4, акроним (?), 18:09, 01/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    дооооооооо даешь бегины и энды =)
     
  • 1.7, .3 (?), 18:31, 01/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > идея замены символа «не равно» с «<>» на «!=»,

    Все таки, "!=" работает с появления python'а. Так что не замены, а просто удаления "<>"

     
  • 1.11, GGG (?), 18:41, 01/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну неплохо. Хоть питон не особо уважаю, но движение в правильном направлении
     
  • 1.14, netc (?), 20:31, 01/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А я был бы очень за схожесть с c# уж боль больно он хорош
    ИМХО может быть это из-за .net framework'a

    не думаю в питоне наверное этого "гавна" хватает

    тогда все дело в юзабилити, простых названиях, простом языке, похожем на С конечно(иначе проф-лы не признают :) :) ;) )

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

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

     
     
  • 2.17, Аноним (17), 22:27, 01/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Ты кулЦхакерЪ да? Сразу заметнаааа ,) шел бы ты на лор ....
     
     
  • 3.18, netc (?), 00:05, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Ты кулЦхакерЪ да? Сразу заметнаааа ,) шел бы ты на лор ....
    >

    Не согласен ?
    Это мое мнение и нефиг тут посылать

    Да я еще не стал таким профанатом как... может ни когда и не стану...

    хаха не в этом смысл, на мой взгляд

    ну и что же меня по твоему выдает?

     
     
  • 4.20, Аноним (17), 00:47, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Ты рот открываешь, звуки какие то слышны - но не говоришь ничего ;)

    PS: Не наезд.

     
  • 2.22, netc (?), 00:55, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    извиняюсь не знал что питон = скриптовый язык ( т.к. сказать не верилось)
    да мало я его "изучению" посвятил времени, а может и знал просто забыл вот ...

    поэтому согласен сравнивать его с С# нет смысла

    и вообще я так высказался: неправильно наверное!

    просто я хотел сказать, что нравиться мне как устроен c# и framework
    все вместе дает большие возможности
    ну разьве я не прав ?

    Просто я еще не нашел такого мощного и одновременно удобного средства для разработки

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

    ладно это это уже флейм
    извините за флейм

     
     
  • 3.24, pawnhearts (ok), 05:02, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > ладно это это уже флейм
    > извините за флейм

    мдаа. мощный пост, но даже не смешно. ты клеем чтоли дышишь?

    на тему питона 300 для тех кто тоже что-то не то курит:
    http://faassen.n--tree.net/blog/view/weblog/2008/02/01/0

    питон 300 на то и питон 300 чтобы быть невместимым с питоном 2.5
    так и было задумано

     
  • 2.25, pawnhearts (ok), 06:39, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > ИМХО может быть это из-за .net framework'a

    кстати, питон замечательно работает в .net - называется ironpython
    и есть питон для jvm - называется jython
    хеххе

    что касается c#, то он намного ближе к java чем к си)) от си там только буковка) которая включает в твоей голове лампочку про "проф-лы"

     
     
  • 3.39, nordicdyno (?), 10:55, 04/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >> ИМХО может быть это из-за .net framework'a
    >
    >кстати, питон замечательно работает в .net - называется ironpython
    >и есть питон для jvm - называется jython
    >хеххе

    А разве jython не сдох? :(

     

  • 1.26, deepwalker (ok), 06:56, 02/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    .net? А чем библиотека питона хуже? Чушь короче какая то. Если к python взять еще и pyqt, то ничуть не слабее .net'а. Ну или pygtk, кому что нравится.

    И вообще, что вы обсуждаете, если ни фига питона то не знаете? : )
    Услышали где то про табы и вперед. Посмотрели c#, и пришли к выводу, что миссия таки вернулся и налабал божественную библиотеку?

    Мне один программист на этом c# рассказывал про новые фичи какой то там версии - половина с явы, вторая с питона сперты : ) Это я не к тому, что c# от этого плох, напротив, знают где искать рульные вещи : )

    Вообще языки у которых есть сильное сообщество, примерно равны по возможностям. И c# и python это уже ближе к 4G, а потому, если абстрагироваться от фигурных скобок и предпочтений в названии функций, примерно равны.

    Сумбурное изложение конечно, но думаю на этом holly вечеринку можно заканчивать.

     
     
  • 2.27, pawnhearts (ok), 10:48, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >.net? А чем библиотека питона хуже?

    ээ.. она не лучше и не хуже они вообще в разных плоскостях.
    и её никто не отменял.
    просто можно а) получать доступ напрямую ко всяким .net и java объектам б) программы на jython/ironpython компилируются в родной байт-код jvm/msil соответственно.
    в) можно использовать, треды(в cpython с ними нас ждет дедушка gil:) (другое дело-что в большинстве случаев их использовать не нужно:)
    г) jython может работать везде где работает ява(и ресурсов хватает:) ironpython работает под .нет и скоро обещают подружить их с mono
    э) энтерпрайз всякий это любит)) buzzword'ов там ещё много)

    > Чушь короче какая то. Если к python взять еще и pyqt, то ничуть не слабее .net'а. Ну
    >или pygtk, кому что нравится.

    или взять ctypes и вообще любую сишную библиотеку завернуть))) тока это вообще тут не причем)

    >И вообще, что вы обсуждаете, если ни фига питона то не знаете? : )

    я то знаю) и даже на до-диезе этом доводилось писать когда-то)

    >выводу, что миссия таки вернулся и налабал божественную библиотеку?

    дело не в библиотеке, речь о платформе т.е. виртуальная машина + библиотеки + прочее проприетарное легаси говнишко.
    мне вот оно особо не нужно, я просто хотел отметить что питонификация уже и туда пролезла)

    >Мне один программист на этом c# рассказывал про новые фичи

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

    >Вообще языки у которых есть сильное сообщество, примерно равны по возможностям.

    Программисты, отличаются от "программистов на c#" тем, что понимают что все(полные по Тьюрингу) абсолютно равны по возможностям) Они могут различаться производительностью, удобством кодирования и т.п.
    А слово "примерно" программисты вообще не понимают:))

     

  • 1.28, Бизон (?), 12:09, 02/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Начал изучать питон. Отсюда вопрос для питона есть что то типа CPAN? Какая есть либа для написания FTP сервера(желательно мультиплексного).
     
     
  • 2.30, pawnhearts (ok), 12:55, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Начал изучать питон. Отсюда вопрос для питона есть что то типа CPAN?

    http://pypi.python.org/pypi

    на python.org есть ссылка в меню:) ещё есть гугл:)

    >Какая есть либа для написания FTP сервера(желательно мультиплексного).

    Вообще в стандартной библиотеке есть модуль SocketServer и в нем классы ForkingTCPServer и ThreadingTCPServer(по вкусу).
    От них можно наследоваться переопределив необходимое поведение.
    Короче фтп сервер пишется за чашку кофе. Примеров статей и т.д. в инете просто немерянно.

    http://www.doughellmann.com/projects/PyMOTW/ - вот тут например описание некоторых интересных модулей из стандартной поставки

    http://pypi.python.org/pypi/pyftpdlib/0.3.0
    Python FTP server library, based on asyncore framework, provides an high-level portable interface to easily write asynchronous FTP servers with Python.

    Ещё такое что-то попалось http://citkit.ru/package/pyftpd/

     

  • 1.29, deepwalker (ok), 12:43, 02/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Юзайте twisted для написания серверов. Каких вам угодно будет. А так - существует мнение, что сервера круче получаются на erlang : ))
    Аналог CPAN есть, сходите на python.org уже.
     
     
  • 2.31, HardNik (?), 18:23, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    не пугайте молодЕжЪ и пОдрОстков. А то как узнают что для нормального питон-программиста, кроме С, нужно ознакомится как минимум с Компонентным Паскалем, Хакелем и Тиклем - плохо станет.


     
     
  • 3.33, Бизон (?), 20:55, 02/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    не говорите чепухи
     
  • 3.36, Аноним (17), 20:33, 03/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Клей? Или авиационный кероин? Но по любому - колюасит тебя знатно! :)
     

  • 1.34, geekkoo (??), 06:15, 03/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что за вредная привычка - ломать обратную совместимость? То недавно в tcl 8.5 обратную совместимость сломали, теперь вот в питоне. Скоро ни одной работающей скриптовой программы не останется.
     
  • 1.37, wDevil (??), 22:09, 03/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот что интересно, в оседней ветке пых с грязью мешают, мол "обратная совместимость, недоязык... как так язык и обратную совместимость ломают". Однако тут тоже ломают обратную совместимость и почему-то никто с грязью не мешает?)
     
     
  • 2.38, pawnhearts (ok), 23:20, 03/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Вот что интересно, в оседней ветке пых с грязью мешают, мол "обратная
    >совместимость, недоязык... как так язык и обратную совместимость ломают". Однако тут
    >тоже ломают обратную совместимость и почему-то никто с грязью не мешает?)

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

     
     
  • 3.41, pachanga (?), 00:14, 05/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    "тут готовят яичницу со спамом с беконом; корицей и дзеном." -- ну-ну, какой же все же лицемерный народ...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру