Many years ago, I used to be a Java programmer. In fact, I started my information technology career in the year 1999 as a software developer in a small company which focussed on application software development. During my engineering days, I learnt Fortran and C programming. When I completed my engineering, there was Y2K problem (https://en.wikipedia.org/wiki/Year_2000_problem) which helped many job aspirants to jump into IT industry irrespective of their educational background.
During the same time, Java was one of the bleeding edge technologies. There was a saying – ‘To get into IT job, all you need to know is spelling of Java’.
After few years of programming (mainly in Java, Web development, SQL, Database design), like many others, I moved on to project management and with more focus on day to day operations, I gradually lost hold on coding but not the zeal.
Several years later in the current digital world, data analytics caught my attention. I am interested in learning data analytics and visualization. Since few years, I started using Linux Mint Cinnamon OS more frequently on my personal laptop as it is free and open source(FOSS). I was fascinated by Cinnamon Desktop Environment. The website – https://en.wikipedia.org/wiki/Linux_Mint, claims most of the Linux Mint is developed in Python language – https://www.python.org/. I was aware of the fact that majority of Unix/Linux development happens in C but was surprised when I saw Python. This was my first encounter /awareness on Python. This is when I started gathering my understanding of Python from internet.
Why learn Python ?
- It is a free and open source (FOSS)
- Already available in several Linux distributions
- Easy to learn for beginners (minimal coding is required)
- One of the languages widely used for Data Analytics
- Popular (http://www.tiobe.com/tiobe-index/) and good Community support
- Availability of code libraries / packages
- Many Web development frameworks – Django, Bottle, Flask etc
- Scientific and numeric computing – Numpy, Matplotlib, Pandas etc
- Rich GUI development – pyQt, wxPython
Python 2.x or 3.x ?
Several books and websites debate on whether to use Python 2 or Python 3. I have noticed that by default, Python 2.7 was installed on Linux Mint 18 (Sarah). When I started learing, I felt that going forward the focus would be on developing Python 3.x as it is the present and future. Hence I started with Python 3.5 interpreter. Fortunately, Python 3.5 is also pre-installed on the latest Linux Mint 18.1 (Serena).
My favourite books for learning Python / Data Analytics
- How to think like a computer scientist: learning with python (http://greenteapress.com/wp/think-python/)
- Dive into Python (http://www.diveintopython.net/)
- Python for data analysis
- Mastering Python for Data Science
- Mastering Python Data Visualization
There are several online books and tutorials available. One of my favourite is Tutorials Point – https://www.tutorialspoint.com/python/
I follow the Google plus Python community frequently – https://plus.google.com/u/0/communities/103393744324769547228
Also, Stackoverflow (http://stackoverflow.com/questions/tagged/python) comes to my rescue whenever I encounter some hurdles.
Disclaimer: The opinions and experiences listed on the site are my personal. In some cases, my understanding could be incorrect as I am a beginner to intermediate programmer. Please point out if any correction is required so that I can consider editing the blog.