DEV Community

Cover image for Python - The Not So Good Parts
Chris Sean 🪐
Chris Sean 🪐

Posted on • Updated on

Python - The Not So Good Parts

Learning is an ongoing process: Although it's nice to know that there are some things we don't need to worry about when learning Python, they are few and far between. In the beginning, there were so many things I didn't understand that it felt like learning a new language all over again; however, with each passing day, I noticed my skills improving at a rate of knots. This isn't because I spent hours upon hours studying, but rather because I applied what I'd learned every chance I got.

Python can be frustrating:

Python and I didn't get along in the early days. There were several times when I nearly threw my laptop across the room in frustration but I reminded myself that learning a new language is more than just memorizing every single key command or function; it's about understanding how they relate to each other as well as what you can do with them. Frustration is natural, so don't be discouraged by it – embrace it!

If you feel yourself becoming frustrated, stop what you're doing and go do something else. You might come back to that task with an open mind and renewed enthusiasm.

What I find frustrating about Python is that it feels like a "quick-fix" solution to my programming problems. I can often find the answer to my problem with one google search and then apply a few lines of code. This is great during the early stages, but I've found that trying to implement this way of thinking into a larger project can be almost impossible.

Python is space sensitive:

Unlike other languages, Python is very particular about things being written in certain ways aka very space sensitive. This was extremely confusing for me at first, but I quickly learned to pay close attention to what I was typing. If a command or function didn't work the first thing I checked was my spacing.

Spacing is not the only thing that Python is sensitive about. There are actually several rules to follow and they vary from function to function… which can be extremely frustrating when you're trying to apply a function in one line but it refuses to work just because of space!

Python is lean:

While I'm not going to go into detail regarding this topic, I'd like to mention that Python (in case you're not aware) supports multiple versions of itself at the same time. Essentially, this means you could have two or more versions of Python installed on your computer without causing any issues.

For example, I've got both versions 3 and 2 running at the same time – The only difference is whenever I need to use one over the other (like for older projects that require Python2), I'll swap by using a command-line prompt/terminal.

In short, this means you can have the best of both worlds with regard to project support and having access to anything that's relevant at the time.

In Conclusion

Overall, Python isn't a bad language – It's just different to what I was previously used to. It took me a while to get used to its quirks and way of doing things. With time, patience and a little hard work, Python is definitely worth the investment!

If you're interested to learn more about Python I'd recommend taking a look at treehouse which is what I used to help me get my first developer job in 3 months.

Chris Sean
Developer Relations Engineer @ New Relic.
Check out and sign up for New Relic here :D

Top comments (2)

dean profile image
dean • Edited

I’m a bit confused about the case-sensitivity point, I’ve never used a programming language that wasnt case-sensitive! What are some examples of case-insensitive programs?

keppla profile image
Benjamin Köppchen

Imho, case-sensitivity is way more common.
Examples for case-insensitiviy are visual basic and (sometimes) sql.