3 ms·
> ruby has just RubyMine which doesn't have a community edition and also isn't very good I have a great deal of sympathy for RubyMine (and shudder at working f
by mdaniel 3y ago
> ruby has just RubyMine which doesn't have a community edition and also isn't very good
I have a great deal of sympathy for RubyMine (and shudder at working for the CLion team, whew) because Ruby isn't doing the IDE author any favors. Given:
https://gitlab.com/gitlab-org/gitlab/-/blob/v16.5.0-ee/lib/google_cloud/authentication.rb https://gitlab.com/gitlab-org/gitlab/-/blob/v16.5.0-ee/lib/g...
- what types are client_email and private_key? they are whatever type they're called with lolol
- the symbol Google::Auth::ServiceAccountCredentials just materializes; was it required in some containing context and thus is in scope by _this_ required file? are those symbols visible in every context from one of the various Gemfile lines? a hard-core rubyist knows
- where did the symbol StringIO come from? well, from require 'stringio' obviously, which is on .. err, which line exactly? I guess that lends weight to the 'this file is obviously running as a child context of some other file' theory
I think half of it is the culture of Rubyists and half of it is "productivity hacks" of "if it runs, then it must be correct"
I also recognize that I'm very clearly a static typing snob, and firmly in the camp of "please import symbols you use," but that doesn't stop me from having a great deal of sympathy for anyone who has to implement an IDE for such a monkey-patch friendly language
- tenacious_tuna 3y ago> I also recognize that I'm very clearly a static typing snob Honestly I'm right with you. I was complaining in another ruby thread [0] the other day about how opaque ruby is in terms of context around what's actually happening and where things come from in a given block of code. I'm about a year into working at a Rails shop and it's been a wild ride coming from a background of Swift/C++/Python. There's some cool syntax niceties in Ruby around writing functional blocks which I really like, but beyond that I find myself just endlessly frustrated with it as a tool. A lot of the senior folk at my org swear by ruby and know enough of Rails to have a good intuition about what's going on and how the system is organized, but for someone new to the whole enchilada it's so hard to find mental purchase in any given chunk of code. > "if it runs, then it must be correct" this has described the root of so many of the bugs I've had to chase down, holy crap. [0]: https://news.ycombinator.com/item?id=37939011 https://news.ycombinator.com/item?id=37939011