Python: Legacy vs. Modern
I consider myself fairly new to python, compared C/C++ or Java, as I haven’t been worked on any major project involving Python, nevertheless I think it’s a pretty neat language to work with after my short experience with Python. One thing I particularly like about Python is, one can write a very elegant code in Python, which is pretty hard in C/C++ and nearly impossible in Java. Anyways, if you are a newbie to python like myself, you may have noticed that there are two major versions of Python, one being 2.x versions and other being 3.x versions. I’m summing up the key differences the.
Python 2.x is legacy, Python 3.x is the present and future of the language - which means, Python 3.x is in active development, while Python 2.x is only being maintained until users all move to python 3.x or applications built with Python 2.x ported to Python 3.x
Python 2.x has more documentations and references available compared to Python 3.x - since Python 2.x has been around for a while, it’s only natural that Python 2.x has more references available. For instance, in stackoverflow.com there are about 35k tags for python-2.7 while 27k for Python-3.x
All major frameworks run on Python 2.x and will continue to do so for a significant time - as these frameworks use third-party tools, those have limited otherwise no support for Python 3.x, this situation is likely to be remained same for a couple of years more.
There are some syntax differences between Python 2.x and Python 3.x. See link below for in-depth syntax differences.
Which one you should choose to learn/work with? My recommendation is Python 2.7.x versions.
Detailed Differences: https://goo.gl/J7pnJn
Syntax Differences: http://goo.gl/HMLMGq













