Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Ben Finney Newsgroups: comp.lang.python Subject: Re: Python 2 vs Python 3 for teaching Date: Mon, 02 Nov 2015 09:48:42 +1100 Lines: 27 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de Jmc6WBo/SPxZG0r/GCAMwwzOJUtj4uqDElliu+sRVqdQ== Cancel-Lock: sha1:3qAH0kI9xgkPHa6d1VnpwLpO8T4= Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.086 X-Spam-Evidence: '*H*': 0.84; '*S*': 0.01; 'subject:Python': 0.05; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'python': 0.10; 'received:80.91.229.3': 0.16; 'received:io': 0.16; 'received:plane.gmane.org': 0.16; 'received:psf.io': 0.16; 'reflects': 0.16; 'targeting': 0.16; '2.x': 0.22; '3.x': 0.22; 'platform,': 0.22; 'needed.': 0.23; 'header:User-Agent:1': 0.26; 'header:X-Complaints-To:1': 0.26; 'directly,': 0.29; 'exists,': 0.29; 'code': 0.30; 'primary': 0.31; 'legacy': 0.33; '2009': 0.34; 'advice': 0.35; 'but': 0.36; 'instead': 0.36; 'to:addr:python- list': 0.36; 'subject:: ': 0.37; 'received:org': 0.37; 'progress': 0.38; 'to:addr:python.org': 0.40; 'some': 0.40; 'further': 0.62; 'great': 0.63; 'our': 0.64; 'today': 0.65; 'reserve': 0.67; 'teach': 0.70; 'carefully': 0.72; '_o__)': 0.84; 'fear.': 0.84; 'mistaken': 0.84; 'received:125': 0.84; 'theories': 0.84; '\xe2\x80\x9cwe': 0.84; 'migrating': 0.91; '8bit%:18': 0.93 X-Injected-Via-Gmane: http://gmane.org/ X-Gmane-NNTP-Posting-Host: jigong.madmonks.org X-Public-Key-ID: 0xAC128405 X-Public-Key-Fingerprint: 517C F14B B2F3 98B0 CB35 4855 B8B2 4C06 AC12 8405 X-Public-Key-URL: http://www.benfinney.id.au/contact/bfinney-pubkey.asc X-Post-From: Ben Finney User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com comp.lang.python:98071 writes: > This would make an excellent opportunity to develop a curriculum to > teach students how to maintain a 2.x and 3.x code base using 2to3. The advice today reflects the great progress that has been made over many years of migrating projects and organisations to Python 3. Instead of ‘2to3’, the best advice today is: write new code targeting Python 3 directly, and only if necessary back-port to Python 2. > 2.x is not going away as fast as some would like. Likewise, Python 3 as a primary development target is not as difficult as some would fear. Python 2 is unarguably a legacy platform, but it has good support for receiving code carefully targeting both Python 2 and Python 3. So it's best to target Python 3 primarily, and back-port code to Python 2 only as and when needed. -- \ “We jealously reserve the right to be mistaken in our view of | `\ what exists, given that theories often change under pressure | _o__) from further investigation.” —Thomas W. Clark, 2009 | Ben Finney