Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Thanks for the tool. This is pretty neat.

It’s almost comical to see “why Python” comments after all these years. I would’ve chosen Go to write this, but that’s beside the point.

Yes, Python installation is tricky, dependency management is a mess (even with uv, since it’s not standard tooling; another one will pop up), and performance is atrocious. But even then, some Python libraries have bigger communities than the combined communities of all these “better, faster, more awesome” languages.

Python is here to stay. Newcomers love it because you need to know so little to get started. People don’t care about the little quirks when they begin, and eventually they just live with the warts. That’s fine. LLMs write better Python than Go (my preferred language, or whatever yours is). And if you know anything about the AI research community, it’s C++, C, Python or GTFO.

Going forward, a lot more tools will be written in Python, mostly by people entering the field. On top of that, there’s a huge number of active Python veterans churning out code faster than ever. The network effect keeps on giving.

So whatever language you have in mind, it’s going to be niche compared to Python or JS. I don’t like it either. But if languages and tools were chosen on merit instead of tribalism, we wouldn’t be in this JS clusterfuck on the web.



I love python, have used it for years. I hate the dependency and multiple interpreter situation.

A great PL should stand on its own without the need for external tooling.

At this point I have given up on python except for if it’s a little script that only uses standard libraries. Otherwise I’m choosing a compiled language.

Some more thoughts: http://calvinlc.com/p/2025/06/10/thank-you-and-goodbye-pytho...


I use python without any dependencies on web servers. Pip is cool, but you don't need to get pulled into the node-like dependecy hell.

For example instead of requests, you can use http.client, instead of flask, http.server, or socket.tcpserver, or just socket. If you want sqlite, don't jump to pip install sqlite or whatever, use sockets to talk to it.


How do you use only sockets to talk to sqlite?


Why do you need to do that when Python has built in sqlite3 support?


Right, my bad, I was thinking of psql or mysql.

If you had to use sqlite without library, you can trivially call the c api from python directly with the ctypes builtin (or compile a python module with c api)


> It’s almost comical to see “why Python” comments ... Yes, Python installation is tricky, dependency management is a mess (even with uv, since it’s not standard tooling; another one will pop up), and performance is atrocious. But ... Newcomers love it because you need to know so little to get started. People don’t care about the little quirks when they begin, and eventually they just live with the warts.

I'm not sure if this is news to you or if you already know it, but, just to be explicit -- you know that the overwhelming majority of end users aren't gonna have `pip` installed on their systems, right? And that any project with "Installation instructions" that begin with a `pip` command aren't really gonna work in the general case?

Just wanna make sure that's well-understood... it's fine if you wanna build a tool in Python, but if you expect it to be practically usable, you need to do distribution of binaries, not `pip` targets...


This point has been pummeled to death for decades. Before Python, people did the same with Ruby and “gem.” Literally nothing is new here.

One of the reasons I write my tools in Go is exactly this. But if the tool was written in Go, people would complain about why not Rust and such. The point wasn’t to convey that Python doesn’t have its fair share of flaws, but to underscore that the HN crowd doesn’t represent any significant majority. The outside world keeps on using Python, and the number of Go or Rust users is most likely less than PyTorch or Scikit-learn users.

Shipping Python is hard and the language is slow. Also, tooling is bad. The newfangled ones are just a few in the long stream of ad hoc tooling over the past 20 years. Yet people write Python and will continue to do so. JS has a similar story, but it’s just a 10x worse language than Python.


Let me be even more explicit: if your installation instructions are `pip install ...` -- or `npm install ...` for that matter -- then you are automatically excluding a super-majority of potential users.


I don’t even write python these days. I just wrote my own version of a terminal llm-caller[^1] in Go for this exact same reason.

There’s a famous one that does the same thing but is written in Python. So it has its issues.

My point is, pip exists in most machines. pip install sucks but it’s not the end of the world. HN crowd (including myself) has a tendency to beat around the bush about things that the majority don’t care about IRL.

[1]: https://github.com/rednafi/q


You only have to install pip once. It’s a one-time set and forget operation. And with conda, it’s even easier with just click and install.


Even if `pip` is installed, it doesn't solve the problem of reliable reproducibility, because `pip install <identifier>` doesn't have deterministic results, it behaves differently based on arbitrary, implicit, and un-documented host-specific properties -- like, which version of python is used, which set of dependencies are used, etc. And what the hell is conda?


it’s harder to distribute software written in python via eg package manager compared to compilable languages.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: