Re: [Tutor] Should a beginner learn Python 3.x

2009-11-15 Thread wesley chun
 i get asked this question a lot, esp. when it pertains to my book,
 Core Python Programming. which should i learn? is your book
 obsolete? etc. i basically tell them that even though they are
 backwards-incompatible, it's not like Python 2 and 3 are so
 different that you wouldn't recognize the language anymore! as Kris
 has said, there are just a handful of noticeable difference that you
 have to just keep in mind. finally, the next edition of the book will
 definitely be BOTH Python 2 and 3. Python 2 isn't EOL'd and will be
 around for awhile longer -- the most important evidence of this being
 that both 2.x and 3.x are being developed in parallel.

 I just ordered your great book 2nd edition. I dont know if i should get
 worried using a dated version. All i want is to learn the language. The
 transition process (i think) should just follow normally once you learn the
 language. So far I'm just a newbie trying to learn.


you see? that's *exactly* what i'm talking about. :-)  my stance for
all my books and my courses is that i focus on teaching you the core
fundamentals of the Python language. i'm less interested in the minor
differences between releases that newbies will not likely use anyway.

however, i cannot ignore the fact that 3.x is backwards-incompatible
with older releases, so those are the opportune times to mention the
differences. the next edition of the book will not exist for several
years, and in that book, it will be a combo of Python 2 and 3, not
purely just 3.

in the most recent printing of the 2nd ed., the publishers have let me
add 2 new appendices, one on Python 3 as the next generation of the
language, and another on Python 2.6 and the remaining 2.x releases and
their transition role. these should be able to tie y'all over until
3rd ed. :-)

cheers,
-- wesley
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Python Web Development with Django, Addison Wesley, (c) 2009
http://withdjango.com

wesley.j.chun :: wescpy-at-gmail.com
python training and technical consulting
cyberweb.consulting : silicon valley, ca
http://cyberwebconsulting.com
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Should a beginner learn Python 3.x

2009-11-15 Thread spir
Le Sat, 14 Nov 2009 20:49:52 +,
Stephen Nelson-Smith sanel...@gmail.com s'exprima ainsi:

 My brother in law is learning python.  He's downloaded 3.1 for
 Windows, and is having a play.  It's already confused him that print
 hello world gives a syntax error
 
 He's an absolute beginner with no programming experience at all.  I
 think he might be following 'Python Programming for the Absolute
 Beginner, or perhaps some online guides.  Should I advise him to
 stick with 2.6 for a bit, since most of the material out  there will
 be for 2.x?  Or since he's learning from scratch, should he jump
 straight to 3.x  In which case what can you recommend for him to work
 through - I must stress he has absolutely no clue at all about
 programming, no education beyond 16 yrs old, but is keen to learn.
 
 S.
 

(While I'm aware this answer may launch sharp replies from some of you, I'll be 
bold and say what I mean;-)

I guess python is no more a language especially suited for absolute beginners 
for a while already. It has grown too many features, too much complication and 
several layers of abstraction. So, my answers would not be py2.6 or py3.1, 
rather py1.5.

Lua is certainly great in comparison to present python in this respect --except 
if you think builtin OO is a must. But lua is prepared for OO anyway (its 
tables are dict-like objects),  several libraries provide it. Lua + OO 
framework is close to python 1.5 from my point of view, except less builtin 
sweeties, and even cleaner syntax (half-way between python and pascal, but 
unfortunately no indented structure).

Denis

* la vita e estrany *

http://spir.wikidot.com/



___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Should a beginner learn Python 3.x

2009-11-15 Thread wesley chun
 Should I advise him to
 stick with 2.6 for a bit, since most of the material out  there will
 be for 2.x?  Or since he's learning from scratch, should he jump
 straight to 3.x  In which case what can you recommend for him to work
 through - I must stress he has absolutely no clue at all about
 programming, no education beyond 16 yrs old, but is keen to learn.

 (While I'm aware this answer may launch sharp replies from some of you, I'll 
 be bold and say what I mean;-)

 I guess python is no more a language especially suited for absolute beginners 
 for a while already. It has grown too many features, too much complication 
 and several layers of abstraction. So, my answers would not be py2.6 or 
 py3.1, rather py1.5.


very bold indeed. if learning purely for being introduced to
programming, etc., not work-related, etc., you have an interesting
idea. but even so, you don't have to learn *every* feature of 2.x or
3.x to learn programming. you can just learn the 1.5 syntax.
basically, i'm not going to give a sharp reply, however, it is an
unusual suggestion, but it isn't mind-blowing as there are some
systems out there that are built using 1.5, e.g., the Red Hat
installer, http://www.scons.org ... etc. it also helps keep the 1st
edition of my book Core Python Programming alive -- that edition was
written against 1.5.2, 1.6, and 2.0 back in 2000-2001. :-)

cheers,
-- wesley
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Python Web Development with Django, Addison Wesley, (c) 2009
http://withdjango.com

