LINUX.ORG.RU

Mercurial developers: «You're much more likely to see a Py2.8 fork appear: that's a much easier project.»

 ,


0

3

http://mercurial.808500.n3.nabble.com/Mercurial-for-Python3-td2919707.html

> Just curious if any of the reasons have changed over the past eight

months - any chance of Python 3 support in 2012? For me, it would

eliminate the need to maintain Python 2.7 next to 3.2 on my servers.

Given it's a developer-year of effort and no such developer has shown
up, I'd have to say no. You're much more likely to see a Py2.8 fork
appear: that's a much easier project.

Они это серьезно?

★★★★★

Прочитал весь тред, и восхитился здравомыслием и рассудительностью Мэтта. Все правильно человек говорит.

Для Ъ, его аргументация:

  • надо еще минимум несколько лет поддерживать энтерпрайзные дистры с питоном-2.
  • поддержка питона 2 и 3 одновременно займет дохренища времени (год работы одного девелопера, по его подсчетам)
  • меркуриал - это не библиотека и не фреймворк, в нем нету API. Кому надо - может использовать os.system() или коммандный сервер.

В общем, приятно, что чуваки вместо нахрен не нужной поддержки двух питонов занимаются разработкой новых фич и багфиксингом.

provaton ★★★★★
()
Ответ на: комментарий от provaton

Он-то прав, а кому-то только ради меркуриала надо второй питон держать в системе. О таком варианте кто подумает?

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Что проще - держать два питона в системе, или писать код, поддерживающий две несовместимых реализации языка?

provaton ★★★★★
()
Ответ на: комментарий от provaton

Зафиксировать релиз для 2 и писать дальше для 3, выпуская только багфиксы к версии на 2-ом?

pylin ★★★★★
()
Ответ на: комментарий от provaton

А в чем проблема просто начать поддерживать только третий питон? Зачем старым дистрибутивам новая версия меркуриала?

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Если на продакшене стоит пре-альфа версия линукса (федора или убунта, али вообще арч) то это проблемы индейцев.

А на серьезных серверах где лежат серьезные сорцы, стоит серьезный бородатый питон версии 2.4 (сам недавно вляпался.)

Deleted
()
Ответ на: комментарий от vurdalak

Зачем старым дистрибутивам новая версия меркуриала?

Странный вопрос, если честно. Чтоб можно было использовать фичи, появившиеся в новых версиях меркуриала. Прости за капитанский ответ.

provaton ★★★★★
()
Последнее исправление: provaton (всего исправлений: 1)
Ответ на: комментарий от provaton

Не понимаю. Что это за дистрибутив такой, где питон старой версии, а меркуриал новой? Обычно либо все древнее (дебиан), либо все новое, либо по желанию (гента).

vurdalak ★★★★★
()

Кстати, забыл же главный аргумент привести - «Python3 doesn't have any features we care about»

provaton ★★★★★
()
Ответ на: комментарий от vurdalak

Блин, даже в арче второй питон ставится одной командой. А в RHEL пятилетней давности даже питон 2.7 хрен соберешь. Я сам пробовал, большой гемор. Хватит витать в облаках, снизойди до обычных сисадминских будней.

provaton ★★★★★
()
Ответ на: комментарий от provaton

Вот мы и дошли до этого момента. ССЗБ. А то компилятора у них видишь ли нету, а питоновские меркуриалы ставь сколько хошь.

quiet_readonly ★★★★
()
Ответ на: комментарий от provaton

Чтоб можно было использовать фичи, появившиеся в новых версиях меркуриала.

любители некродистров должны страдать. Я так понимаю ты предлагаешь превращять их с слаку? :). Если серьёзно то это очень узкая ниша, из-за неё тормозить прогресс глупо. Этот 1%, уверен, не бедствует и может себе позволить портирование.

на многих серверах нету компилятора и системных хедеров.

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

true_admin ★★★★★
()

Боян. И, судя по тому, что попытки переноса на Py3 происходят периодически, в конце концов перенесут.

tailgunner ★★★★★
()
Ответ на: комментарий от vurdalak

Он-то прав, а кому-то только ради меркуриала надо второй питон держать в системе. О таком варианте кто подумает?

Потратить 30Мб HDD на девелоперской системе или потратить тонну времени разработчиков. Выбор очевиден, думаю.

x3al ★★★★★
()
Ответ на: комментарий от provaton

дело не в том что второй питон сложно поставить. Дело в том что многие так на нём и застряли. В результате есть проблемы с либами на третьем питоне. А переходить есть зачем - очень много фишек облегчающих суровые программерские будни.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Я так понимаю ты предлагаешь превращять их с слаку? :).

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

provaton ★★★★★
()
Ответ на: комментарий от x3al

или потратить тонну времени разработчиков

рано или поздно им придётся это сделать. Только чем дальше в лес тем будет это сложнее. Кстати, в арче это 70метров. Фиг бы с ними, но, на самом деле, места это жрёт гораздо больше потому что из-за старого софта приходится держать две копии библиотек - для третьего питона и для второго.

Потом один раз портировать и лучше будет всем. Да и не уверен я что там прямо так много менять нужно. Хотелось бы видеть обоснование про один человеко-год.

true_admin ★★★★★
()
Ответ на: комментарий от x3al

Все равно же придется рано или поздно переходить на третий питон. Думаешь, позже времени разработчиков придется меньше потратить?

