Welcome back! The other day I talked about why I love using Python, now let’s talk about the exact opposite. First off, I use Python pretty much every single day, it’s one of my “go to” languages, and even though I love it, there are some things that annoy me.

Package Installation

I will never understand this, but i’ve had so many issues on my specific environments installing Python packages. For starters, if you’re using Python 2 you need to use:

pip install #PACKAGE NAME

For Python 3 we use:

pip3 install #PACKAGE NAME

There have been many times where I accidentally install the wrong python package to the Python version and end up having to retrace my steps to reinstall the package. To most people, this maybe a non issue, but since I run into this issue I truly feel like others run into this issue as well. When I use a language like “R”, to install a package to any environment you use this specific line of code:

install.packages("NAME OF PACKAGE")

For some reason I prefer this method over the Pythonic way of doing so. To add, i’ve used several different computers and OS’s and I still experience some sort of issues when installing packages.

Python 2 Vs Python 3

So not too long ago, Python switched over from their previous version of Python (which was Python 2) to a newer version (Python 3). First of all, languages get updates all of the time, but the syntax between both languages are a little bit different, most the time it’s not too big of a deal, but sometimes you maybe scrolling through trying to find a specific answer to your problem, the answer may had been written in Python 2, but since you’re using Python 3 there can be a few differences, this can be a non-issue to most people, but sometimes there can be situations where a specific API or code block is written in Python 2, but if you’re using Python 3 there can be some inconsistencies. Also, if you’re working at a company, you must ensure that your team members are aware that you’re using Python 2 or Python 3 for the project, if a developer begins programming in the other language this could cause some inconsistencies to the code.

Example of Python 2 and Python 3:

#Python 2
print"Hello"
Output: Hello
#Python 3
print("Hello")
Output: Hello

Speed / Memory Management

One issue that i’ve had with a few Python projects I developed was the speed in which the program(s) ran. For example, I had this web scraping project that I built out using both Python / R, for some reason the R project seemed to be much faster than the Python project. I was essentially doing the same thing on both, no extra features or post processing on either one of them, and it seems like it’s a common issue with Python developers. Depending on the task, Python maybe a slower language to use compared to other corresponding languages to those projects. To add, i’ve seen a few situations where the Machine wouldn’t be able to finish up a specific task due to memory management problems, this can be a massive issue for someone developing out a massive project. If you only plan on writing small <100 lines of code projects then you should be okay, but i’ve had to restart many projects that were only around 1,000 lines of code due to memory issues.

And there you have it, I hope you don’t think that Python is a bad language, this language is one of my favorite languages out there, but as I stated before: I’m only critiquing this language because I use it all of the time. If you’re looking for a basic language to get started then Python is a great place to start!

Data Scientist / Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store