Okay, so some background. I've actually hated Python before. I forgot why I hated it, probably because of the lack of braces, the cryptic help function (keep in mind I was 10 at this moment), the fact I can't install packages from the IDLE, or something else. Either I just forgotten why, or maybe Monty the psychic brainwashed me so I forget the reason. I don't know.
Anyway, because of this thing called TensorFlow (and carykh), I eventually tried it properly when I was around 13. I remember my first Python program at that point (in fact, my very first AI-related project comes in 3rd on that list). And since I learned about Google Colab from TensorFlow's website, I use Python more and more until I declared it as my main programming language.
Looking back at the things I used to hate on Python, I found the braces thing to be somewhat odd, as in I don't find any reason on why I hated it. Maybe the Monty psychic have touched it, or it's merely just the Mandela effect on how people quoted Python's lack of braces as their pet peeve. But that doesn't stopped me on asking "why the braces?"
Before you say something like "it's more readable that way", I just want to say that braces are not necessarily the thing that makes languages readable. As someone that I like to call a "polyglot programmer", I see Python's lack of braces as its syntax quirk, just as how Rust uses "mut" to define mutable variables. These are slight differences in syntax that's considered unorthodox to some people. These exists to fulfil a certain need, or to suggest a certain coding style; for example Rust's "mut" is for the people that wants their variables to be immutable by default, and Java's verbosity is for... the people that wants it. Note that syntax quirks do not directly correlate to how readable the overall code will look like; that is dependent to their one's preference. For example, while the Lua people say that "do ... end" code blocks delimiters are readable since it looks like English, I actually hated them because they blend in with the code, and thus they are hard to distingush from other lines at a glance (that's actually my pet peeve).
That argument could be applied to Python's way to use tabulation to define a code block as well. I can see some reason why Python use tabs to define code blocks: it makes it look like a to-do list for when a certain condition is met. But I'm pretty sure other people opinions differ. That's why I made this topic. I want to see what people think on this system and for others to see it.
I'm not making this topic to express hate to one's preferences. It's just I'm curious on what people think of on the syntax quirk that is Python's lack of braces. (I think I've said braces too much.) Discussions are welcome, but please don't start a flame war. I might generalize this topic, but I don't know how.
(Context: I was about to send this to the Scratch Forums but I’m not feeling it so I post it here instead)
Haskell actually does it too, and I don’t see anyone complaining about that.