Partially unrelated to the meme, but I find it almost malicious how some python keywords are named differently from the nearly universal counterpart of other languagues.
This/self, continue/pass, except/catch and they couldn’t find a different word for switch so they just didn’t implement it.
It’s as if the original designers purposefully wanted to be different for the sake of it.
pass and continue are absolutely not equal (pass is a noop, and python has a continue keyword that does what you think), and switch is called match like in many other languages. except is weird though.
Iv come to loathe the “pythonic way” because of this. They claim they wanted to make programming easier, but they sure went out of their way to not follow conventions and make it difficult to relearn. For example, for me not having lambdas makes python even more complex to work with. List operations are incredibly easy with map and filter, but they decided lambdas weren’t “pythonic” and so we have these big cumbersome things instead with wildly different syntax.
Speaking of big cumbersome things with wildly different syntax have you tried a ternary operation in python lately? Omg that thing is ugly. JavaScripts is hard to beat.
That’s just because you’re used to it. The pythonic ternary is structured like spoken language, which makes it easier to read, especially if you nest them.
Is there an objective argument for the conventional ternary, other than „That’s how we’ve always done it!“?
I mean, there is a lot wrong with it, but every language has its quirks. Generally I like discussing it’s actual flaws cause it helps me better understand the language.
You could use “this” instead of “self”. And if you want a lynch mob of Python programmers outside your house, make a push request with that to some commonly used package.
only github users. git itself doesn’t have PRs, and other forges call them different things. gitlab calls them merge requests, pico calls them patch requests…
Partially unrelated to the meme, but I find it almost malicious how some python keywords are named differently from the nearly universal counterpart of other languagues.
This/self, continue/pass, except/catch and they couldn’t find a different word for switch so they just didn’t implement it.
It’s as if the original designers purposefully wanted to be different for the sake of it.
PHP naming “::” a Paamayim Nekudotayim is also pretty infamous.
When I’m designing shit, I’m pretty zealous about borrowing terminology from anything even vaguely related to avoid this.
pass and continue are absolutely not equal (pass is a noop, and python has a continue keyword that does what you think), and switch is called match like in many other languages. except is weird though.
“except” is also used in Pascal (or at least the main derivatives of it), but not sure if that’s older than its use in Python or not.
Iv come to loathe the “pythonic way” because of this. They claim they wanted to make programming easier, but they sure went out of their way to not follow conventions and make it difficult to relearn. For example, for me not having lambdas makes python even more complex to work with. List operations are incredibly easy with map and filter, but they decided lambdas weren’t “pythonic” and so we have these big cumbersome things instead with wildly different syntax.
Speaking of big cumbersome things with wildly different syntax have you tried a ternary operation in python lately? Omg that thing is ugly. JavaScripts is hard to beat.
uglyTernary = True: if python_syntax == “shit” else: False prettyTernary = javascript_syntax == “pretty” ? true : false
That’s just because you’re used to it. The pythonic ternary is structured like spoken language, which makes it easier to read, especially if you nest them.
Is there an objective argument for the conventional ternary, other than „That’s how we’ve always done it!“?
Maybe I’m missing something, but:
So much Python criticism comes from people who don’t know the language.
I mean, there is a lot wrong with it, but every language has its quirks. Generally I like discussing it’s actual flaws cause it helps me better understand the language.
And switch cases (called match cases) are there as well.
I use lambdas all the time to shovel GTK signal emitions from worker threads into GLib.idle_add in a single line, works as you’d expect.
Previous commenters probably didn’t look at Python in a really long time.
Tf, who needs lambdas in python?
I read that
self
as a keyword also has quite a history. It was already used in Smalltalk, an OOP language from the early 80’s.Isn’t self not actually a keyword? Like you can name the first variable in a class method anything and it will behave like self.
You could use “this” instead of “self”. And if you want a lynch mob of Python programmers outside your house, make a push request with that to some commonly used package.
I think there will be a lynch mob of git users outside your house for calling PR as “push request”.
only github users. git itself doesn’t have PRs, and other forges call them different things. gitlab calls them merge requests, pico calls them patch requests…
I’ve been wondering about the noise.
Edit: turns out, they weren’t there to lynch me. They just gave me a two hour lecture on proper usage of git.
TECHNICALLY, there is no such thing as a pull request in git. That’s a Github convention. It’s really a merge request
e: drat someone already out-pedantic’d me
You could even choose the name this.
List instead of array, dict instead on object (tho it also has objects)