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.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 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