vurdalak ★★★★★
()
Ответ на: комментарий от provaton

Что проще - держать два питона в системе, или писать код, поддерживающий две несовместимых реализации языка?

отказаться от меркуриала.

AGUtilities ★★★
()
Ответ на: комментарий от true_admin

Можешь мне не рассказывать, я сам на нем крепко застрял. Надеюсь, что с выходом джанги 1.5 все пойдет веселее.

Фич там не так уж и много ИМХО. Основные недостатки питона, которые меня реально выбешивают, так и остались неисправленными. Поэтому, я потихоньку посматриваю на другие языки.

provaton ★★★★★
()
Ответ на: комментарий от vurdalak

Думаешь, позже времени разработчиков придется меньше потратить?

Много времени придется потратить для поддержки и питона 2, и питона 3 одновременно. Когда можно будет отказаться от второго питона, спокойно перейдут на третий с минимальными потерями времени.

provaton ★★★★★
()
Ответ на: комментарий от provaton

Замкнутый круг. Софт ждет, пока можно будет отказаться от второго питона, а желающие отказаться ждут, когда весь софт будет поддерживать третий.

vurdalak ★★★★★
()
Ответ на: комментарий от provaton

Я сейчас посмотрел вот сюда: http://mercurial.selenic.com/wiki/Py3kPort

Там самая главная «проблема» в том что в py3k таки сделали str и bytes разными классами которые друг в друга неявно не кастуются.

Так вот, оказывается, в mercurial 100500 мест где есть адская мешанина типов, один из главных антипаттернов. В общем, ссзб.

В остальном энтузиасты уже проделали приличное кол-во работы.

true_admin ★★★★★
()
Ответ на: комментарий от tailgunner

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

provaton ★★★★★
()
Ответ на: комментарий от AGUtilities

а для тех кто пользуется, можно найти конвертатор в git

А для тех, кто и правда пользуется, проще поставить Python 2.

tailgunner ★★★★★
()
Ответ на: комментарий от provaton

Это недостатки не питона, а динамических интепретируемых языков

Ты же понимаешь, что они и не могли быть исправлены в Python 3 %)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Понимаю, поэтому и не парюсь особо о том, что до сих пор на втором пишу.

provaton ★★★★★
()
Ответ на: комментарий от tailgunner

А для тех, кто и правда пользуется, проще поставить Python 2

это пока Python2 не совсем deprecated. но время никого не ждёт, совсем никого.

AGUtilities ★★★
()
Ответ на: комментарий от provaton

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

Опечатки линтеры ловят только в путь. Вот с типами уже сложнее. Хотя, надеюсь, новые IDE будут понимать аннотацию к функциям и ловить заранее.

true_admin ★★★★★
()
Ответ на: комментарий от buddhist

Юнит-тесты и рефакторинг спасут отцов русской демократии.

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

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от provaton

год работы одного девелопера, по его подсчетам

за один человекогод это недоразумение можно переписать с нуля, например, на си или плюсах

mashina ★★★★★
()
Ответ на: комментарий от mashina

за один человекогод это недоразумение можно переписать с нуля, например, на си или плюсах

Только силами одного трепача вроде тебя.

tailgunner ★★★★★
()
Ответ на: комментарий от true_admin

я это слышу только от тех людей кто на нём не программируют :).

Я как-то руби попробовал... По ощущениям - тоже самое, что питон, те же самые достоинства и недостатки. А ты говоришь python2 vs python3.

Может у меня просто за время работы сформировалась психология шабашника и ушла студенческая романтика и любовь к программированию.

provaton ★★★★★
()
Ответ на: комментарий от true_admin

Я самый простой пример привел. Ты ж понимаешь, что линтеры все не ловят, и зачастую выдают левые ворнинги. Вот ghc с -Wall - другое дело. Хотя, о статике у меня скорей всего идеализированные представления, так как практического опыта явно не хватает.

provaton ★★★★★
()
Ответ на: комментарий от provaton

руби попробовал... По ощущениям - тоже самое, что питон

ой, нет, не то же самое. Хотя бы потому что оно expression-oriented. Там так же можно вводить новые операторы. Там можно запускать комманды без всяких обёрток типа subprocess что очень хорошо для скриптов. Там есть так же public/private атрибуты классов (если я правильно понял), встроенная поддержка регекспов на уровне синтаксиса... Мне дальше перечислять? :)

И ещё 100500 вещей которых нет в питоне и вряд ли они будут. Я серьёзно задумываюсь над тем чтобы свалить на руби.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Мне дальше перечислять? :)

Да видел я все это. Но ИМХО это все мелкие удобства, в целом же экспириенс такой же. В питоне есть свои мелкие удобства. Тут все субъективно. Кому-то удобнее питон, кому-то руби. Но в принципе - оба языка - это динамическая типизация и отсутствие компиляции (в официальных реализациях).

В общем, серьезно задумываюсь чтоб свалить на хаскелл :)

provaton ★★★★★
()
Ответ на: комментарий от tailgunner

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

provaton ★★★★★
()
Ответ на: комментарий от provaton

Да, одна из вещей, которых не хватает - это хороший чекер.

tailgunner ★★★★★
()
Ответ на: комментарий от provaton

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

динамика, да. Сомневаюсь что в третьем это исправлено :D Но ведь можно использовать анализаторы кода.

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