I touched the magic of ruby on rails
I have most experience in frontend with technologies like react, next.js and angular. But since I am always curious about different technologies and solutions, I tend to try new things. The first time I heard of ruby on rails was 3 years ago when I gave it a try. but didn't come so far and didn't have the endurance or a project to keep going. But I stayed curious because the usp of the framework (according to the community) is its develpment pace. That's what I like so I tried again and here's a first summary of my experience.
The Object oriented world
Neither js nor go are really object oriented languages. They are mostly procedural and I got so used to this procedural world that I had a really hard time going back to ruby and write everything in classes. I admit I have a hard time switching "back" to thinking in objects. I think debugging and coding was easier when I had my variables and methods in place instead of abstractions like objects and inheritance.
The LSP
One of the ugly things in ruby on rails is the LSP imo. For react and go, I have setup my editor in a way that I can jump to definition, go back and forth, have suggestions, autocomplete usw in such a way that I feel like an AI copilot is not necessary. For ruby on rails, on the other hand, I cannot jump to definition. I have some suggetions but not all of them. That is a real pitfall. Having a good language server is god for both development speed and security. Potential bugs are just caught before you even compile the code. So for ruby on rails, that's missing and a minus point. It might be because rails is doing so much magic, which leads me to the next point
The magic
Rails is a very accelerated framework. You can scaffold your stuff together, spice it with some code here and there and your app is done. That's cool, but just like in harry potter there's a dark side to this magic as well. As a junior rails dev, I spend so much time just figuring out why my form isn't working, why I cannot do this in that controller, why I get this error and so on. I know I have some learning to do still but that's the experience. With go, for example, things just worked and most of my time went into thinking about the best way to write this form or this code and that's just a huge as developer. Also, I think if a rails project grows, the problem of the magic, the unseen stuff happening might just lead to really long debugging sessions. Whereas with an easy and straightforward framework, you just trace throught your code, from method to method and find your bug.
The good things
This text has become too negative so I would like to bring some positive vibes into rails as well. I really like the idea of conventin before configuration. I may not yet have that powerfull feeling, but I can imagine that with growing experience in this framework, One can become really powerful and fast. That's why I keep going with my rails project. Even just the fact how easy it is to create and edit data, to configure my routes is really a bless. Compared to like go where I sql-ed so much stuff and wrote so many time consuming migrations to get where I wanted. (note: haven't tried a go orm yet. Might be sth for the future). That's why I don't give up and maybe in the future I write about how I became a rails champion ;)