6 ms·
Is it just me who finds adjective "Pythonic" usage unnecessary and somewhat elitist? Let's be honest, there are no other language counterparts (Java as Javish?!
by CodeSheikh 8y ago
Is it just me who finds adjective "Pythonic" usage unnecessary and somewhat elitist? Let's be honest, there are no other language counterparts (Java as Javish?! or JS as JSish?!) for such adjective and "Pythonic" seems to be used by a sub-set of Python community. Basically it is idiomatic.
- smt88 8y agoI've seen C-like, Rusty, and ___Script (meaning related to JS). Lisp is a family. I'm not sure why you think "Pythonic" is some new vein of elitism, because to me it just seems like it's telling people that Coconut is easy to learn if you know/like Python already. That said, it immediately told me that I wouldn't be interested in Coconut, so I also found the label valuable as a non-Python person.
- mikekchar 8y agoTo be fair, back in the day, both Java and C# were intended to be C++-ish. Javascript itself was famously remodelled to be Java-ish. When Coffeescript came out, it intentionally modelled itself after the brevity of Python. There are lots of Lisp derivatives and Forth-likes (Forth-like is even a pretty established term). ML derivatives are popular. I don't think it's just Python. Edit: Of course I should have read TFA before replying. Of course this is not a Python like language, but a language that compiles to Python. I agree the cute name is confusing, but if the point is to compile to a specific language, saying what that language is is pretty important ;-)
- danso 8y agoBut Coconut seems to be a superset of Python (all valid Python is valid Coconut). Seems like a very good and succinct adjective to use to attract Python users who otherwise wouldn’t be interested in a new language.
- androidgirl 8y agoIt really does just mean idiomatic python. The word itself is almost a mash up of those two. And I don't see how that's a problem? Every language has a subculture around it, language specific jargon, even inside jokes. Pythonic stems from the idea of simple ways to do "stuff", and that's pretty much it.
- traverseda 8y agoI think that "pythonic" does mean something, and that when they say "pythonic" they are actually trying to communicate something. JS and Java... well they're not something I think a lot of programmers want to be. JS has a pretty complicated ecosystem that a lot of developers don't like. Java is good at what it's good at, but it's not very fun. What I see a lot of is "lisp" or "lisp-like" and "pythonic". Those languages are notable for being considered fun by a lot of programmers. But yes, it's idiomatic. Python is an idiomatic programming language that has sacrificed a lot for that ideology. Now that guido is gone it's less ideological, and we're getting things like type-hinting. When people try to apply that same ideology to other fields, sometimes they call it pythonic. When they try to apply the lisp ideology to other fields, they just call it a lisp dialect instead of lisp-ish.
- miohtama 8y agoGuido was working on Dropbox with Python. One of areas was type hinting (of large Dropbox Python codebase), so it is partially coming from him. Learnt this in Pycon 2014 if I recall correctly.
- bakery2k 8y agoThat's right - Guido has been very much in favour of adding type hints to Python. Are type hints Pythonic? I personally don't think so - to me, they don't match the philosophy of the rest of the language. On the other hand, one could argue that the definition of Pythonic is simply "whatever Guido likes".
- nicoburns 8y ago> JS and Java... well they're not something I think a lot of programmers want to be. I actually much prefer modern JS to modern python. JS is flexible enough to allow a functional-ish style, which greatly improves code clarity in my opinion. And of course you can still write python-style code if you want to. Python is a lot more opinionated!
- moolcool 8y agoI think it stems from Python's "There's only one right way to do things" philosophy. You can write Python that looks almost identical to Java, but that will likely be seen as overly verbose and complex in Python circles. I don't know if this is elitism, or just a desire for consistency and brevity among tools and libraries
- thebouv 8y agoI don't find it elitist, I find it Pythonic. Meaning, as an exmaple Java and JS aren't known for their constant references and inside jokes relating to Monty Python. That is part of the culture and community around Python. Saying something is Pythonic instead of saying it is idiomatic, is itself, Pythonic. It is part of the culture grown up around the language. And that's okay.
- ken 8y agoThere are plenty of counterparts. I've heard source code praised for being "Swifty", "Lispy", or "Forthy".
- ergothus 8y ago> Let's be honest, there are no other language counterparts (Java as Javish?! or JS as JSish?!) for such adjective I've seen it for other languages, including those two, and denying the term wont deny the concept. I've seen perl, python, and javascript written like C, java written like perl, etc. Its always a bad idea - each language has strengths in the ability to express concepts to other devs, part in syntax and part in conventions, and swimming upstream against those never helps anyone. (Evolution is great, chaos is not) None of which says that these terms CAN'T be used in an elitist way, but I dont see that as the primary purpose or use (at least in the circles I'm exposed to)
- 40acres 8y agoI find 'Pythonic' more of a higher level philosophy about what "good python style" looks like more than elitist, but I can see how it can be warped by an elitist mindset. Whenever I write Python I try to keep it 'pythonic' and that mainly means keeping things simple, very explicit, and concise. These are obviously traits that all developers want their code to have, but sometimes the syntactic sugar of a language can make it difficult, I think the Pythonic philosophy provides guardrails against this.
- zapzupnz 8y agoThere are counterparts in other languages. Idiomatic usage of Swift code is said to be "Swifty".
- darkpuma 8y agoAs far as the python community goes, the term 'pythonic' barely registers in terms of elitism. The phrase "for humans" comes to mind...
- pseudalopex 8y agoCoconut is a superset of Python. "Pythonic" doesn't just mean "idiomatic". Python has design principles[1] that influence new idioms. [1] https://www.python.org/dev/peps/pep-0020/ https://www.python.org/dev/peps/pep-0020/
- devxpy 8y agoIts a cult, man.