this post was submitted on 16 Sep 2024
449 points (97.3% liked)
Programmer Humor
19623 readers
2719 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
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
Ruby, of all the examples you could come up with? My Redmine is updated only every few years because I rarely have a whole day to deal with the mess that is Ruby deps managent.
Java deals with this ellegantly.
Huh? I assume you mean RubyMine and I have no clue what dependency issues you could be dealing with unless you’re on windows (which python is even worse with). You have one package manager and one build tool on Ruby, compared to Python’s now 16 tools. Ruby is the gold star for package management which is why both Rust and Elixir copied enormous parts of it when creating their tools cargo and mix.
https://www.redmine.org/ is a standard rails webapp. Nothing special. Straightforward to update, just a few commands, the only quirk is that at least one step always fails. Some obscure bug in a dependency, some problem with expected vs installed system libraries, or my favourite, a Segmentation Fault.
Conflating a Ruby on Rails app to all of Ruby is just not really fair. It’s like comparing Lombok to Java. Lombok is a hot fucking mess and Java app with it is gonna have difficulty at later points.
Aside from that (I think rails is honestly terrible), just looking at the repo I can see that RedMine doesn’t use
bundler
, which is the singular standard in the Ruby community, so it’s like saying “a project I use uses Ant under the hood so Java is bad”. Like I said, there’s a reason that Rust and Elixir based their build tools off of Ruby’s.I haven't had any problems with redmine itself but with dependencies and the Ruby runtime.
And if you're saying I don't have enough experience to make claims about Ruby dep management, I can say the same about you Python. Works flawlessly for me.
I have thousands of hours programming in python. Ruby is several thousands more. I know exactly how shit the Python ecosystem is. https://chriswarrick.com/blog/2023/01/15/how-to-improve-python-packaging/
(Now we’re at 15 now since that article came out, with the introduction of Rye).