5 ms·
Counterpoint: Rails is not efficient for new developers who need to get up to speed on it. Other tools are more straightforward to onboard devs; just follow the
by dcwca 8y ago
Counterpoint: Rails is not efficient for new developers who need to get up to speed on it. Other tools are more straightforward to onboard devs; just follow the API docs and read the code. With Rails you need Rails experts.
- erokar 8y agoWhat are the other more straightforward tools?
- ben_jones 8y agoI will hazard a guess that expressJS in the Node ecosystem, and Flask in the python ecosystem, would be two tools the OP would agree are significantly more straightforward (at least for initial application development) then rails.
- dcwca 8y agoYeah, those are good examples, along with Java or .Net or even PHP. There’s an understanding that a developer can open a file from the source code tree, look at which includes are in scope, which methods are being used, and follow the API docs on those in order to track down what’s happening. This works almost everywhere but Rails. With Rails you need to have a basic comfort with the entire ecosystem and which behaviours are globally applied, often you can’t follw the source code to know, even if you go into the Rails source, where many methods are dynamically generated. Other responders on this thread think I’m saying Rails isn’t productive or easy to learn, I’m not. I’m saying there is a higher bar for the minimum amount of knowledge you need to comprehend the flow of control in a Rails app.
- erokar 8y agoFair point, I agree that a lot is implicit in Rails. It might feel intuitive and easy, but at the same time be hard to track or explain.
- jpittis 8y agoI feel like this is a problem rooted in Ruby’s mettaprogramming system. Class state (new methods, changed methods, inheritance hierarchies, etc.) and unexpected control flow materialize out of seemingly nowhere at runtime because you happened to load some library. There’s lots of power here but it would be incredibly dishonest to call it simple. (As you say, hard to track and explain.)
- erokar 8y agoI agree those libraries are more straightforward in the sense that it's easier to track what's happening, but I feel that's only true for rather basic apps. Having done my share of Express developmnet, I know that once you need user auth, a database connection etc. you are curating your own selection of libraries, inventing your own folder structure and so on and so on. And if you are so unlucky as to inherit such a project it is anything but straightforward. It's like trying to deschiffer the mind of some alien creature, i.e. former developer.
- burlesona 8y agoAs someone who trains devs on rails I find that’s not true. In my experience if you have a developer of any experience level go through the full Rails tutorial they come out on the other side highly productive. I usually have people on my team do this on their own time and they usually finish within the first two weeks of work. What I will say is that the implicit, convention over configuration approach of rails means you really do have to RTFM. I find that the more experienced a developer is the more resistant they tend to be to this. But in general they all get over it after they read the manual.
- pandler 8y ago> What I will say is that the implicit, convention over configuration approach of rails means you really do have to RTFM. And there you have it. Most devs I have ever worked with hardly read docs beyond as reference material. To be fair, effective documentation (beyond just api reference) is hard and time consuming. I have a lot of respect for the projects that have documentation _worth_ reading.
- _hardwaregeek 8y agoI disagree. I learned it as a pretty inexperienced developer. You just need to know Ruby and how a web application works. Sure, that rules out most bootcamp students, but honestly bootcamp grads shouldn't be writing production code.