Я нахожусь в процессе изучения 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 создает какие-либо проблемы фрагментации или проблемы обслуживания кода?
Так что, если бы кто-нибудь попытался объяснить мне, что происходит с этими обновлениями и какие проблемы возникают при их работе, я был бы очень признателен. Спасибо!