I recently started learning Python after reading a blog post on Simple Programmer talking about the benefits of learning Python. I am probably just over 2 weeks old in my knowledge of Python but I am compelled to share with you the things I have learnt so far and why I think every programmer should learn Python. In fact, I strongly believe that if you want to get into programming, Python should be the first programming language you learn.
Below is a summary of some reasons why I think every developer should learn Python.
Syntax is easy to read and understand
I am an experienced C# and PHP developer and this gives me the opportunity to sometimes compare both languages from a perspective of how easy it sometimes is to understand and quickly grasp both syntaxes. It is fair to say that C# being a strongly-typed language sometimes can have complex syntax which may take any experienced developer sometime to grasp. With PHP7.* we are starting to see PHP adopt even more complex features to its syntax. However, I can assure you that with Python the case is different.
Check out how easy it is to write a function in Python compared to C# or PHP.
No curly braces to worry about, no semi-colons to bother about in you line endings. If you are in the habit of forgetting to end your statements with a semi-colon, then Python will make programming a pleasure for you.
Declaring variables in Python is also a piece of cake. See example below;
That’s really all you need to do to declare a variable. Python is clever enough to know what data types your variables should be at run-time. Really cool.
Python is a multi-purpose programming language
For years of working with ASP.NET with C# and PHP with Laravel, I have mentally put myself in a box as a ‘web developer’ because I have mainly developed web applications using these programming languages. But with Python, I am starting to experience the freedom of being a ‘software developer’ who can develop any kind of app. It is true that you could develop desktop apps with PHP and C# but the ease of doing so in these languages cannot even be compared to how fast you can accomplish the same tasks with Python.
There are tons of Python libraries that you can just install and utilize to build all sorts of apps. Motion detection, face detection, GIS apps, Machine Learning, Data Visualization, Web development, Desktop apps, Mobile apps, Games, Web scraping, Scientific calculations etc. The list is endless. In fact, I can’t think of any automated solution that cannot be built with Python.
Python is even very popular among the academic programming community and is being used for all kinds of research projects. During my university days, a number of lecturers used Python to accomplish many of their tasks.
Python is open source
Python is open source which means it is free and open for anyone to contribute to it. Python, however, is not just open source but also boasts of an active community of developers whose mission it is to promote, protect, and advance the Python programming language, and to support and facilitate the growth of a diverse and international community of Python programmers. They are called the Python Software Foundation.
Tons of resources to get started
Only a quick search on google about Python will show you loads of resources online that you can use to start getting your feet wet in Python. Various resources from books, videos, and blog posts are so many on the internet. So learning Python is very much within the reach of anyone willing to give it a shot.
Personally, I like to get premium resources when learning as I believe you always get what you pay for when it comes to learning. If you like premium resources you can find plenty of Python Tutorials on Udemy.
Python Web frameworks
Even more annoying is the fact that there really isn’t any organization responsible for drafting best practices for these languages so we end up with a free-for-all marketplace with all sorts of frameworks.
This is not the case with Python. So far I have identified Django and Flask as the leading web frameworks for Python Web development and each of these frameworks have various areas of strength depending on your project needs. If you happen to need any advice on a web framework to use in your Python project, you are likely to be directed to either Django or Flask. I think this makes things easy for beginners who may not be sure where to start.
Python makes it easy to grasp complex programming concepts
One thing I can say for sure about Python is that it makes it easy for you to understand complex programming concepts hence the reason I believe this should be the first programming language any newbie programmer should learn. Concepts such as Arrays, Data Structures, Loops, Functions can be easily understood with Python. The good thing is you can then transfer this knowledge to understanding most programming languages like Java and C#.
In conclusion, while there are loads of things that can be said in this blog post, I strongly believe that mastering Python will put any developer in a better place to learn and master another programming language. Mastering Python will definitely give you the confidence you need to learn and understand other programming languages thus making you even more valuable as a programmer. I like to also add that Python is brilliant in a start-up environment because it helps to quickly develop a Minimum Viable Product which you can ship to test your app idea.
I am still continuing to go even deeper in my knowledge of Python and may sometime in the future write some posts with Python tutorials in them.
So consider learning Python today!