My 4th year anniversary of using Rails is coming up. I have to say I remember those days of hitting the wall with Rails, where the learning curve goes vertical as you dig deep into the source to debug some extremely esoteric name collision or some other bug that should have had a warning.
In retrospect, it was a wall worth scaling. I have no fear of Rails meta-programming bugs, and I've developed strategies for dealing with the thorny issues that pop up every few months. All in all the FUD from the Java advocates has proven to be unfounded (the FUD from Haskell camp, not so much). The effort saved by eliminating reams of boilerplate and heavy IDEs is well worth a few less-obvious exceptions.
As Rails has matured I think the core team has exercised restraint, and the magic situation, while an integral part of the "Rails Way" is at least not getting too much worse. Plus work on Rails 3.0 is bringing real improvement to plugin-compatibility and modularity issues. That said, I'm glad I got in on Rails early and I'm looking forward to the next big thing already. When Rails came out it refreshingly plucked the best of 10 years of web development. Over time, as with all technologies it is getting bloated and ultimately will gain complexity as the developer base gains experience and needs to solve a greater and greater set of problems. Eventually someone will come along and distill all that experience into a much-simpler new framework (maybe ajax-based? maybe continuations-based ala Seaside?) that dumps the cruft of the current "best practices."
Thanks for the comments. One of the things that I find a pain about Rails but also an opportunity is that the framework is such a fast moving target that documentation grows stale quickly, presenting an opportunity to write newer fresher instructional material.
Comments
My 4th year anniversary of using Rails is coming up. I have to say I remember those days of hitting the wall with Rails, where the learning curve goes vertical as you dig deep into the source to debug some extremely esoteric name collision or some other bug that should have had a warning.
In retrospect, it was a wall worth scaling. I have no fear of Rails meta-programming bugs, and I've developed strategies for dealing with the thorny issues that pop up every few months. All in all the FUD from the Java advocates has proven to be unfounded (the FUD from Haskell camp, not so much). The effort saved by eliminating reams of boilerplate and heavy IDEs is well worth a few less-obvious exceptions.
As Rails has matured I think the core team has exercised restraint, and the magic situation, while an integral part of the "Rails Way" is at least not getting too much worse. Plus work on Rails 3.0 is bringing real improvement to plugin-compatibility and modularity issues. That said, I'm glad I got in on Rails early and I'm looking forward to the next big thing already. When Rails came out it refreshingly plucked the best of 10 years of web development. Over time, as with all technologies it is getting bloated and ultimately will gain complexity as the developer base gains experience and needs to solve a greater and greater set of problems. Eventually someone will come along and distill all that experience into a much-simpler new framework (maybe ajax-based? maybe continuations-based ala Seaside?) that dumps the cruft of the current "best practices."
Thanks for the comments. One of the things that I find a pain about Rails but also an opportunity is that the framework is such a fast moving target that documentation grows stale quickly, presenting an opportunity to write newer fresher instructional material.