How to Learn Python, the Fastest-Growing Programming Language
Python is leading the programming languages race for its simplicity, user-friendliness
and extensive support libraries. It’s a general-purpose language driven by object-
oriented programming concepts and helps improve developer’s productivity. Most of
today’s data science and machine learning projects leverage Python in some form. On
top of these projects, developers are making use of Python for GUI (graphical user
interface) applications, web sites, and even mobile apps. According to Stack Overflow
Trends, Python had extraordinary growth in the last five years. Even the TIOBE index
and PYPL (popularity of programming languages) index shows Python as the fastest-
growing programming language.
Why it is getting popular
The below features are the main reason for its popularity:
Python is easy to learn and use because the syntax is close to plain English and is
developer-friendly.
Runs equally on multiple platforms – Windows, Linux, Unix, and Mac. Can run natively
on Android and iOS soon.
It’s freely available with source code, 100% open-source.
Its interactive mode makes it easy to test and debug.
It supports object-oriented programming concepts (OOPS) with the concepts of classes,
objects, and multiple inheritance.
It has a large set of libraries to support any type of application development – data
science, machine learning, GUI, web sites, and mobile applications.
Supports rapid application development by writing less code.
Its automatic memory management frees you from manual tasks such as memory
allocation and freeing up memory.
[Image from https://www.bigstockphoto.com/image-322341364/stock-photo-python-
high-level-programing-language-application-and-web-development-concept-on-virtual-
screen]
History
Python was created as a side project by Guido van Rossum, a Dutch computer scientist
in 1989. It was originally designed as a successor to ABC programming language and
he made the code public in February 1991 with the version 0.9.0. Python is named after
the British TV show Monty Python, not after the snake. At present, the open-source
programming language is being managed by the Python Software Foundation.
In 1994, Python 1.0 was released with features like lambda, map, filter and reduce,
which aligned it heavily with functional programming.
Python 2.0 was released on October 16 th , 2000 with features like list comprehensions,
full garbage collector and support for Unicode.
Python 3.0 was released on December 3 rd , 2008 and it’s a major revision of the
language. Although Python 2 and 3 are similar there are subtle differences.
Unfortunately, 3.0 is not completely backward-compatible with previous versions and
many of its major features were backported to Python 2.6.x and 2.7.x versions. From a
developer’s perspective, this is a major headache and at times you run into
incompatible issues.
A large chunk of existing Python projects are still running on 2.7.x and the existing code
could not easily be ported to Python 3.x. Hence the 2.7.x’s end-of-life date was initially
set at 2015 then postponed to 2020.
[Image from https://www.bigstockphoto.com/image-309788827/stock-photo-python-
programming-language-on-server-room-background-programing-workflow-abstract-
algorithm-concep]
How to learn Python
Often the largest hurdle to learn any new programming language is knowing where to
get started. Fortunately, Microsoft has launched a new 44-part series called Python for
Beginners on YouTube last month (Week of September 20th, 2019). It aims to teach
beginners with some programming experience in another language, such as JavaScript
or Java. The course is available at http://bit.ly/azit-learn-python. Microsoft also
published slides, code samples and additional resources on Git Hub (http://bit.ly/azit-
python-resources) to help beginners become familiar with building Machine Learning,
Data Science projects leveraging Python.
If you want to learn Python online, i.e., without installing Python on your laptop, you can
go to learnpython.org and use their interactive Python tutorial to learn and practice
Python. It has basics, data science tutorials and advanced tutorials for beginners to
experienced programmers.
If you have no programming experience and want to learn Python, MIT has a free
course “Introduction to Computer Science and Programming Using Python” available
under MIT Open Courseware. According to MIT, “it aims to provide students with an
understanding of the role computation can play in solving problems and to help
students, regardless of their major, feel justifiably confident of their ability to write small
programs that allow them to accomplish useful goals”. The course is available
at http://bit.ly/azit-mit-python. It’s a proper undergraduate course, so expect to spend
some time every week to finish this course. This same course is also available on
edx.org.
If you want to learn Python with data science concepts, go to edx.org and look for
“Introduction to Python: Absolute Beginner” by Microsoft. This course will teach you how
to learn Python using Jupyter notebook (a web-based IDE for data science projects).