this post was submitted on 06 Nov 2024
192 points (98.0% liked)

Programming

17313 readers
449 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

So I'm no expert, but I have been a hobbyist C and Rust dev for a while now, and I've installed tons of programs from GitHub and whatnot that required manual compilation or other hoops to jump through, but I am constantly befuddled installing python apps. They seem to always need a very specific (often outdated) version of python, require a bunch of venv nonsense, googling gives tons of outdated info that no longer works, and generally seem incredibly not portable. As someone who doesn't work in python, it seems more obtuse than any other language's ecosystem. Why is it like this?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] -3 points 2 days ago (1 children)

This isn’t the answer you want, but Go(lang) is super easy to learn and has a ton of speed on python. Yes, it’s more difficult, but once you understand it, it’s got a lot going for it.

[–] [email protected] 4 points 1 day ago* (last edited 1 day ago) (1 children)

it's also not at all relevant. go is great, but this is about python.

[–] [email protected] 0 points 1 day ago (1 children)
[–] [email protected] 5 points 1 day ago (1 children)

this is not about offense! nobody is offended. but if you ask me for help with an apple pie and i tell you to make meatballs... it's a confusing lack of relevance.

[–] [email protected] -1 points 1 day ago (1 children)

I did lead with an appropriate request for a sidebar. I just feel the rip about context was even less appropriate. And apple cobbler would be a better comparison. Apples, just different.

[–] [email protected] 3 points 1 day ago (1 children)

it's not though. op has issues installing programs built in python. suggesting they rebuild those programs in go is 100% an apples to meatballs comparison, and way off topic.

[–] [email protected] -1 points 1 day ago (2 children)

They should get those same programs, but for Go. I’m sure someone has made whatever they’re doing. It would work better.

[–] [email protected] 2 points 1 day ago

such a weird take.

[–] [email protected] -2 points 1 day ago (1 children)

You're not wrong, but you have offended the python guys for suggesting they use something other than their toy language.
I personally look away when I find programs I want to use that are written in python. I don't have time to play with all that BS just to run a small software on my machine. Go is my go-to (heh) but any other modern language would be fine.

[–] [email protected] 2 points 1 day ago* (last edited 1 day ago) (1 children)

such a strange interpretation. i've been working in go for over 10 years now, and i love it. but the notion that you can "just find the same program but built in a different language" doesn't make sense at all.

like, if you're annoyed with pandoc being written in haskell and clogging up your system dependencies, you can't just "find another pandoc". there's nothing like it. same thing with curl, or xonsh, or thingsboard.

[–] [email protected] 1 points 1 day ago* (last edited 1 day ago) (1 children)

I agree in general, if you need something specific then there is no way around it. But when I'm looking for something I evaluate all possible solutions, and being written in a language that has issues like this is a mark against it. Sometimes it's easier to write the thing myself in some language I master than to wrangle python or Js dependencies.
In my experience there is rarely only one solution written in python or Js for my use cases.

[–] [email protected] 1 points 1 day ago (1 children)

that's posturing if anything. if you're an experienced developer it takes fully 10 minutes with either system. and if you're not interested in modifying it, just use a container image.

the only case where i would agree with you is when i have to modify LD_LIBRARY_PATH to get things to run...

[–] [email protected] 1 points 1 day ago (1 children)

Depends on what you're used to. I have lost too much time trying to get a python or js program to run on my machine.
Of course if the project is well written and with decent documentation it's easier, but in general I have had too many incompatibilities with versions of the tooling and the dependencies which may be too ancient to work properly. On the other side, go code that was written a decade ago still compiles fine without thinking about it.
Hell I even had a js project that was working then 6 months later, without changing any code in it, wouldn't build. Talking to a front end dev at work he immediately said "oh yeah node was probably updated and you need to do x and y to make it work". Sorry but I have other things to do than massaging bad tooling to build this.

Btw, even containers are not a bullet proof solution. I had a python container straight up not work even though it was distributed like that.

[–] [email protected] 1 points 1 day ago

i mean, that is the difference between interpreted and compiled.

if the container doesn't work though, that means it is broken and should be fixed. the point of them is literally to be plug-n-play. that would be like distributing a go binary with a segfault in main.