wesley.j.chun :: wescpy-at-gmail.com
python training and technical consulting
cyberweb.consulting : silicon valley, ca
http://cyberwebconsulting.com
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Should a beginner learn Python 3.x

2009-11-14 Thread Alan Plum
Ahoy!

On Sa, 2009-11-14 at 20:49 +, Stephen Nelson-Smith wrote:
 He's an absolute beginner with no programming experience at all.  I
 think he might be following 'Python Programming for the Absolute
 Beginner, or perhaps some online guides.  Should I advise him to
 stick with 2.6 for a bit, since most of the material out  there will
 be for 2.x?  Or since he's learning from scratch, should he jump
 straight to 3.x  In which case what can you recommend for him to work
 through - I must stress he has absolutely no clue at all about
 programming, no education beyond 16 yrs old, but is keen to learn.

It's too early for Python 3.x.

He should probably learn Python 2.6 for now, possibly with future
imports (though they probably take a bit longer to explain).

3.x will probably cause too many problems for him for now. A lot of the
reference material he can find on the web expects 2.x and many of the
cool libraries aren't quite ported to 3.x yet. That's just confusing.

He'll learn about the differences between 2.x and 3.x eventually, but he
shouldn't have to worry about it for the time being.


Cheers

Alan

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Should a beginner learn Python 3.x

2009-11-14 Thread Stephen Nelson-Smith
My brother in law is learning python.  He's downloaded 3.1 for
Windows, and is having a play.  It's already confused him that print
hello world gives a syntax error

He's an absolute beginner with no programming experience at all.  I
think he might be following 'Python Programming for the Absolute
Beginner, or perhaps some online guides.  Should I advise him to
stick with 2.6 for a bit, since most of the material out  there will
be for 2.x?  Or since he's learning from scratch, should he jump
straight to 3.x  In which case what can you recommend for him to work
through - I must stress he has absolutely no clue at all about
programming, no education beyond 16 yrs old, but is keen to learn.

S.

-- 
Stephen Nelson-Smith
Technical Director
Atalanta Systems Ltd
www.atalanta-systems.com
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Should a beginner learn Python 3.x

2009-11-14 Thread Alan Gauld

Stephen Nelson-Smith sanel...@gmail.com wrote


 Beginner, or perhaps some online guides.  Should I advise him to
stick with 2.6 for a bit, since most of the material out  there will
be for 2.x?  Or since he's learning from scratch, should he jump
straight to 3.x


Version 3 support is getting there but I still don't think it's fully 
suitable

for beginners yet. I'd say stick with version 2.6 (or 2.7!) [Actually v3 is
fine for beginners the problem is as soon as they try to do anything
beyond beginner they will likely run into support issues...]

