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
Новость: https://www.opennet.ru/opennews/art.shtml?num=13982