5 Reasons why python should be your first programming language and 5 reasons why it should not !
Python is one of the most sought-after programming language in the world.
It stands third in terms of most used programming language and stands top in terms of most wanted programming language in the world. 2021 Stackoverflow Developer survey
Python is an interpreted, high-level, general purpose programming language. It is fairly easy to understand due to its elementary syntax and clean, organized structure.
Python is a hotshot due to its extensive use in the world of Backend Web development, Data Science, Machine Learning Models, AI Technologies and so much more.
But ( yep, there's a but 😶) sometimes you should reconsider thinking whether you should be learning python as a first programming language or not. So, is there a murky world under the sugar coated simplicity of python?
So here's Five reasons why Python should be your first programming language and Five reasons it shouldn't .
Why you should learn Python as the first programming language -->
- Simplicity
There's no arguing that python is has one of the most simplest syntax among all programming language. Hence it is loved by new coders and first timers who have no previous experience as a programmer.
Lets compare the syntax for printing 'hello world' in two languages, C++ and Python :
- C++
#include stdout
int main() {
std::cout << "Hello, world!\n";
}
Noticed all the use parenthesis and other symbols ?
- Python
print("Hello World!")
Yep thats it. No parenthesis or other symbols.
- Huge standard and third-party Library
Python has a plethora of libraries(standard and third-party) which can be imported when and where required. What makes libraries so useful is that the majority of things which you would wish to do would've been already done and available in the form of libraries. So one can start making cool things with really small lines of codes, like processing and visualization of data ( using matplotlib ) .
- Multipurpose
There is a joke among the python community that it is second best at everything. And not many languages can afford to do that.
When it comes to broad usage and extensibility python is at its best.
Python, today is used in various fields be it but not limited to; Data-Science, Machine Learning, Backend for Web Development ( using flask
or Django framework
) and much more. For example the language R
is good for Data Science and Machine learning but nowhere when it comes to Web Development.
We can create web applications using pre-built frameworks like Django
and Flask
. Can do data analysis and visualization using numpy, scipy, scikit-learn, streamlit (A newly launched open-source framework for creating web based data apps ).
- Huge Community
Due to its enormous popularity, python boasts a huge community.
It's massive community can help you in programming errors or issues with the software. You can post your queries in community forums, and community members will address it in real quick time.
Due to its large community any bugs or glitches are often fixed timely and the software is well maintained.
- Jobs and Growth
As python is easily one of the most hot topic language across the world so the jobs come thick and quick.
Python is growing really fast and it makes a lot of sense to learn a growing major programming language if you are just starting your programming career. It not only help you to get a job quickly but also it will also accelerate your career growth.
Enough with the pros, lets see why Python should not be your first language -->
- Simplicity
No, it ain't a mistake, its a con too, Python's simplicity is a double edged sword.
Due to its simplicity and being closer to human language it is very easy to read and understand.
Even though simplicity is one of the main advantages of Python, this could be a con for programmers at times, especially when they are required to learn and code in other languages. Other languages may seem hard too learn because of more syntax and other features and you being in the
python ecosystem may feel it vile to do with that many syntax.
- Slow
Python code execution takes place with the help of an interpreter instead of the compiler.
The interpreter executes the code line by line, which causes it to slow down.
It is slow when compared to compiled languages like C/C++
or Go
. This is because it has quite a few features that slow it down, like being dynamically typed and having garbage collection.
- Runtime errors
Since Python language is dynamically typed so it has many design restrictions that are reported by some Python developers.
It is even seen that it requires more testing time, and the errors show up when the applications are finally run.
- Mobile application development
Even though Python is a server-side language, it is not the best one when it comes to mobile application development. Android and iOS application development are pretty much out of the question with Python. It is seen as a weak language for mobile computing.
- High Memory consumption
The memory consumption of Python is high due to the flexibility of the data types. Hence due to memory intensive task python may not be the right choice. However, for large and long-running systems developed using Python, dealing with memory management is difficult.
So, should you learn python as your first language or not?
Well for the starters python may seem to be very simple to learn. One can really start making stuff just after two or three weeks hands-on practice in python.
It depends whether or not it should be your first language. Like, if you want to remain focused and have only use of its Data analysis and Machine Learning capabilities then it should be your go to language to learn.
But if you want to make beautiful apps in mobile or want to do mobile computing then python shouldn't be your choice.
Enough said, Python is a language which is easy to learn and somewhat hard to master but it's all a part of the process. Hence, once through it there's no stopping you from making programs in python efficiently. So whether you're starting with programming and you haven't tried coding before python won't disappoint you but keep in mind the above points and you'll do just fine. 🎈