By Lenin Mishra
- Why did I learn python?
- What can you expect here?
- Why should you learn Python?
- What can you do with Python
- What are the disadvantages of Python?
- Final Call
Why did I learn python?
My first encounter with python happened because of a small lie.
In order to get selected for an internship that required me to build the control system of robots using python, I had to lie to my recruiter about already possessing the knowledge of python. Thankfully he didn’t ask me anything else and accepted me for the internship program. But since the day I have religiously practiced python in my daily life.
I did a lot of free courses on the internet, solved every problem I could find on any topic again and again. And then again! Initially, I only did it to do excel at my thesis. But eventually, I fell in love with this simple language.
So much so that I started applying for python programming jobs even while doing my M.Sc in Transportation Engineering and happily accepted the job offer when I got one.
What can you expect here?
If you are reading this, there is a good chance you already know what python is and why it is a popular choice for a programming language to learn in today’s generation.
Maybe you are considering python as your first language for learning programming over other languages.
Maybe you are a software engineer, interested in making a career switch to some other field that needs certain expertise of the python programming language and you feel you lack it.
Maybe you are just curious and missing a hobby in your present life. So you decide to embark upon a journey of learning a new language. And you are choosing python!
No matter why you are here, I am going to provide you all the reasons, why choosing python is a great choice. I am going to layout the various advantages of working with python.
But then I am not going to be a blind promoter. I am also going to explain to you, what you shouldn’t expect from python and areas where python could let you down.
Why should you learn Python?
Python is a high level, interpreted and a general-purpose programming language developed by Guido van Rossum in 1991. Over the years, Python has become famous for its versatility of being able to blend object-oriented, procedural and functional programming into itself very elegantly. It is not just a scripting language anymore.
There are a lot of reasons that make Python special.
In this blog, I am going to discuss 5 reasons that are the most important reasons according to me and should be sufficient for you to choose Python as your first or next programming language.
Simplicity and Readability
Python’s most distinctive quality is its simple syntax and readability. This is what sets it apart from a lot of other programming languages and therefore makes it a great first choice for beginners.
Python is an interpreted language. So the code is executed at run time and does not need to be compiled like other languages (C++ or C). Therefore it comes with some subtle advantages like dynamic typing, automatic memory management and scoping.
Python allows developers to become highly productive by getting their job done with lesser lines of code compared to other languages. Lesser lines of code imply lesser lines to debug and maintain. Since Python is an interpreted language, it skips the lengthy compilation steps required by some other programming languages and therefore, improves the development speed of software developers to a great extent. All these qualities make python a pleasurable language to work with.
Awesome libraries and frameworks
Python comes with a prebuilt standard library that provides awesome support for software development. Apart from that, there is a vast amount of open-source third-party libraries that help developing applications really easy. Be it web development, machine learning, image recognition, data analysis and visualization or a library to make Http requests, python libraries have proved to be super useful for all such tasks and even more.
Great career options
With so many companies adopting Python into their stack around the world, there is a huge amount of job opportunities available for all levels of python developers. Surveys in the United States have shown that the average salary of a python developer in 2019 is touted to be between $100,000 and $130,000. Of course, this number varies from country to country. However, it does give an idea about the demand and importance of python developers in the current generation.
Huge online python community
Stack Overflow, Facebook, Reddit, Youtube, Twitter… you name it. There is a huge developer community online to support you with understanding the nitty gritty details about this language. This is very helpful as you can easily clarify your doubts online and therefore your learning never really slows down.
IMHO, this is one of the most important factors to consider while choosing a new programming language. Lack of a support community can become a real deal-breaker for you as you might be stuck with your problems and therefore never continue your learning in this field.
What can you do with Python
So what can you do with Python? Where are the areas of software development where you can expect to pursue a sustainable career? Here are some major areas where python is intensively used.
Graphical user Interfaces
Some GUI based applications like Inkscape, Paint Shop Pro and Scribus have been built using Python. Python is also used in building games. Civilization IV and Eve of Tanks are incredible examples.
Thanks to frameworks like Django, Pyramid, Flask and Web2Py, a lot of famous companies around the world use Python in their stack for web applications. These companies include Google, Facebook, Reddit, Instagram and a lot more.
Data Extraction, Analysis and Visualization
Libraries like Requests, Pyspark, Pandas and Matplotlib make it really easy for data engineers to build ETL pipelines, add their transformations and build insightful visualization on the data procured.
Companies like Stitch have their entire stack built on python for Extracting and Loading data from various sources to relevant destinations. A new tool in the market is Dagster which allows developers to build DAG (Directed Acyclic Graphs) based entire ETL pipelines using python.
Data Science and Machine Learning
Probably the most intensive use of python is being made in the field of Machine Learning by data scientists. There has been a huge growth in the demand for Machine Learning since 2013. Check out this report from Google trends to see how Machine Learning has peaked over the last few years.
Python makes it really easy for machine learning enthusiasts to build and train their models with the help of amazing libraries like Keras, Scikit-Learn, Tensor Flow, OpenCV and a lot more.
What are the disadvantages of Python?
Now everything is not a bed of roses here. Python also comes with some disadvantages.
Slower execution time
Since Python is an interpreted language, it is slower than other compiled and lower level languages like C and C++.
High memory consumption
Due to its various flexibility, python uses a lot of memory. Therefore it is not much suitable for memory-intensive tasks.
Very less impact on mobile app development
In spite of its popularity, python is not the first language of choice for building mobile apps. Sure frameworks like Kivy do exist that support building mobile applications. However companies and developers still prefer Android, Swift, React Native or Flutter over using Python.
I am sure the above disadvantages are crucial. But are they crucial enough to not learn this beautiful language? Not all of them.
If you aspire to become a mobile app developer, probably python shouldn’t be the language of your choice. Go with something that is being heavily used in the current market for building mobile apps - React Native or Android and Swift.
But with today’s electronics capabilities where compute and storage have become so cheap, execution speed and memory consumption are not really much of an issue. Sure it is important to be aware of these issues so that you can take the right course of action during your application development process. But IMHO, these are very small trade-offs to experience the huge amount of advantages and opportunities that python brings your way.
So it’s your choice. If python is for you, we are here to help you along the way.
Would you like to suggest changes to the article - Check out our github repo and create a Pull Request.