top | item 45627971

(no title)

thepaulmcbride | 4 months ago

Ruby is really let down by the tooling around the language. The language itself would be so much more fun to write if the lsp would reliably jump to the definition of functions etc that seem to appear out of no where. It has been the biggest source of frustration for me while learning Ruby.

discuss

order

Mystery-Machine|4 months ago

You're right! Although I get faily far by using Bust-a-gem VS Code extension. (The underlying ripper-tags gem can work with any IDE) https://github.com/gurgeous/bust-a-gem

I have an "on save" hook that runs ripper-tags on every file save. This keeps the definitions always up to date.

stonecharioteer|4 months ago

I'm hoping the new age tooling that's coming out is going to make things better. I want to contribute to rv personally.

mmcromp|4 months ago

I say the opposite, the lack of tooling highlights the weakness of the language. The drive to make it declarative/mimic "natural" language by reshuffling and overloading can be "delightful" to some, but beyond the paper covered surface is a mess. And for what ? "5.times do something unless" isn't cute to me. It's a dog "talking" by putting peanut butter in his mouth. But I think I'm the only one who feels this way

lioeters|4 months ago

What I've noticed about language design is that people confuse their preferences and opinions with genuine objective observations. It's more of an art and aesthetics than a science. I agree "5.times" is an abomination but that's a subjective reaction - there's no principle or law that it violates (other than perhaps principle of least surprise). We can't quantify and measure how good or bad some invented syntax is.

As for lack of tooling, it apparently wasn't a priority when the language was designed. I'm guessing the emphasis was more on the ease of reading/writing, and having internal logical consistency. How such language design decisions make the development of tooling more difficult was a secondary concern.

Bolwin|4 months ago

And it's twice as bad on windows.