Я изучаю Python, и у меня возник вопрос о будущем. Я знаю, что сейчас это не самая важная вещь, о которой нужно думать, но мне любопытно.
В настоящее время Django поддерживает только Python 2.7. Однако в ближайшем будущем он будет поддерживать Python 3. Что касается написания кода на Python 2.7 и использования соответствующей инфраструктуры Django, что произойдет, когда действительно произойдет переход на Python 3.
По-видимому, я бы выучил и запрограммировал новую версию. Однако как насчет сохранения старого кода? Остается как есть? Нужно ли его переписывать?
Мне просто любопытно, как работает этот переход. Кроме того, имеет ли значение, что Python 3 не имеет обратной совместимости? Каковы последствия этого? Например, я читал, что версии Ruby от 1.8 до 1.9 (и даже будущие 2.x) были обратно совместимы и в меньшей степени были скачком (чем Python 2.x в 3.x). Интересно, создает ли это разделение между версиями Python какие-либо проблемы фрагментации или проблемы с обслуживанием кода?
Так что, если бы кто-нибудь мог попытаться объяснить мне, что происходит с этими обновлениями, и какие проблемы возникают при работе с ними, я был бы очень признателен.Спасибо!