Whether you are an advanced programmer or just a beginner, Learning python is actually fun, before you assume anything I’m also a beginner just like you, I started learning HTML and CSS at a young age and continued my learning journey with C# and C++, if you’re just starting out learning one of the last two languages is not recommended, and this post you’re going to know why you should learn Python instead.
I’ve started learning this beautiful language about a month ago, despite that I had some difficulties but I’m still learning it and like it.
What is Python Used For
Python is used for a lot of things, mostly web and desktop applications in addition to Artificial Intelligence and Machine Learning which is considered the future nowadays.
Here are some examples of some of the most famous applications or websites which were built using Python or Python was a part of.
Google, Dropbox, YouTube, Quora, Instagram, Netflix and maybe Reddit, I’m not sure about the last one though.
As you can see, it was used in a lot of famous projects.
Advantages of Python
Syntax
Unlike any programming language out there, Python has one of the easiest to work with Syntax, it’s designed so it doesn’t take you ten lines of code to execute a simple task, for example, you can implement a specific with just two lines of code whereas in C++ it may take 5 lines.
Remember semicolons? Forget about’em, Python neglects them so your code can look more beautiful and clean.
Readability
With simple Syntax comes great Readability, Python is a more user-friendly language, it means if you let a non-programmer read your code the chances are he will, it’s because it’s designed so it looks like English, more readable and easier to understand (if not this then that)
Versatility
Python is a high-level and general purpose programming language which can be used for a lot of things and on different operating systems like windows, Mac and Linux as well as Mobile apps development.
It’s also used for building websites using the famous framework Django.
Automation
I’m not exactly about this point, as I have told you before, I’m just like (a bit more than a beginner) I’m not an expert or anything to say that Python is famous for automating the boring stuff (that’s also the name of a famous book called “Automate the Boring Stuff with Python“) but I’ve seen it a lot, you can use Python to automate simple and repetitive stuff that may take ages to finish, you name it, whether it’s a spreadsheet of 1000s of rows or if you’re an accountant or a data scientist… and the list goes on and on.
For me, I like the fact that I can automate almost anything boring or that’s gonna take me hours to complete.
Huge and Supportive Community
During my short journey when learning Python I’ve seen or heard this a lot (Python has a huge community) Which means if you had any question or you were stuck or anything you’d always find someone who’s ready to help, never be shy, making mistakes and asking a lot of questions will make you better and better.
Jobs
According to Daxx.com and Gooroo, the average salary for a Python developer in the US is $116,379 as of 2018, this number may differ from one state to another.
Also, check this out…
Disadvantages of Python
The world is not all pink, unfortunately, while Python is a great starting point for a lot of programmers it’s not an ideal solution for everything and here’s why.
Speed
Python is slow, you’re going to see this a lot, remember when I said that its Syntax is easy and fun? Well, that’s a downside too, in other programing languages you must declare the type of the variable before using it, like int, float, and string… etc, in Python you don’t do that, instead, Python knows immediately what type this variable is at runtime (takes more time to predict the variable type), which makes it slow compared to other languages.
Mobile Applications
It’s true that Python can be used for building mobile applications but it’s not recommended, you won’t find many famous apps out there that was built by Python, however, if you’re more into mobile apps development you should go for Java.
CPU and Memory Consumption
I’m not familiar with this but I included it anyway, while doing my research for this post, a lot of people have mentioned that Python consumes so much memory and CPU and stuff like multi-processor support, you should do more research about this if you that much about performance.
3D Games Development
Oh! Games, games, and games, even though Python has a famous library called Pygame which enables you to build simple GUI games it’s not well known for developing big 3D games like the ones you see today, I think C# or C++ are used for this kind of stuff.
I think after all these disadvantages I got disappointed 😅
What is python used for at google
Python is being used at Google for certain stuff like Google App Engine which allows building web applications using Python and I think they also use it for tasks or processes that involve machine learning to better understand the user’s search intent, it’s also used in YouTube, you can refer to this page for more information https://quintagroup.com/cms/python/google
Recommend Resources to Learn Python
These are the resources I use myself to learn Python, don’t just rely in one source, surf the whole web but you better start with these ones.
Programming by Mosh
Mosh Hamedani is a wonderful guy, he has an amazing YouTube channel with over 300k subscribers, I recommend you follow him if you’re interested in learning programming languages other than python, I also think the video above is a great starting point, it’s a 6 hours video so don’t get bored quickly, ho goes over a lot of things in Python and ends this long video with 3 amazing projects which involve Machine Learning, Automation, and a web application.
PyTutorials
PyTutorials is a tiny yet amazing YouTube channel that has a lot of tutorials about Python alone, the instructor talks quickly so you should slow it down a bit especially if you were a non-native English speaker like me.
Python Programmer
Python Programmer is another YouTube channel owned by Giles McMullen-Klein, it’s dedicated to teaching Python tutorials only, the channel is a bit bigger than the last one, it has over 50k subscribers which is not bad by the way.
W3C School
I think you might be familiar with one, W3C School is a great and comprehensive resource for learning Python, you may to check it out because it has a lot of exercises to help get better, you can start here to practice your skills right away.
W3resource
This site is similar to the previous one except for the number of exercises you have access to, a lot of ideas to start working on, check the left panel and start practicing what you’ve learned so far, visit the site here.
Stack Overflow
Stack Overflow is a great online community and it’s the number 1 to visit if you had any questions or issues when learning Python, it has a lot of members who are ready to answer your questions.
Books
I haven’t tried this one yet but there are a couple or more books that people always recommend, the first one is and I mentioned it above is…
Automate the Boring Stuff with Python by Al Sweigart
I think this is my favorite even though I haven’t read it yet, I like automating stuff, I mean who doesn’t? in a nutshell, this book will teach you how to save hours of boring work by automating it within a few minutes, visit their official site here
The second one is Learn Python the Hard Way
I don’t know much about this one but it’s so popular among other programmers, the book is beginner friendly so don’t get tricked by the name of the book :D, visit their website here