Choosing your first programming language can be a difficult decision to make. You’ll be spending a lot of time with it and it’s not always just a walk in the park along the way. There are plenty of suitable languages for a beginner with enough resources online alone for learning pretty much any language out there. For me, Python was the first language I became acquainted with. This post is about all the good experience I’ve gathered so far and why Python is a great first programming language for anyone.
— See also: How to Choose Your First Programming Language
Python is administered by the non-profit Python Software Foundation. It’s is a high-level programming language, meaning it’s far from a machine language, making it easier for beginners to grasp. Furthermore, being general-purpose programming language, Python is quite versatile for different sorts of projects.
Python was first released in 1991. So we’re not talking about something new in the market. However, Python’s experienced somewhat of a boom in the past years.
Why Python Is a Great First Programming Language
First off: everything you need for writing Python is free and available online! The language is open source and free to use for everyone, even for commercial projects and applications.
Basically you just need to install Python on your computer and pick a text editor to write your code. Then just use your Terminal to execute your programs or alternatively use the platforms offered by some text editors.
There are plenty of reasons why Python is well-suited for anyone just getting into programming. Let me point out that, since it was my first language, I might be a bit biased. You know, like moms are with their first children.
Anyways, I’ll be going through the following points in this post that make Python a great choice in my eyes:
- Clear, readable syntax
- Quick progression
- Widely available resources
- Supportive community
Let’s get started!
1. Clear, readable syntax
One of the fundamental ideas behind Python is to facilitate writing easily readable, “clean” code. Moreover, the code is relatively easy to read since it somewhat resembles everyday English. This makes it easier to type than some other languages, too.
Additionally, the language uses proper indentation as an additional, “forced” way of making the code clearer and more structured. At least in my eyes, that it.
For anyone writing and reading code in Python, this all helps spot the eventual errors and bugs in the code, too.
To further emphasise some Python fundamentals, here are a few points from the core philosophy of the language, “The Zen of Python”:
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
To read the Zen in full, start your Python Shell and type the following and hit Enter:
2. Quick progression
Once you start with Python, you’ll soon be writing small programs of your own. Thanks to the clear and easy-to-learn syntax, you won’t be stuck with getting the hang of the basic dynamics of the language. Therefore, Python lets you start thinking like a programmer rather quickly. You will be able to focus on learning programming paradigms and other higher-level concepts.
I found it extremely helpful for beginners that Python reads so much like English. For solving problems, you can write some “pseudo code” first, listing the procedures necessary to reach the goal and solve the problem.
After a few days of practice with Python, your pseudo code will magically start to resemble real Python code.
In other words, Python’s simple and clear syntax allows you to focus on creating solutions for your problems quickly. This was one of the things that kept me motivated with Python: being able to write your own little programs so soon felt great!
Since it’s a general-purpose language, programmers use Python for a variety of programming projects. Whether you want to do data mining, code web scrapers, program games, create web apps, or do machine learning, Python offers the tools for you.
For a beginner in programming, this versatility is awesome. You might not have a very clear idea of what it is exactly that you wish to achieve with programming. When you go through a few exercises in several practical applications, you’ll soon spot the ones you find most intriguing. Furthermore, for this same reason you will find it easy to tell whether a field you first were interested in really is your thing.
Another point worth mentioning is the wide collection of standard libraries and additional packages. A library is like a collection of “books” that extend your program’s functionalities and help you solve specific tasks with Python. This makes it easier for even beginners to start working on practical projects early on. To mention a few, take a look at these:
- Pygal, a data analysis and visualisation library for interactive SVG graphs
- matplotlib, a plotting library popular among data scientists and academic researchers
- Pygame for developing games
- Django, a framework for developing web apps, easy to learn, a great alternative to Ruby on Rails
— See also: Why I Started to Teach Myself to Code
4. Widely available resources
It’s really easy to get started with Python by taking an online course. However, the Web is packed with programming tutorials, courses, forums, and other resources. It can get a bit much sometimes, which is why I’ve listed my favourite resources for beginners to start with Python right here:
- Codeacademy: Their Python course is excellent for beginners to get the hang of the basic concepts of the language. Gamified learning works well in this case in my opinion, and the exercises are enough to tell if Python works for you. A great place to start at!
- Python Crash Course: This book is my absolute go-to! I got my hands on it when I first started with Python and it’s in my bookcase to stay. The author has an awesome approach, he makes sure beginners are not left alone at any point. Great exercises, even greater practical projects.
- Exercism: Good exercises for practicing your newly acquired skills from Codeacademy, for example.
- Learn Python the Hard Way: This book will make Python familiar to you in no time. It’s consistent, to the point, and it makes you go through the “boring” stuff too to understand the language better. Follow through and you’ll see results sooner than you thought.
- Intro to Computer Science at Udacity: A great course for Python beginners. Suitable for intermediate programmers, too. The main project in the course is pretty cool: you’ll learn how to program a basic framework for a search engine. The instructor does a great job, throwing in a few jokes here and there.
5. Supportive community
When you start with projects of your own with Python, you will definitely come across a problem or two with you code. To help you out, the community around Python and the different packages and frameworks offer you support such as:
- Python Documentation by the Python Software Foundation
- Python forums such as Python-Forum.io
- PyCon conferences, several times each year
- Django documentation for support with Django
Furthermore, you will find plenty of Q&A across the Web. Try looking for an answer to a specific question on Stack Overflow, for example.
Summing it all up
Python has plenty of nice attractive characteristics for beginners in programming. So while you’re considering which language to pick as your first programming language, think about giving Python a chance.
Looking back to how my journey with Python has been, I can’t believe how quickly I picked it up and was able to write small programs of my own. About four weeks after I had initially started with Python, I already had my first web application up and running. It wasn’t anything too fancy, but it was an excellent starting point for further ideas and development.
All in all, I think the progress I first made with Python was quite amazing. I tried to spend around 2 hours a day coding and practicing. That’s quite a lot if you run a busy schedule, but less will do too. I have a full-time job, so I did my best to rethink my schedule.
After setting new priorities, it was no problem for me to dedicate the time to Python. Try the Pomodoro approach, for example: work in 25-minute intervals with short breaks in between. All that matters is that you start and keep going!
If you’re interested in Python, take a closer look at some of the resources I mentioned and let me know how it goes! I’ll be happy to answer your questions about my Python trip so far as well, of course. Comment below or contact me anytime!
If you liked reading this post, please feel free to share it with others!