← Back to context

Comment by mdaniel

2 days ago

I am not trying to start trouble, or a heated debate, but I did want to say that my experience was the same as OPs and I am also coming from a static typing background so that likely explains my having a similar experience and expectations. I did for sure use RubyMine for attempting a change, so not "vim and yolo" but rather world class tooling and trying to discern where any random symbol came from was oppressively hard

That's not even getting into attempting to use their "happy path" <https://gitlab.com/gitlab-org/gitlab/-/blob/v18.2.1-ee/.gitp...> -> https://gitlab.com/gitlab-org/gitlab-development-kit#local which I found just incredibly challenging getting it to use my copies of the repos. But, just like in every one of these conversations, it's been a number of years since I tried it so maybe it's much better now

I wasn't either, believe it or not! :)

But I was responding specifically to "in Ruby, so the chance of being able to actually modify it ... is near zero", which does not address the real issue.

It's perfectly possible to write simple, clear code in Ruby (and Rails!), but I'll concede that GitLab is not the best example of that.

If OP had said ~"... and the GitLab codebase is large and can be difficult to navigate and make drop-in contributions to ... also I have an aversion to dynamically-typed languages" :) ... then I wouldn't have bothered commenting.

  • I have an aversion to dynamically-typed languages because of these problems. It's not some random preference.

    > You don't want to learn Ruby or Rails

    Learning Ruby or Rails wasn't the problem. The Ruby language itself is fairly trivial. The issue is the lack of static types, and the fact that you can't even fall back to grep.

    I know Python very well but it is almost as difficult to edit large Python codebases with no type hints. (It's not quite as bad because most Python code is greppable.)

    • Ruby and Rails work perfectly well for many many people, and you have chosen not to be one of them. That's a valid choice, but it's your choice and nothing more. It really isn't much about Ruby or Rails.

      I grep through Rails code bases all the time. It is my first-choice method of discovery. In the very rare cases where it does not work immediately, I set a breakpoint and run from the REPL. This never does not work, even in the GitLab code base.

      I have my criticisms of Ruby, and Rails, too. But your "near zero" comment is a shallow dismissal that captures your biases and presents them as some kind of informed truth. It is not.