Please i need a direct answer on python programming.
Should a beginner to programming in 2013 start with python 2 or 3?
And why?
And do you know any good books for either?
I would stick with python 2.7 for now since a lot of modules are not 3.X compatible yet. Going from 2.x to 3.x at a later date when you are already familiar with python won't be to hard, but starting out with python 3.x right now will limit what different modules you can use.
but isnt python 2 not compatible with 3? isnt that a bit like saying learn c++(is it 03 or 98 can't remember) instead of c++11?
Not really. C++11 is backwards compatible it won't break any programs that were written in older versions most likely. Whereas if you are using Python 3.x there is a lot of python 2.x modules that haven't been updated for 3.x that you can't use.
C++11 is backwards compatible it won't break any programs that were written in older versions most likely. Whereas if you are using Python 3.x there is a lot of python 2.x modules that haven't been updated for 3.x that you can't use.
i know. thats not what i meant. i was more talking about the techniques, like learning to use rand() instead of <rand>
Yeah, I would not recommend Python 2. Python 3's intention was to improve on Python 2, it breaks compatibility, and it's the step forward.
Even if their aren't many modules that can use it, it might be worth trying to port them yourself and using that as a learning tool. It's not hard (and ctypes can be used).
The languages are not compatible because it would be difficult for the pyc to keep them compatible without a lot of bloat in the python libraries and grief for the people writing the parser.
In terms of humans, you are unlikely to have difficulty switching to the other once you learn one of them.