Last week I published an article talking about how I learn a new programming language. To prove my point, I decided to start a new series on my blog where I learn a new programming language. In this case, I'm gonna start with Python.

How Do I Learn A New Programming Language?
From time to time, a new work related problem emerges needing special attention. Sometimes these problems are at the core of how the past and present programming languages were made to solve. As good software developers, we need to solve these problems with the best technologies that were made to s…

Python and I met a long time ago. It was one of my first contacts with software development. At the time, I didn't pay much attention to it and decided to learn PHP instead. Now with its increasing popularity, I decided to take another shot.

Following the principles of my last article, this is the first article from a series where I go deep into learning Python and applying it in real-world scenarios. Sit tight.

Why Was Python Created?

Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aimed to help programmers write clear, logical code for small and large-scale projects.
- Wikipedia

From my point of view, Rossum's goal was beautifully achieved. Due to it's increasing popularity and strong community, Python is everywhere and it kinda reminds me of JavaScript (please, don't kill me).

After reading its description, one thing that caught my eye was the "interpreted" part. That means the code must be read and interpreted by its underlying engine. I believe that is the only downside of using Python on a large scale or with more heavy-duty tasks.

Interpreted languages like Ruby, PHP, Perl, JavaScript, and PYTHON are way slower compared to C, Golang or Rust, which are compiled languages. I could write a whole article about compiled vs interpreted, trust me.

Here are a few links to back my point:

What Are Its Main Features?

Now that we know Python runs slower than compiled programming languages, what about the advantages? I can assure you that are many.

My favorite feature is the code syntax. Python's sugar syntax is so sweet that it gets me so lazy when I come back to JavaScript. I tried to solve a few problems on Project Euler and I was able to solve most of them using 3 lines of code or so, thanks to Python.

My second favorite feature is not specifically about Python because it envolves all interpreted languages. The fact that Python is interpreted, it gives us power and flexibility to change its runtime, debug code and override the language itself. That is powerful.

Here are a few more:

  • Easy to learn and use
  • Cross-platform
  • Open Source
  • Extensible
  • Easy integration with other languages
  • A large variety of stand and community libraries

Learning The Code Syntax

I ain't gonna tell you that I mastered Python's code syntax in a week, but after solving a few Project Euler's problems I few comfortable on taking more complex problems and projects.

As the problems grow harder, I start to do more research on how to solve the problems more elegantly and efficiently. That is just the way it is. You first solve the problem and then you refactor to a more elegant solution.

I have a few more long weeks to go, but it has been fun so far.

Summary

This first week trying to catch up with Python has been fun. I am excited about the upcoming weeks. I already have an idea of a project where Python fits perfectly.

If you liked this article and want to see my progress, tune in next week where I will be learning about Python's community and ecosystem. I'm gonna share a lot of resources I will come across along the way.

See you then!