On 03/02/2008, Kent Johnson <[EMAIL PROTECTED]> wrote: > Dotan Cohen wrote: > > The little programming that I need I have been able to get away with > > silly php and bash scripts. However, my needs are getting bigger and I > > see Python as an ideal language for my console apps, and the > > occasional GUI that I might write for the wife. However, with the > > coming of Python3 and the new syntax, is this a bad time to start > > learning Python? I don't want to learn 2.x if 3.x will replace it, and > > not be compatible, in one year. I know that I can continue using 2.x, > > but maybe I should wait until 3.x is released to start learning? What > > does the community think? > > > Don't wait. Python 2.5 is very useful today. Python 2.x will be viable > for years. Python 2.6 is not even scheduled for release until this > summer and it will be maintained long after that. PEP 3000 says, > > "I expect that there will be parallel Python 2.x and 3.x releases for > some time; the Python 2.x releases will continue for a longer time than > the traditional 2.x.y bugfix releases. Typically, we stop releasing > bugfix versions for 2.x once version 2.(x+1) has been released. But I > expect there to be at least one or two new 2.x releases even after 3.0 > (final) has been released, probably well into 3.1 or 3.2. This will to > some extent depend on community demand for continued 2.x support, > acceptance and stability of 3.0, and volunteer stamina." > > > http://www.python.org/dev/peps/pep-3000/ > > > > > That asked, I've heard that 2.6 can be configured to warn when using > > code that will not run in 3.x. Is this correct? How is this done? I'd > > like to do it on a per-file basis, so that I will only need to run one > > version of python on this machine. I want my own apps to throw errors, > > but not other python apps on this system. Is there some error-level > > code that I can run? > > > There is a command-line switch in 2.6, -3, which will enables warnings > about features that will be removed in Python 3.0, and some features of > Python 3.0 are being back-ported to Python 2.6: > http://docs.python.org/dev/whatsnew/2.6.html#python-3-0 > > There is also a tool being developed (2to3) to convert Python 2.x code > to 3.0 semi-automatically: > http://svn.python.org/view/sandbox/trunk/2to3/README?rev=57919&view=markup > > However, the goal of these efforts, IIUC, is *not* to allow a single > script to run in both 2.6 and 3.0, it is to enable easy porting from 2.6 > to 3.0. In particular, my understanding is that the -3 warnings will > warn of constructs that cannot be correctly converted by 2to3. More > details here: > http://www.python.org/dev/peps/pep-3000/#compatibility-and-transition > > So I would say the outlook for 2.6 is better than you think but the > outlook for compatibility is worse. > > > Kent >
Thanks. My concern is not that the code won't run on Python3, rather, that the effort that I put into learning 2.x will be wasted when 3.x will be current. Now I'm a bit more confident, however. I'll get to work learning right away. Thanks. Dotan Cohen http://what-is-what.com http://gibberish.co.il א-ב-ג-ד-ה-ו-ז-ח-ט-י-ך-כ-ל-ם-מ-ן-נ-ס-ע-ף-פ-ץ-צ-ק-ר-ש-ת A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor