The joy of coding Python should be in seeing short, concise, readable classes that express a lot of action in a small amount of clear code — not in reams of trivial code that bores the reader to death.
— Guido van Rossum
Python is a great last language to learn, and the quote above by the founder of Python holds true to this day. Are you looking to understand if python is for you and what are its benefits? If so, then you’re in the right place! In this post, we will look at
- What makes python so highly loved by the programming community
- What are the ways in which it can help you take the next steps in your career
- We will list the tools and resources ( including this blog series,😉 ) that will help you getting started with python in 2022.
Hopefully, I will be able to convince you to take up this wonderful language, and possibly share the joy creating something ingenious that’s your own.
What can python do for you?
This is early 2022, and as of the time of writing, Python’s applications are very widespread ranging from data analysis to mobile game development. However the top uses for Python continue to be in Data Analysis, Web development and Machine Learning, which hasn’t changed much over the past 5 years, as per the JetBrains Developer Ecosystem Surveys.
Only 4% people in the survey reported using it for game development, but it was mostly as a hobby (we’ll see the reasons further on). But it goes to show that Python can be a tool to implement quick prototyping of ideas.
If your interests lie in Web development, Django is an awesome web framework based on Python. It is famous for its “batteries included” approach. It was a weapon of choice for Instagram founder Kevin Systrom who self-admittedly worked on backends with Django and Python right from the early days of launching the app.
There was never a better time to do Machine Learning than now. Scikit-Learn, Numpy and Scipy are some of the well known libraries that assist in Machine Learning and Statistical Analysis, and are extremely easy to learn. Yet they are only the tip of the iceberg when it comes to python resources for data science. With more and more companies investing in machine learning research and development in a big way, the future for this stream of development is indeed bright.
Finally, when it comes to stories of merging Software Development, Art and Animation, and Open source, no better example comes to mind than Blender , which is a free and open source software based entirely on Python, and is re-shaping the way 3D modelling and animation are approached in the industry.
In any of these areas where your interest may lie, Python has got you covered. Here is a broad summary of the applications of python.
You were saying about something can it do for me…. ?
According to Ziprecruiter (reported by daxx.com), the Average Python programmer salary in the world in 2021 is $111,899 per year (or $54 per hour). Entry Level Python programmer salary in the world in 2021 is $80,499 per year (or $39 per hour). Backend Python developers earn $126,499 per year (or $61 per hour) when Full Stack Python developers are paid on average $128,150 per year (or $62 per hour)
But these are just crude estimates. I could just as well post similar results from a dozen other surveys. But I wouldn’t dwell on them for too long. Of course, these are just the average estimates for python programmers in general, but the spread is indeed diverse based on different applications of python listed above, where estimates could go much beyond this. As a veteran who’s been in the data science industry for over 8 years, I’d say the bottom line is that once you choose any field of application above, and stick to it long enough while gaining mastery of python, there is no denying that you are well on your path to success and financial freedom.
Okay, what’s so great about Python?
Short, concise, readable
These were the words from the founder at the start of this post. These are what make python fun. As an example, python has no curly braces as in other programming languages to denote the start or end of code blocks. It is done through indentation itself. This makes any python code well formatted and readable by its very nature. It is also concise and typically needs one-fifth the lines of code needed in Java to get the same task done. That means less to type, less to debug, and going back home from office much faster.
Portability
In the old days, people wrote “interpreters” or “compilers” based on the OS, such as Windows, Mac or Linux. As a result, libraries written for many languages like C and C++ are different based on the operating system. This led to the code written on one platform not being portable to a different platform, where the underlying libraries could be different. Most python programs on the other hand are unchanged on all major platforms. Moving code from one to the other is usually a matter of copy-pasting scripts, with minor changes if any.
This turns out to be a huge time saver and boosts development speed!
Extensibility
Python works well with other languages such as C, C++ and Java. What does that mean? Let’s say a there’s a library in C++ that does something awesome which you cannot do with Python. It is possible to write custom integration scripts in python and place bindings on the library, or use a pre-built tool for establishing that interface (such as Boost.Python) to get the job done. This extends what Python can do and get the goodness from other languages integrated with Python. Python is a team player.
A vast support of libraries
Python has a huge community of enthusiasts and companies who have added supporting libraries like no other language! They have contributed over 350,000+ custom built software packages as of this writing and the number is only growing. This is an encouraging sign when there’s tremendous user-support.
How to get started with Python in 2022?
There are 3 components you’d need to get started:
- Python Source Code
- A Python Editor
- Curiosity to learn and a thrill for new challenges
Okay, I admit the last one was a bit cheesy. But you need it.
Option 1 : If you want to get started with simple Python coding
Assuming you’ve taken care of that if you’ve reached this point, if your purpose is to simply learn programming and fiddle around a bit, I’d suggest downloading python from the official Python website.
Once the installation completes, you should be able to see the folder which has the Python launcher and the IDLE application, which is the interpreter where you can write your code.
You can now open the IDLE, and start playing around with Python!
Option 2 : Getting started with serious Python coding
Source code and additional libraries: If you’re looking to get in Data Science, I would recommend installing from Anaconda’s individual edition. This not only provides you with all the necessary packages and libraries you would use for data science pre-packaged in the bundle.
Editor of Choice: We’ll be having an entire blog dedicated to choosing the editor that suits you. In your installation of Anaconda you already get Jupyter and Visual Studio Code pre-installed. All you have to do is invoke them from your terminal:
The author’s preferred choice of development is VS code , so once you launch it and start a new python file, you should be up and running! I would look something like this.
Conclusion
We’ve explored the various aspects of Computer Science and Analytics that Python is a core part of, such as Web Development, Data Science, Machine learning and Software development. We peeked at the opportunities that lie ahead once we take on python as a serious career path.
We looked at what makes python so cool, such as its readability and concise nature, ability to work with other components really well, and the huge community support in growing the helpful libraries. There are of course, many more reasons to love python, but all in due time! Hopefully it was motivating enough to get you started, and if so we’ll hope you’ve downloaded the resources mentioned and are ready to jump to our next blog in the series where you learn about variables in python! See you on the other side!