By Eduardo de la Garza Guerra
On November 03, 2024
You want to start coding and you have a lot of questions in your mind. What language should I learn? What database, cloud and editor should I use? How do I start and deploy a project? Maybe, the most impactful decision will be the language you decide to learn, as it will be the glue that holds everything together. In this article, I will make my case for why I think Python should be your first language and get you started on how to start a Python project.
This article is meant to allow someone that is curious about programming to start building their first project. Its meant to be a guide about the practical side of starting to code. It is not meant to be a comprehensive guide to Python or programming. Hoever, it does encapsulate some key pieces of knowledge that took me years to get and I use everyday on new and old Python project. This is the guide I wish I would have had and my goal was to give you a solid hands on place to start your programming journey.
All the code that I will show in this guide is also available on Github here.
There are hundreds of programming languages, and for someone starting out it can be hard to make a decision about which to pick. However, when you look into it the decision can be pretty straight forward. While there are hundreds of languages, only about a docen or so are widely used and most of them are not good choices for someone looking to learn to build something useful fast.
To me, specially if you want to learn by building the are really only 2 choices: Python and JavaScript. These languages have the the biggest communities, the most libraries (additional free functionalities that you can install built by other people), and the largest markets. There is a reason they are number 1 and 2 in most of the rankings. There are other really good languages like Go, Java, C++ and many others. And they exist for a reason but to me they require more in depth knowledge, have a bigger learning curve, and have smaller communities.
Source: Github Octoverse
Javascript is the king of user interfaces and if that is what you want to exclusively focus on then learning Javascript and React might be the way to go. However Python can also be used to create applications with libraries like Django, FastAPI and HTMX. And at the same time it can do many more things that Javascript struggles to do like data analysis, machine learning, systems and infrastructure, and much more.
In a nutshell Python has the largest number of use cases, thanks to its huge number of libraries and communities. It is easy to learn, read and write. It is also easy to develop in and to deploy to the cloud. The main drawback Python has is its performance, but unless you have thousands of users or have very specific requirements this probably wont be your bottleneck. Don't think that I mean that Python is slow, many of the libraries you will install are written in other faster languages which makes those parts fast. Also, there are many ways in which you can optimice your Python code and often optimized Python code can be more than performant enough.
Python will allow you to unleash your creativity and learn while focusing on developing the products and services that you actually care about. Python is much more than a programming language, it is a complete ecosystem built by thousands of individuals around the world that will allow you to build anything you can imagine.