That having been said my tutorial for V3 is making slow but steady
progress and the basics section is complete and I'm slowly ticking
off the advanced topics so he could try that. (see this sig's url)

But personally I'd still go with v2

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/l2p/ 



___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Should a beginner learn Python 3.x

2009-11-14 Thread Kristin Wilcox
I started as an absolute beginner to with programming with Python 3. I
remain a beginner but I've now installed 2.6 as well, because I found that
some of the modules I wanted to use weren't available for 3.x.

My personal experience was that the available literature/tutorials wasn't
really a problem. I quickly figured out that I should copy the list on the
python site of all the 2x-3x changes, and I picked up a couple other lists
written with different wording saying the same thing, and kept it as a quick
reference on my computer. But honestly, as a beginner you only run into a
handful of differences. Other than print(), input(), , xrange(), the
dictionary has_key, interkeys(), a bit of other dictionary stuff, tkinter,
and renamed http modules, you're not going to run into much that varies
between the versions. I just learned the very basic stuff to watch out for -
compared to all the other new knowledge you're putting in your brain, it's
nothing.

I personally really prefer print() to print - it just made more sense to me
when learning, and I like that you get a set literal like you get with lists
and dictionaries (it felt like the same logic was being applied in similar
situations, which is good when you're just starting out). But these are
small conveniences and I switched to 2.x because of compatibility issues.

I don't think it's a problem to initially learn on 3.1, but I do think it's
inevitable that he will have to learn both - and not just for compatibility
with the cool toys. If he's going to be using random online tutorials and
reading references from everywhere, he's going to run into stuff written for
both 3.x and 2.x and he's going to have to know the little differences to
compensate for when trying out the practice code. For instance, 2.x users
that grab the new Head First Programming book by O'Reilly that's coming out
in Dec (teaching beginning programming using Python 3.1) will have issues
converting backwards.. so it's not all one way.

Just my mostly ignorant 2 cents.

-Kris

On Sat, Nov 14, 2009 at 12:49 PM, Stephen Nelson-Smith
sanel...@gmail.comwrote:

 My brother in law is learning python.  He's downloaded 3.1 for
 Windows, and is having a play.  It's already confused him that print
 hello world gives a syntax error

 He's an absolute beginner with no programming experience at all.  I
 think he might be following 'Python Programming for the Absolute
 Beginner, or perhaps some online guides.  Should I advise him to
 stick with 2.6 for a bit, since most of the material out  there will
 be for 2.x?  Or since he's learning from scratch, should he jump
 straight to 3.x  In which case what can you recommend for him to work
 through - I must stress he has absolutely no clue at all about
 programming, no education beyond 16 yrs old, but is keen to learn.

 S.

 --
 Stephen Nelson-Smith
 Technical Director
 Atalanta Systems Ltd
 www.atalanta-systems.com
 ___
 Tutor maillist  -  Tutor@python.org
 To unsubscribe or change subscription options:
 http://mail.python.org/mailman/listinfo/tutor

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Should a beginner learn Python 3.x

2009-11-14 Thread wesley chun
 My brother in law is learning python.  He's downloaded 3.1 for
 Windows, and is having a play.  It's already confused him that print
 hello world gives a syntax error

 He's an absolute beginner with no programming experience at all.  I
 think he might be following 'Python Programming for the Absolute
 Beginner, or perhaps some online guides.  Should I advise him to
 stick with 2.6 for a bit, since most of the material out  there will
 be for 2.x?  Or since he's learning from scratch, should he jump
 straight to 3.x


good question, and already well-answered by most. i'll chime in with a
few remarks too. basically, if he is really starting from scratch,
i.e., no preexisting codebase, not using it for work, etc., then
there's no harm in starting using 3.x as long as you give the caveat
that most tutorials and source out there is still 2.x. 3.x has not
gained widespread adoption yet because not all of the lower-level (nor
higher-level) libraries, packages, and modules have been ported to 3.x
yet.

i gave a talk recently about this very topic (
http://siliconvalley-codecamp.com/Sessions.aspx?OnlyOne=trueid=227 )
and will repeat it again at PyCon 2010 in Atlanta (
http://us.pycon.org/2010/conference/talks -- see session #48 ).

i get asked this question a lot, esp. when it pertains to my book,
Core Python Programming. which should i learn? is your book
obsolete? etc. i basically tell them that even though they are
backwards-incompatible, it's not like Python 2 and 3 are so
different that you wouldn't recognize the language anymore! as Kris
has said, there are just a handful of noticeable difference that you
have to just keep in mind. finally, the next edition of the book will
definitely be BOTH Python 2 and 3. Python 2 isn't EOL'd and will be
around for awhile longer -- the most important evidence of this being
that both 2.x and 3.x are being developed in parallel.

hope this helps!
-- wesley
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Core Python Programming, Prentice Hall, (c)2007,2001
Python Fundamentals, Prentice Hall, (c)2009
http://corepython.com

wesley.j.chun :: wescpy-at-gmail.com
python training and technical consulting
cyberweb.consulting : silicon valley, ca
http://cyberwebconsulting.com
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Should a beginner learn Python 3.x

2009-11-14 Thread bibi midi
On Sun, Nov 15, 2009 at 10:37 AM, wesley chun wes...@gmail.com wrote:

  My brother in law is learning python.  He's downloaded 3.1 for
  Windows, and is having a play.  It's already confused him that print
  hello world gives a syntax error
 
  He's an absolute beginner with no programming experience at all.  I
  think he might be following 'Python Programming for the Absolute
  Beginner, or perhaps some online guides.  Should I advise him to
  stick with 2.6 for a bit, since most of the material out  there will
  be for 2.x?  Or since he's learning from scratch, should he jump
  straight to 3.x


 good question, and already well-answered by most. i'll chime in with a
 few remarks too. basically, if he is really starting from scratch,
 i.e., no preexisting codebase, not using it for work, etc., then
 there's no harm in starting using 3.x as long as you give the caveat
 that most tutorials and source out there is still 2.x. 3.x has not
 gained widespread adoption yet because not all of the lower-level (nor
 higher-level) libraries, packages, and modules have been ported to 3.x
 yet.

 i gave a talk recently about this very topic (
 http://siliconvalley-codecamp.com/Sessions.aspx?OnlyOne=trueid=227 )
 and will repeat it again at PyCon 2010 in Atlanta (
 http://us.pycon.org/2010/conference/talks -- see session #48 ).

 i get asked this question a lot, esp. when it pertains to my book,
 Core Python Programming. which should i learn? is your book
 obsolete? etc. i basically tell them that even though they are
 backwards-incompatible, it's not like Python 2 and 3 are so
 different that you wouldn't recognize the language anymore! as Kris
 has said, there are just a handful of noticeable difference that you
 have to just keep in mind. finally, the next edition of the book will
 definitely be BOTH Python 2 and 3. Python 2 isn't EOL'd and will be
 around for awhile longer -- the most important evidence of this being
 that both 2.x and 3.x are being developed in parallel.

 hope this helps!
 -- wesley



I just ordered your great book 2nd edition. I dont know if i should get
worried using a dated version. All i want is to learn the language. The
transition process (i think) should just follow normally once you learn the
language. So far I'm just a newbie trying to learn.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor