Since I first used Python back in 2012, I've come a long way. It was never my intention for Python to become another of the languages I know since I feel that I know enough languages as it is. Still, naturally, one of my university courses had to disagree with this and stick it in.
So I learned Python, all in the space of about 24 hours because the Python I learned before has been completely changed (other than one or two small things like the def: and the stupid lack of braces).
I've really come to dislike Python as a language though, and I'm sure I'm not the only one.
I believe the Python syntax is the worst syntax I've ever seen.
I mean the lack of braces and semi-colons (;) means that there are no line terminators and no nice structures generated by braces or even as shown in ZL a for is opened by the word for
optionally followed by a {
and terminated by either an end for
or a }
I like the way Python encourages indentation, but I hate this being an absolute requirement.
Python seems very ugly throughout; the use of the colon (:) before the body of a construct seems horrible. And the lack of the required brackets around a condition is even more horrid.
Another really awful discovery I made when messing about with Python is the fact that lambda functions can only be single-lined. I mean what? Even after 24 years of development (as old as I am!), this is still the case whereas in my 7-month-old ZL language lambda functions have no limit to their length. This is an absolute disgrace for any modern-day language as I see anonymous functions as one of the building blocks of ZL.
But perhaps the worst bit is the way that we declare things in Python. Since there is absolutely no need to specify a type variables need only be written as the name of the variable followed by an equal sign and then the value. Other weakly typed languages like PHP, JavaScript, my own ZL and so on have nicer ways of doing this like with PHP and ZL putting a $ sign in front of the name represents a variable. This makes it easier to distinguish variables. In JavaScript, variables are declared after a var
keyword.
Since I started to write my own programming language, ZL, I have become more of a snob towards languages that are, in my eyes at least, ugly. Python is my absolute least favourite while PHP comes up number one for inconsistencies (although it is improving, and it is still a better solution in my eyes than any other server-side language).
Python swiftly moved to my least favourite language just this month.
I mean, a language is a language and if you like it that's great, and my opinion is just an opinion and all I'm saying here is how I dislike certain things about Python. I'm interested in your opinions on this too by the way.