Open laptop showing source code
Image credit: Emille Perron

Learning Python

My first programming language was Fortran. But I didn’t do much with it. It was many lives ago and it was in school and I couldn’t wrap my head around it. Then there was a long gap until I got my first own computer — a Dragon 32. It came with Basic and that’s when the journey really began. After that, a few Atari’s — first an Atari 800 and then an Atari ST. And, of course, they all had Basic.

Although, with the Atari ST I also started to dabble with RTOS and programming in C. This is also when I started buying and reading programming books. Just for reference, this was in the pre-Internet era 😉

This was also when I switched over to PCs. First an XT, then an AT, and then 386s, and so on. At this point I also started to program in Modula-2 and Pascal. There was also a bit of Assembly which I thought was less fun, and Forth which I thought was a lot of fun. In fact, I may get back into Forth again (adding to the list right now) 🤓

Then came the early web with a bit of Perl and Java, neither of which I used much or cared for. There was also a bit of C++ in there somewhere. Time of experimentation? Anyway, I view that time more as a “right of passage” … or part of “growing up” if you will. Mostly though, it was there and it’s what one did back in the “olden” (web) days.

However, I really enjoyed creating web pages so I got more into HTML and CSS — I know, these are technically not programming languages, but whatever. Then I got into JavaScript (long before there was Jquery!), mostly to add interactive features to web pages. On the backend, though, I dove head first into PHP. And, in fact, I stayed with PHP for many years and built many web applications with it.

Then in 2020 — maybe it was Covid that made me do it — I decided I should learn Python. I had dabbled a bit with Python before when I got into amassing a legion of Raspberry PIs. But this time I decided that I was going to learn Python properly and from the ground up. So … books were purchased, tutorials were studied, and exercises were completed. Beginner. Intermediate. Advanced.

Now, 2 years later, I’m working on quite a few non-trivial projects and I’m loving it. The funny thing, though, is that the deeper I get into the world of Python the less “advanced” I feel my code is. And I think I will always be “intermediate” and that’s ok. It doesn’t mean that my code or my projects or the language features I use aren’t sophisticated. It simply means that the more I learn, the more I understand how much more there is to learn and understand.

I think this is also why I like the world of Python so much. It is seemingly endless. Whether it’s small scripts to automate a few tasks, or complex API backends, or controlling servos and micro controllers, or machine learning and computer vision — it can all be done with Python. More importantly, though, there are so many Python communities out there, and chances are that no matter what one is trying to build, there’s community of great people with tons of knowledge that want to help when one is stuck.

Maybe I should get a Python logo tattoo? Hm 🤔

— // —
P.S. I have a list over in my Projects section of Python-related resources.