I started with 3.x, because i thought 2.x would be dead by the time i got going in the language, lol. Low and behold 2 years later, 3.x has gotten few steps further, and not widespread yet.

I would shoot for python2.x, the reasoning:Because you can focus on learning the language, OOP, etc. without the problems that 3.x arises. There is a lack of tutorials that are in 3.x. If your good enough, you can just port it over to 3.x, but just starting out, you have no idea. You will learn to port between the two as you go, and make your code run with either version, regardless of which language you start with. But it makes the inital leap easier into programming (at least i would think so). 3.x also does not have all the 3rd party modules ported yet.

For example: sometimes i have to wrestle with a 3rd party lib that hasn't yet been legit ported to 3.x. Considered in testing phase. So if somehting goes wrong, it could be any number of things. Download it from github, maybe change some things, here and there that they screwed up. Whereas in 2.x its a simple apt-get install (for linux) as its already in the repos ready to go.

metulburr wrote:I started with 3.x, because i thought 2.x would be dead by the time i got going in the language, lol. Low and behold 2 years later, 3.x has gotten few steps further, and not widespread yet.

If you want to use matplotlib, like I do relatively often, Python 3 isn't an option. It depends on what you want. Want the cool more well-thought out language? (That still isn't perfect, mind you.) Or do you want the thing that there is a tremendous amount of support for? It's a trade-off, likely nearly everything in computer science and software engineering.

Join the #python-forum IRC channel on irc.freenode.net!

Please do not PM members regarding questions which are meant to be discussed publicly. The point of the forum is so that others can benefit from it. We don't want to help you over PMs or emails.

Everything "newer" in computer world, is buggy, lack of help, lack of tutorials, lack of libraries

A basic example of this is:if i am a gamer that plays minecraft, and I only care about vanilla minecraft, i dont care about mods or texture packs, and want the latest updates and featuresi can use the latest version of minecraft. However, if i am a person that uses texture packs and mods (which i am), i have to wait for those mods and texture packs to be updated to the latest version ebfore i update my minecraft version, which in minecraft can take from a few days to a few months, for some mods maybe a year.

Span this example out across a couple decades and you have python. Some people use libs that require the older version that is not yet ported up, and some dont.

the same goes for any language, some people have updated compilers for c++ which allows use of c++11, which gives them one output for an error, while others have an older compiler that gives them another output for an error, different versions, differnet uses, etc.

There are 2 "currently available stable new" versions of python.2.7.5 and 3.3.2 were released on the same day

The choice of python 2 or 3 depends on a person's needs.There are more useful learning resources for python 2, as well as better external library support, so it's often a better choice.

The differences between 2 and 3 are mostly minor, so the initial choice doesn't really matter all that much.

Yes, C++ is not a newer version of C but C++ is an extension of C with implementation of class and object. If somebody learn C, he/she can also do C++ without class and object, and without full power of C++. when somebody start with older version of python, someday he/she will has to switch to new stable version of the python which has more modules, more power. So, why not start with newer stable version of the python rather than older one? Newer version does not mean that it is scary.

manojg wrote:when somebody start with older version of python, someday he/she will has to switch to new stable version of the python which has more modules, more power.

This tells me you don't really know much about the current state of python 2 and 3.Python 2 is the one with more modules supported, and that lack of module support in python 3 is a huge part of why not all people have switched to it.

Sure, everyone will(probably) eventually change to python 3, but that doesn't necessarily make it the best choice right now.As I said, it all depends on what you want to do with it, and the resources available.