Python 3.0, выпуск которого ожидается в течении следующего года, будет содержать ряд фундаментальных изменений. Об этом <a href=http://www.zdnet.com.au/news/software/soa/Getting-ready-for-...,130061733,339285578,00.htm?feed=rss">объявил</a> ответственный за выпуски новых версий Энтони Бакстер (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 в качестве связующего «клея» и, в этом случае, более легкий язык — огромный плюс. Для этих людей простота намного важнее», - сказал Бакстер.
Одним из важнейших изменений в языке является замена <em>оператора</em> print, который широко используется для вывода, на <em>функцию</em>. «Текущий print имеет ужасный синтаксис для выполнения большинства вещей», - заявил Бакстер.
«Другим изменением, нарушающим совместимость, является переход на Юникод, как на основную кодировку. Получается настоящая неразбериха, когда кто-то смешивает Юникод и не-Юникод строки.», - сказал Бакстер.
В Python-сообществе уже давно обсуждается идея замены символа «не равно» с «<>» на «!=», но изменения не были одобрены по соображениям обратной совместимости. В контексте выхода версии 3.0 Бакстер заявил: «Какого черта, мы в любом случае теряем совместимость, так давайте исправим еще и это».
«Обратная совместимость это хорошо, но все имеет свою цену. Мы должны чем-то пожертвовать, когда принимаем решение избавиться от старого мусора, который вредит», - сказал Бакстер.
Для минимизации этих проблем в версии 2.6 появятся предупреждения для разработчиков о тех конструкциях языка, которые могут вызвать проблемы при переходе на версию 3.0.
URL: http://www.zdnet.com.au/news/software/soa/Getting-ready-for-...,130061733,339285578,00.htm?feed=rss
Новость: http://www.opennet.me/opennews/art.shtml?num=13982
Машина времени на Opennet.ru? Этой новости с полгода уже, и, кстати, не все так радикально.
"Изменения третьей версии делают нерабочими все написанные ранее программы на Python" - простите, а вы Гвидо уже предупредили? А то похоже, что он не в курсе.
"3.0 is also known as the release where we break all your code but we're doing it for a good reason"Что не так?
По крайней мере абсолютный импорт ломает даже xml.etree из стандартной библиотеки 2.5 (да и в trunk то же самое), а в 3.0 будет только он, если я правильно понял.Уже в 2.6 сломаются вещи, которые использовали __import__('/path/to/module').
И таких примеров вагон и маленькая тележка.
:)
Филиал ЛОРа какой-то...
Суть вот в чем: ГВР сообщал об обратной несовместимости уже достаточно давно. Писалось в этом в его (и еще некоторых) блогах на aritma.com, этот вопрос переодически поднимался в c.l.python.
Странно, что для некоторых это все же новость: http://jessenoller.com/2008/02/01/i-hate-slashdot-python-300.../, 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
Так что не надо шуметь про "питонокапец", желательно разбираться в предмете чуть более детально. А желающим пофилософствовать на тему "обратная совместимость - хорошо или плохо?" - милости прошу на кухню (со своей чашкой).
еще бы фигурные скобки {} наконец ввели вместо !@#$@#$ TAB'ов !
use ruby ;)
>use ruby ;)невозможно. Питон - это склад ума и стиль жизни. К сожалению, даже пишущие несколько лет на Питоне не всегда это понимают, не чувствуют языка. И отцепитесь от табов - в конце-концов это даже не десятая по значимости особенность языка, ну вставьте препроцессор и лепите любой синтаксис
Не табов, а пробелов! В PEP8 для отступов рекомендуется использовать четыре пробела.
>Не табов, а пробелов! В PEP8 для отступов рекомендуется использовать четыре пробела.А почему не 4 таба?! %*)))
---победа! сил добра над лэнгуэдж дизигном, журнализьма над массовой информацией, анонимов над предметом разговора!
Потому что 4 пробема. Но если кому--то лично вам нравится отступ в 4 таба --- используйте 4 таба.А вообще, ИМХО, двумерный синтаксис питона --- один из его главных плюсов.
А dict тогда как определять?
Вот за {} в языках надо убивать - долой код в виде содержимого прямой кишки. Отступы и begin-end хорошо - на выбор, кому как нравится.
>еще бы фигурные скобки {} наконец ввели вместо !@#$@#$ TAB'ов !Tab'ы в коде как раз очень нужная вещь. Они делают код читабельным. Нечитабельный код просто не будет работать... Потом самому же легче сопровождать такой код....
дооооооооо даешь бегины и энды =)
> идея замены символа «не равно» с «<>» на «!=»,Все таки, "!=" работает с появления python'а. Так что не замены, а просто удаления "<>"
Ну неплохо. Хоть питон не особо уважаю, но движение в правильном направлении
А я был бы очень за схожесть с c# уж боль больно он хорош
ИМХО может быть это из-за .net framework'aне думаю в питоне наверное этого "гавна" хватает
тогда все дело в юзабилити, простых названиях, простом языке, похожем на С конечно(иначе проф-лы не признают :) :) ;) )
Вот думал попробывать питон и плевать я хотел на производительность
(ну мол некоторые говорят)И вообще считаю, что хватит уже с нас c++ и геммороя, пора давать людям добро!
вот посмотрите как программеры отзываються об майкрософт -- очень хорошо, и одна из главных причин - все в одном пусть и стоит денег им то насрать их одной зарплаты хватит, чтобы все что надо себе приобрести для работы и потом не отрываю попы заниматься своим любымым делом и получать за это деньги
Ты кулЦхакерЪ да? Сразу заметнаааа ,) шел бы ты на лор ....
>Ты кулЦхакерЪ да? Сразу заметнаааа ,) шел бы ты на лор ....
>Не согласен ?
Это мое мнение и нефиг тут посылатьДа я еще не стал таким профанатом как... может ни когда и не стану...
хаха не в этом смысл, на мой взгляд
ну и что же меня по твоему выдает?
Ты рот открываешь, звуки какие то слышны - но не говоришь ничего ;)PS: Не наезд.
извиняюсь не знал что питон = скриптовый язык ( т.к. сказать не верилось)
да мало я его "изучению" посвятил времени, а может и знал просто забыл вот ...поэтому согласен сравнивать его с С# нет смысла
и вообще я так высказался: неправильно наверное!
просто я хотел сказать, что нравиться мне как устроен c# и framework
все вместе дает большие возможности
ну разьве я не прав ?Просто я еще не нашел такого мощного и одновременно удобного средства для разработки
которое я как ни странно использовал в институте, сдавая экзамены, вот сейчас на работе понадобилось и все лдостаточно просто и локанично получаеться
ладно это это уже флейм
извините за флейм
> ладно это это уже флейм
> извините за флейммдаа. мощный пост, но даже не смешно. ты клеем чтоли дышишь?
на тему питона 300 для тех кто тоже что-то не то курит:
http://faassen.n--tree.net/blog/view/weblog/2008/02/01/0питон 300 на то и питон 300 чтобы быть невместимым с питоном 2.5
так и было задумано
> ИМХО может быть это из-за .net framework'aкстати, питон замечательно работает в .net - называется ironpython
и есть питон для jvm - называется jython
хеххечто касается c#, то он намного ближе к java чем к си)) от си там только буковка) которая включает в твоей голове лампочку про "проф-лы"
>> ИМХО может быть это из-за .net framework'a
>
>кстати, питон замечательно работает в .net - называется ironpython
>и есть питон для jvm - называется jython
>хеххеА разве jython не сдох? :(
.net? А чем библиотека питона хуже? Чушь короче какая то. Если к python взять еще и pyqt, то ничуть не слабее .net'а. Ну или pygtk, кому что нравится.И вообще, что вы обсуждаете, если ни фига питона то не знаете? : )
Услышали где то про табы и вперед. Посмотрели c#, и пришли к выводу, что миссия таки вернулся и налабал божественную библиотеку?Мне один программист на этом c# рассказывал про новые фичи какой то там версии - половина с явы, вторая с питона сперты : ) Это я не к тому, что c# от этого плох, напротив, знают где искать рульные вещи : )
Вообще языки у которых есть сильное сообщество, примерно равны по возможностям. И c# и python это уже ближе к 4G, а потому, если абстрагироваться от фигурных скобок и предпочтений в названии функций, примерно равны.
Сумбурное изложение конечно, но думаю на этом holly вечеринку можно заканчивать.
>.net? А чем библиотека питона хуже?ээ.. она не лучше и не хуже они вообще в разных плоскостях.
и её никто не отменял.
просто можно а) получать доступ напрямую ко всяким .net и java объектам б) программы на jython/ironpython компилируются в родной байт-код jvm/msil соответственно.
в) можно использовать, треды(в cpython с ними нас ждет дедушка gil:) (другое дело-что в большинстве случаев их использовать не нужно:)
г) jython может работать везде где работает ява(и ресурсов хватает:) ironpython работает под .нет и скоро обещают подружить их с mono
э) энтерпрайз всякий это любит)) buzzword`ов там ещё много)> Чушь короче какая то. Если к python взять еще и pyqt, то ничуть не слабее .net'а. Ну
>или pygtk, кому что нравится.или взять ctypes и вообще любую сишную библиотеку завернуть))) тока это вообще тут не причем)
>И вообще, что вы обсуждаете, если ни фига питона то не знаете? : )
я то знаю) и даже на до-диезе этом доводилось писать когда-то)
>выводу, что миссия таки вернулся и налабал божественную библиотеку?
дело не в библиотеке, речь о платформе т.е. виртуальная машина + библиотеки + прочее проприетарное легаси говнишко.
мне вот оно особо не нужно, я просто хотел отметить что питонификация уже и туда пролезла)>Мне один программист на этом c# рассказывал про новые фичи
Новые старые фичи:) Поскольку всяческие айти руководители нередко думают что внутри компьютера бегают зеленые человечки, чтобы торговля шла успешно постоянно нужны "инновации". (зачастую, все эти новые фичи были описаны ещё до появления ЭВМ:)
>Вообще языки у которых есть сильное сообщество, примерно равны по возможностям.
Программисты, отличаются от "программистов на c#" тем, что понимают что все(полные по Тьюрингу) абсолютно равны по возможностям) Они могут различаться производительностью, удобством кодирования и т.п.
А слово "примерно" программисты вообще не понимают:))
Начал изучать питон. Отсюда вопрос для питона есть что то типа CPAN? Какая есть либа для написания FTP сервера(желательно мультиплексного).
>Начал изучать питон. Отсюда вопрос для питона есть что то типа CPAN?на 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/
Юзайте twisted для написания серверов. Каких вам угодно будет. А так - существует мнение, что сервера круче получаются на erlang : ))
Аналог CPAN есть, сходите на python.org уже.
не пугайте молодЕжЪ и пОдрОстков. А то как узнают что для нормального питон-программиста, кроме С, нужно ознакомится как минимум с Компонентным Паскалем, Хакелем и Тиклем - плохо станет.
не говорите чепухи
Клей? Или авиационный кероин? Но по любому - колюасит тебя знатно! :)
Что за вредная привычка - ломать обратную совместимость? То недавно в tcl 8.5 обратную совместимость сломали, теперь вот в питоне. Скоро ни одной работающей скриптовой программы не останется.
Вот что интересно, в оседней ветке пых с грязью мешают, мол "обратная совместимость, недоязык... как так язык и обратную совместимость ломают". Однако тут тоже ломают обратную совместимость и почему-то никто с грязью не мешает?)
>Вот что интересно, в оседней ветке пых с грязью мешают, мол "обратная
>совместимость, недоязык... как так язык и обратную совместимость ломают". Однако тут
>тоже ломают обратную совместимость и почему-то никто с грязью не мешает?)Хотелось бы заметить что тут не соседняя ветка, тут готовят яичницу со спамом с беконом; корицей и дзеном.
Если вы хотите продолжать мешать грязь - вы можете это сделать в той же ветке, вместе другими веселыми айти гастерабайтерам.
"тут готовят яичницу со спамом с беконом; корицей и дзеном." -- ну-ну, какой же все же лицемерный народ...