3 ms·
Most people I know who have worked on Rails apps eventually came to strongly dislike the implicit "magical" rules that drew them to it in the first place, after
by _sdegutis 9y ago
Most people I know who have worked on Rails apps eventually came to strongly dislike the implicit "magical" rules that drew them to it in the first place, after working on large Rails apps for some time, and many of them have moved to Clojure, which I'm guessing is a knee-jerk reaction to problems caused by magic and mutability, both of which Clojure code encourages us to stay away from.
- christophilus 9y agoMost moved to Clojure? That's interesting. My path went like this: C++ -> VB6 -> C# & JS -> Rails -> Clojure. But that last move was after looking at Haskell, OCaml, Scala, F#, and friends. I'd be very interested in reading about your (and other's) experience in making the transition to Clojure.
- _sdegutis 9y agoProbably not most Rails devs, but most of the ones I know in Chicago have. And that's not a big sample in and of itself, either, plus many of them know each other. So take it with a grain of salt. My personal experience is probably not very representative. I was doing Rails up until I began working on cleancoders.com 5 years ago, which was entirely written in Clojure using Compojure. Honestly it's not that much different than working in Express.js these days, considering all the improvements to the JS language and ecosystem. Ruby has Sinatra too which is pretty comparable to Compojure and Express. There's also something to be said for the novelty effect. Many people who went from Ruby to Clojure went from Java to Ruby because of the novelty, and probably went from Ruby to Clojure for the same reason, and at least a few of them have since moved to Elixir for probably the same reason.
- aantix 9y agoMagic meaning "I don't understand the conventions and haven't bothered to understand them so I'll either move on to another framework with different magical rules that I understand or I'll just write raw SQL."
- always_good 9y agoNo. Magic meaning that the framework tries to insulate you from the technology to the point that you're left following conventions. And by the time you dig into the implementation, like if you need to corner an edge case, you've had to credentialize in code that was far more complex than the non-magical solution ever could be. It's pretty lame painting other developers as idiots. If you can't identify with the common complaints about Rails, then you haven't used it long enough. The question isn't whether it has warts or not. Of course it has them. The question is whether or not they're worth it to you.