Re: [Tutor] Should a beginner learn Python 3.x
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
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
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
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
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
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
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
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
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