this post was submitted on 02 Nov 2024
270 points (98.2% liked)
Python
6360 readers
9 users here now
Welcome to the Python community on the programming.dev Lemmy instance!
📅 Events
Past
November 2023
- PyCon Ireland 2023, 11-12th
- PyData Tel Aviv 2023 14th
October 2023
- PyConES Canarias 2023, 6-8th
- DjangoCon US 2023, 16-20th (!django 💬)
July 2023
- PyDelhi Meetup, 2nd
- PyCon Israel, 4-5th
- DFW Pythoneers, 6th
- Django Girls Abraka, 6-7th
- SciPy 2023 10-16th, Austin
- IndyPy, 11th
- Leipzig Python User Group, 11th
- Austin Python, 12th
- EuroPython 2023, 17-23rd
- Austin Python: Evening of Coding, 18th
- PyHEP.dev 2023 - "Python in HEP" Developer's Workshop, 25th
August 2023
- PyLadies Dublin, 15th
- EuroSciPy 2023, 14-18th
September 2023
- PyData Amsterdam, 14-16th
- PyCon UK, 22nd - 25th
🐍 Python project:
- Python
- Documentation
- News & Blog
- Python Planet blog aggregator
💓 Python Community:
- #python IRC for general questions
- #python-dev IRC for CPython developers
- PySlackers Slack channel
- Python Discord server
- Python Weekly newsletters
- Mailing lists
- Forum
✨ Python Ecosystem:
🌌 Fediverse
Communities
- #python on Mastodon
- c/django on programming.dev
- c/pythorhead on lemmy.dbzer0.com
Projects
- Pythörhead: a Python library for interacting with Lemmy
- Plemmy: a Python package for accessing the Lemmy API
- pylemmy pylemmy enables simple access to Lemmy's API with Python
- mastodon.py, a Python wrapper for the Mastodon API
Feeds
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Yes:
We're talking about Typescript here. Also I did say that it has some big warts, but you can mostly avoid them with ESLint (and Typescript of course).
Let's not pretend Python doesn't have similar warts:
There's a whole very long list here. Don't get be wrong, Python does a decent job of not being crazy. But so does Typescript+ESLint.
"It's so bad I have resorted to using Docker whenever I use Python."
Why would you use the
is
operator like that?The lambda thing is from late binding, which I've had come up at work once. https://docs.python-guide.org/writing/gotchas/#late-binding-closures.
Do you not use containers when you deploy ? Everywhere I've worked in the past like 10 years has moved to containers.
Also this is the same energy as "JavaScript is so bad you've resorted to using a whole other language: Typescript"
To your point, typescript does solve a lot of problems. But the language it's built on top of it is extremely warty. Maybe we agree on that.
Why would you add two arrays like that?
No because I am not using Python to make a web app. That's not the only thing people write you know...
Well yeah. Typescript isn't really a new language. It's just type annotations for JavaScript (except for enums; long story). But yes JavaScript is pretty bad without Typescript.
But Typescript isn't a cop-out like Docker is.
Yeah definitely. You need to ban the warts but Typescript & ESLint do a pretty good job of that.
I mean I would still much rather write Dart or Rust but if I had to pick between Typescript and Python there's absolutely no way I'd pick Python (unless it was for AI).
The
is
operator is for identity, not equality. Your example is just using it weirdly in a way that most people wouldn't do.Agree to disagree then. We could argue all day but I think it's mostly opinion about what warts and tradeoffs are worth it, and you don't seem like you have no idea what you're talking about. Sometimes I meet junior developers who have only ever used javascript, and it's like (to borrow another contentious nerd topic) like meeting someone who's only ever played D&D talking about game design.
The + operator is for numbers or strings, not arrays. Your example is just using it weirdly in a way that most people wouldn't do.
I'm not defending Javascript's obviously terrible behaviour there. Just pointing out that Python has obviously terrible behaviours too. In both cases the solution is "don't do that, and use static analysis to make sure you don't do it accidentally".
Yeah I think you can generalise that to "have only ever used one language". I would say Python and Javascript are pretty close on the "noob level". By which I mean if you meet someone who has only ever written C++, Java, or Rust or whatever they're going to be a class above someone who has only ever written Python or Javascript.