Yes I know that statement above is pretty much unheard of. Before I explain, let me give you some background.
So as we all know there is no such thing as the “best” language, i.e the language that you should use for everything. Each language has its own uses in its own specific problem domain. Since each language has its own unique strengths, weakness, and paradigms that it caters to, like Java with OOP or Scala with functional programming.
For example if you want to write fast, highly efficient code that can run on embedded systems like those found in a CAN-Bus hub, you should use C, C++, or assembly. Where as if you wanted to write super interactive web applications you should use some form of Java Script, or something that ends up compiling to Java Script.
However in this day and age, almost every single widely used programming language is multi paradigm and can compile to something that can run on multiple platforms.
So the question is “With so much selection, why use Python ?”.
Python is a language that is almost universally loved by small children, to Google engineers. One of the main reasons for it adoption and wide use is that it’s syntax looks like pseudo code. Which is a great thing, since it lets you tell a machine what to do in a almost human like language. Thus the difference between what you want the computer to do, and what you have to write in order for the computer to do it, becomes minimal.
My biggest problem with Python is that it forces you to write code in a certain way. The pythonic way aka the thoughtful, zen like way, stressing “less is more” and “clean code is good code”. This way of programming does not suit us all. Some of us are cowboys or cowgirls, we shoot first and think later. Us cowboys and cowgirls like to really experiment with what works and what does not work, we really like to tinker with our code till we get it right.
Other languages don’t really care, they know that they are. They are simply a means to an end. You can be that gun-sling cowboy or cowgirl that codes before even having a good idea about what he or she has to do. You can get into a stack-overflow frenzy of copy pasting code, ripping out what works and what doesn’t. And you eventually end up with something that works. You may ask “can’t you do that with python too ?” well kinda… see python does not have the greatest piece of programming syntax ever. It doesn’t have the “}” . So if you trying to be that cowboy or cowgirl you will end up with parsing errors galore or end up have to re-indent all of your code, just to get it to run.
Honestly I think python would end up being the greatest programming language ever, if it just had curly braces 😦