• 0 Posts
  • 11 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle
  • 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 don’t agree. It’s a direct result of whitespace, which does not happen if you don’t use whitespace. For example it can happen in Java and kotlin, but only if you use if statements without braces, which you pretty much never see. If you do see it you know to look out for the exact issue I described. That’s not possible in Python, since there is no alternative.


  • That misleading behavior does happen in Python. The next programmer that comes along can’t tell if the original programmer fucked it up and didn’t unindent to put a statement outside of the block or if they meant to put it inside the block. I’ve debugged this one too many times and it takes hours each time because it’s impossible to see the bug at all!!



  • No, it really is unique to python. Most other languages have one or two package managers, not 15 (15 is not an exaggeration). Ruby has one. Rust has one. Java has two (maven and gradle). Elixir has one. Swift has one.

    Python programmers think it’s normal when it most definitely is not. Even your IntelliJ example isn’t correct because IntelliJ will literally install and set up the jdk for you, but pycharm is completely unable to do that and it’s not because JetBrains hasn’t tried. Python tooling is just really really really bad.


  • What I mean by that is that Python tooling is terrible. There’s five different ways to do everything, which you have to decide between, and in the end, they all have weird limitations (which is probably why four others exist).

    There’s actually at least 15 different ways (the fifteenth one is called rye and it’s where I got that article from). And yes your entire post is super accurate. The pycharm thing is ridiculous too because RubyMine is excellent in comparison. You just pull in a library with Ruby’s excellent (singular) package manager, and then RubyMine is able to autocomplete it pretty much perfectly. PyCharm can’t even manage to figure out that you added a new dependency to whatever flavor of the week package manager you’re using this time.