myths about python 3

Eric_Dexter at msn.com Eric_Dexter at msn.com
Wed Jan 27 11:11:29 EST 2010


On Jan 27, 8:42 am, Lie Ryan <lie.1... at gmail.com> wrote:
> On 01/28/10 01:32, Jean-Michel Pichavant wrote:
>
>
>
> > Daniel Fetchinson wrote:
> >>>> Hi folks,
>
> >>>> I was going to write this post for a while because all sorts of myths
> >>>> periodically come up on this list about python 3. I don't think the
> >>>> posters mean to spread false information on purpose, they simply are
> >>>> not aware of the facts.
>
> >>>> My list is surely incomplete, please feel free to post your favorite
> >>>> misconception about python 3 that people periodically state, claim or
> >>>> ask about.
>
> >>>> 1. Print statement/function creates incompatibility between 2.x and
> >>>> 3.x!
>
> >>>> Certainly false or misleading, if one uses 2.6 and 3.x the
> >>>> incompatibility is not there. Print as a function works in 2.6:
>
> >>>> Python 2.6.2 (r262:71600, Aug 21 2009, 12:23:57)
> >>>> [GCC 4.4.1 20090818 (Red Hat 4.4.1-6)] on linux2
> >>>> Type "help", "copyright", "credits" or "license" for more information.
>
> >>>>>>> print( 'hello' )
>
> >>>> hello
>
> >>>>>>> print 'hello'
>
> >>>> hello
> >>>>       2. Integer division creates incompatibility between 2.x and 3.x!
>
> >>>> Again false or misleading, because one can get the 3.x behavior with
> >>>> 2.6:
>
> >>>> Python 2.6.2 (r262:71600, Aug 21 2009, 12:23:57)
> >>>> [GCC 4.4.1 20090818 (Red Hat 4.4.1-6)] on linux2
> >>>> Type "help", "copyright", "credits" or "license" for more information.
>
> >>>>>>> 6/5
>
> >>>> 1
>
> >>>>>>> from __future__ import division
> >>>>>>> 6/5
>
> >>>> 1.2
>
> >>>> Please feel free to post your favorite false or misleading claim about
> >>>> python 3!
>
> >>> Well, I see two false or misleading claims just above - namely that
> >>> the two claims above are false or misleading. They tell just half of
> >>> the story, and that half is indeed easy. A Python 3 program can be
> >>> unchanged (in the case of print) or with only trivial modifications
> >>> (in the case of integer division) be made to run on Python 2.6.
>
> >> Okay, so we agree that as long as print and integer division is
> >> concerned, a program can easily be written that runs on both 2.6 and
> >> 3.x.
>
> >> My statements are exactly this, so I don't understand why you disagree.
>
> >>> The other way around this is _not_ the case.
>
> >> What do you mean?
>
> >>> To say that two things are
> >>> compatible if one can be used for the other, but the other not for the
> >>> first, is false or misleading.
>
> >> I'm not sure what you mean here. Maybe I didn't make myself clear
> >> enough, but what I mean is this: as long as print and integer division
> >> is concerned, it is trivial to write code that runs on both 2.6 and
> >> 3.x. Hence if someone wants to highlight incompatibility (which surely
> >> exists) between 2.6 and 3.x he/she has to look elsewhere.
>
> >> Cheers,
> >> Daniel
>
> > How would you write in python 2.6
>
> > if print:
> >    print('Hello')
>
> > ---
>
> > def myPrint(*args):
> >    for arg in args:
> >        sys.stdout.write(str(arg))
>
> > print = myPrint
>
> > JM
>
> from __future__ import print_function
>
> if print:
>     print('Hello')
>
> def myPrint(*args):
>    for arg in args:
>        sys.stdout.write(str(arg))
>
> print = myPrint

I can't say that I am that keen on 2.6 all my favorite graphics
libraries are in 2.5.  If there was money
involved I would probably think y'all were doing it to stay employed
so I am thinking I should wait till 3.4
and 3.5 to get involved with this but much sooner than python 4.0.  I
did notice that I had trouble compiling
a library because some version of microsoft c is no longer
available...sort of forced migration.


______________________________________
http://dextracker.blogspot.com/




More information about the Python-list mailing list