4 Reasons why you should learn Python as your first coding language
If you want to learn to code, there are many languages that you can start with. Here's why you should learn Python first.
It wasn’t so distant a past when we were all excited about the new apps coming to town. At that time, everyone was talking about how tech opens doors to entrepreneurship.
In these short few years, we saw disruption moving rapidly, bringing insurmountable change to every industry it set foot in. What could be automated is now automated. What was once in pen and paper, can now be recorded seamlessly on an app.
Today, people are looking beyond just another app. People are looking for more intelligence and more efficiency in decision making.
If you want to learn programming, it is time to start. But beyond that, you need to understand how you will need to prepare for tomorrow.
There are many reason to why you would want to learn coding. You can, of course, start with other languages besides Python.
I’ve done a webinar on how to start coding and the considerations for you to start your coding journey in a more efficient way. This is based on my experience with >1000 students at NEXT Academy and their learning styles.
For this article however, I want to make a case for Python. Why Python, what you can do with it and why it will help you secure a better future.
[Update May 2020]
According to Tiobe Index, Python is now the top 3 programming language amongst professional software developers.
Based on PYPL rankings, Python tutorial is most searched on Google.
On Stack Overflow (the sacred site for all developers around the world), Python has risen in ranks and is considered the most wanted language to be learned.
If you are wondering what is fuelling Python’s popularity, it’s because of its access to the new buzzword in town, “Machine Learning and Artificial Intelligence”. We’ll talk about that later.But why does popularity matter?
Here's why: When professional developers see value in learning Python, it results in community growth. The language will be used more often and more job opportunities will follow.
Learning Python now would mean that you are ready for the job market when the demand for developers who know Python increases.
People often ask if Python will overtake Java one day, well, time would tell. Many existing tools and software still use Java and often it is not easy to migrate. These days, more new software is using new languages to build, such as Python. As the use case of Python grows, you would see Python go up the ranks.
So should you learn Java or Python? It depends how forward looking you want to be!
Here is a brief history of Python which you can check out!
Language popularity is often tied to a few factors. Aside from use cases, another reason is how easy the language is to pick up and learn.
Python fulfils both criteria. It can be used for a lot of things and it is relatively easy to learn.
Python is built to be simple, understandable and readable. It even has a list of aphorisms that spell out its core philosophy!
Here are a few of them:
Beautiful is better than ugly
Explicit is better than implicit
Simple is better than complex
People love describing it as “clean and elegant”. For me, one added advantage that Python has is its compulsory use of whitespaces (indentation) which is used to denote blocks. For example:
Whitespaces/Indentations help developers understand the relationship between each lines of code.
For other languages, that whitespace remains best practice, rather than compulsory. Thus, many newbie developers do not like adhering to that (…such code does not deserve to be shipped and deployed! NEVER!🤬).
But with Python, it matters. Do it wrongly, and you will alter the meaning of the relationship between the lines of code. This forces developers to implement this best practice.
Thank you Python! 🙌 Now code mentors and senior software engineers no longer need to cry over ugly, messy code.
There are 2 parts to learning to code: learning the syntax and learning how to use the syntax to write instructions to the computer.
When you want to compare Python vs C++, C or even Java, you would want to compare them based on their syntax. Keep in mind that, the easier the syntax, the easier for you to start learning how to code.
Only after you build your thought processes on how to write instructions with code, you can easily switch to a different language of your choice.
Whenever you want to compare programming languages, for example, "Python vs Swift, Java etc", here are key factors to determine on your code learning journey.
When it comes to learning something new, what you need is good support. If a beginner is stuck learning something powerful without support, he/she will likely not go far.
When we use the word “open source”, it means “powered by community”. The bigger the community, the more use cases there will be. This means that it is easier for anyone who’s stuck to get help from the community. It also means that the language will continue evolving to be better.
Python has a diverse community. Aside from developers who use Python for apps and scripting purposes, it has ties with the world of academia.
Python is being used increasingly for research papers (mainly on math, stats, data science, machine learning, AI). This is because it is able to give researchers more access to functionalities. At the same time, it is free to use even for commercial purposes. (No worries on paying royalties when you want to patent something!)
This means that you have a huge scientific community backing you up when you need help.
Not just that, these days, higher learning institutions are using Python as an introduction to programming.
This would mean that the Python community will continue to grow.
Python is being used for scripting, web development, building simple games, natural language processing, data science, machine learning, AI, IoT and so on.
Why is it possible to do these with Python? It’s due to the extensiveness of its libraries and frameworks.
When the community grows and uses Python for different use cases, developers would build libraries and frameworks to make life easier for those particular use cases.
This is why having a diverse community helps.
For example, math libraries do not just appear out of thin air. It requires the community’s effort to build the library so that everyone like you and me could use it!
And with these libraries, developers and researchers in turn are able to get into data science, machine learning and AI and subsequently, build more libraries related to these disciplines.
Web frameworks were built by web developers, and they are constantly improving it so that next time you decide to build an app, it could take you only a few days to build a simple app as opposed to weeks and months.
When it comes to learning Python, it is really dependant on your goals. It provides you with the ability to venture into many fields and disciplines.
Occasionally people like to compare frameworks. For example, Python's Django vs Node.js, Flask, Angular or ReactJS.
Always remember, frameworks are there to make your life better. In fact, when you learn one framework, it's easy to pick up another framework. Frameworks CAN come and go. Don't be a framework developer, because once the framework is gone, BYE BYE to you too.
If you want to see other topics on Python, do check out All About Python.
Python is known to be easy to learn and pick up. Often people are worried that they spend time learning something and eventually it would die off, wasting the effort. Here's why Python is not going to die off anytime soon.
Aside from being used for web development, we can see the next advantage Python has - it is to sift through and to make sense of our data heavy world. If you use Google sheets and Excel to manage your data, you would know that there is a limitation. Aside from that, you would need math and statistics formulas to sift through the data, which is why people are using Python instead of Excel or R.
Now let’s talk about what you could do with Python.
Read the next article in this series 👉 What can you use Python for?