6 ms·
> Imagine a programming language with the syntax of python I am not sure when the python syntax become such a beacon of quality, but that makes me genuinely sa
by soulbadguy 4y ago
> Imagine a programming language with the syntax of python
I am not sure when the python syntax become such a beacon of quality, but that makes me genuinely sad; Especially with looking at all the other syntax (swift, kotlin, F#/ocaml, rust) out there.
- shogundev 4y agoI like swift and rust quite actually. Might make a shark VM from scratch in swift for the heck of it. :)
- cglong 4y agoI actually had someone disparage the F# syntax the other day, I guess because of its deviation from the top of the TIOBE Index :(
- aspyct 4y agoPython syntax is predictable, readable and concise. What else do you need?
- koito17 4y agoThat is not my experience having to deal with a Python codebase for the first time in my life recently. I do not enjoy attempting to understand the magical annotations everywhere, the terse, cryptic syntax of list comprehensions, random syntax trivia like array[::-1], tons of line noise in regular expressions, having to __format__ "private" symbols like this, and so on. I obviously don't have experience with Python, but the only good thing about the syntax to my eyes is the vertical space savings you gain by doing away with curly braces.
- dragonwriter 4y ago> having to __format__ “private” symbols like this, But…that’s not how you format “private” symbols in Python, conventionally; single leading underscore is; double leading is for identifiers you want mangled with classnames, and double leading and trailing is for special methods.
- Yoric 4y agoIn my book, special methods (aka protocols) are... well, let's say not the most beautiful part of Python. Lot's of poorly documented magic in there.
- TylerE 4y agoPython does not have private symbols. __foo__ is just convention
- ARandomerDude 4y agoConventions that strong might as well be mandatory — at least if you are a decent coworker.
- mkl 4y agoMagical annotations? Do you mean decorators? Or maybe types? Whether they're present at all depends on the code base, and most probably have neither. [i*i for i in range(10)] is hardly terse or cryptic. Python regular expressions are much like regular expressions anywhere else, so you're not really criticising Python there. You might need extra backslashes if you were trying to do them without raw strings (r'\s*' == '\\s*'), but that's hardly unique to Python either.
- Yoric 4y agoI've worked professionally in Python and I find decorators quite magic, indeed. For better and for worse.
- Hendrikto 4y ago> random syntax trivia like array[::-1] That‘s not random syntax trivia. It‘s a slice. Pretty generic and straighforward.
- renox 4y agoRust as an example of good syntax, seriously? I don't know Rust but when I see examples they're not especially readable.. That said system languages have a disadvantage, they can't even concatenate two strings 'simply'.
- Yoric 4y agoAs a long-time Rust programmer, I agree that the syntax is not the most readable around. That being said, string concatenation is only marginally related to syntax. It's a matter of semantics, which go much deeper. There is a very good reason for which string concatenation isn't simpler in Rust.