TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

WTH is happening to Rails? I'll tell you.

219 点作者 emiller829将近 14 年前

21 条评论

trustfundbaby将近 14 年前
I don't think the author really gets why people have a problem with what's going on with Rails, and the article strikes me as a "I like this why don't you?!" type deal vs making a reasoned argument for why the constant change in the Rails way of doing things is necessary.<p>&#62; If you’re learning a new language, a strong community consensus about a right and a wrong way to tackle problems aids learning<p>-----------------<p>Right, but the problem is that there doesn't seem to be a 'right' way, That's the problem.<p>We were all prototype a few years ago, now it jquery ... we (well I) hadn't heard of coffeescript till a few months ago and now its a default option in rails, The way we were constructing ActiveRecord finders had been set all through Rails 2, now we've changed it, the way we dealt with gems was set all through rails 2 now its changed completely in Rails 3.<p>I like change, I like staying on the cutting edge of web technologies, but I don't want to learn something, only to discard it and re-do it completely to bring it up to date with a new way of doing things all the time.<p>&#62; If, as coders, we aren’t constantly striving to improve the status quo, what’s the point?<p>---------------------------<p>The point is that you have to realize that Rails isn't just your personal plaything any more, people are invested in it just as much any one person or group of people.<p>I have 5 Rails 2 apps that I support at work and a couple more outside of that, they're all on rails 2 ... bringing them up to Rails 3 without disruption, isn't going to be trivial and I'd be nice if folks acted like they understood that and didn't dismiss similar concerns, or berate folks for having concerns.<p>To that end, my personal preference would be to see fewer but more substantial releases and a little bit more engagement with the community before making major decisions about the framework instead of the steady drumbeat of updates and (seemingly) unilateral decisions (that coffee script decision really irked me, can you tell?)
评论 #2653392 未加载
评论 #2653695 未加载
评论 #2653386 未加载
评论 #2653200 未加载
评论 #2655352 未加载
评论 #2653274 未加载
joshuacc将近 14 年前
<i>The difference is that Steve Coast, the post’s author, casts himself in the role of a crusader for the newbies.</i><p>I find this all a bit odd, since as a Rails newbie[1], I found Rails 3.0.x very easy to learn with a little help from Michael Hartl's tutorial and the Rails Guides. Perhaps this is an example of the "curse of knowledge?" In other words, that since Coast found Rails 2 easier, he assumed that newbies would as well?<p>[1] Front-end developer with little back-end experience.
评论 #2653017 未加载
评论 #2653064 未加载
评论 #2653697 未加载
flocial将近 14 年前
This is the typical "rails" response. Rails will make you a better programmer by teaching you the right design patterns, etc. Of course, it does indeed give you a proper structure to building a web service and can be quite educational. However, it can make life difficult once you start straying from "their way" even if you know exactly what you're doing for even simple things like mapping to a legacy DB with schema intact (not gonna happen). Conventions over configuration is nice but it requires some stability.<p>Part of the problem is the leadership. They take the stance, "you bastards are doing it wrong" if you want to do things a little different.<p>The community almost split when they managed to swallow Merb and keep Rails. It's toned down quite a bit but that negativity definitely carried over from the early days and infects the community (swearing in presentations and porn references, etc.).<p>But these thinking aids aren't exactly radical paradigm shifts that will expand your mind and make you a significantly better programmer for the rest of your days. Rails is one of the most influential frameworks and did a lot to advance the field but now there are other frameworks that are much easier to learn and get a functional web service started.<p>So saying dissenters are slow to learn, stubborn or haven't been writing tests really doesn't do anyone a service and doesn't make anything clearer, sorry.
评论 #2653764 未加载
评论 #2654242 未加载
jarin将近 14 年前
I think most of the arguments people have any time Rails does a major change can really be re-interpreted as:<p>"I have a moderately complex Rails app that I want to upgrade, but I don't have much confidence in my tests, I maybe don't have proper separation of concerns, and I just know that one hacky thing I did a while back is going to bite me in the ass."<p>It's just something that happens over time in any moderately complex app. I see Rails point release candidates as a good reminder to bust out rcov and spend a few days plugging up the gaps in test coverage before the stable release comes out.<p>If you've been procrastinating upgrading your Rails 2.3.x app to 3.0.x, you're really gonna have fun going straight from 2.3.x to 3.1. Sometimes you just gotta rip off the band-aid.
评论 #2653491 未加载
评论 #2653725 未加载
tptacek将近 14 年前
Hard to take too seriously any OO fundamentalism from someone who cites the Gang of Four patterns as if they were sacred scripture. Actually, they're techniques for working around the limitations of languages like C++, and when evoked explicitly in Ruby tend to be a "code smell".<p>This comment has been a service provided by the small bot running in my brain programmed to respond to mentions of the GoF book with a link to Norvig's presentation on them:<p><a href="http://norvig.com/design-patterns/" rel="nofollow">http://norvig.com/design-patterns/</a>
lisperforlife将近 14 年前
I maintain a couple of non-trivial Rails 2 apps, have just shipped a couple of Rails 3 apps and am preparing to write a Rails 3.1 app. I had always been using Sass and Haml for my views from the Rails 2 days. I moved over from shoulda to rspec 2 for Rails 3. All my solutions run partly on MRI/1.9.2 and have certain parts in JRuby (document parsing, search, etc). I had always been minifying and combining my Javascript. Sass with Compass/Blueprint took care of minifying and compressing my CSS. The only change that I am not comfortable with as yet is CoffeeScript. But after playing with it for a couple of hours I understand that this is an excellent choice. I have been a Python programmer before and significant whitespace in CoffeeScript or Sass does not bother me.<p>I am extremely thankful to the people in the community who are putting their time and effort to build such great software and essentially giving it away for free. I am personally both awed and humbled by the excellent work put in by all the individuals who directly or indirectly contributed to Ruby and Rails across all the versions. If not for them I would not have quit my day job. If not for Rails, I am pretty sure that I would not be enjoying my life, as much as I am enjoying it today.<p>The point is that Rails has grown up to the point where makes it simple to write complex applications. For small projects, these choices may seem to be an overkill. But trust me, when you put it into production and start getting traction you will thank Rails. I have built applications with Sinatra and Rack and assembled my own Rails environment using tons of middleware and a lot of glue. I know how hard it is to do it the right way and appreciate the fact that Rails makes it a cakewalk for us. I sure learnt a lot of Ruby but I would choose Rails any day as I know that there has been a lot of thought put in by the community to make it awesome.
mcantor将近 14 年前
I've lost count of how many times I have tried to do something in Rails which was trivial in every other framework I have ever worked with; struggled; gone to #rubyonrails or a mailing list and asked for advice; and had people tell me that I was "fighting the framework". I understand the benefit of not having to make every single decision from the ground up when you're getting started on a project, but sometimes I worry that working with rails is actually warping my thought patterns to fit its myopic vision of how web apps "should" work.<p>To phrase it differently: I feel comfortable with a framework or community forcing me to change <i>how</i> I achieve some higher-level goal. But when that convention prevents me from doing something, <i>period</i>, I start to worry.
评论 #2653591 未加载
评论 #2654054 未加载
评论 #2653827 未加载
perlgeek将近 14 年前
&#62; In most cases — for mere humans, anyway — there really is a right way to do things. Ruby is an Object Oriented programming language. There are literally decades of prior research in the field of OO software design, and they’ve resulted in a lot of really well-documented and well-tested design patterns for building software.<p>... coming from the people who are known for relying heavily on monkey patching existing classes.<p>Or did that change recently?
评论 #2653779 未加载
评论 #2653826 未加载
runjake将近 14 年前
The rapid pace of Rails is a turn-off to me, and I do bounce between it and the more "sane" Django.<p>But I think that's more a reflection of myself (being an "old" guy who's "been there, done that" several times over and resistant to change and trends) and not the fault of Rails. So I try to keep up.<p>But Rails is good for the web. The web was pretty stagnant at one time, and it sucked, and didn't keep up with the needs of users and businesses.<p>And that's why I don't have a real problem with Rails' rapid pace. It keeps everyone on their toes, including their competitors.
betageek将近 14 年前
I agree with a lot of what the article says but I do think the newbie coming to rails at the moment has to do a hell of a lot more to start swimming compared to the "good old days" of Rails 2.<p>Ruby 1.8 or 1.9? Use RVM? How does this Bundler thing work? What the hell are all these deprecation warning? Rake's broken? etc. etc. 3.1 brings asset pipelines where it seems you need to install a Javascript runtime on the server to deploy?!?<p>Even when you get your app up and running the load times in 1.9.x at the minute mean you'll be hanging around waiting for rails to generate files and your going to have to get Spork running to make any kind of rapid TDD/BDD.<p>Rails used to be the easy way into all this modern development goodness, now that "blog in 20 minutes" simplicity has gone along with the famous screencast.
dochtman将近 14 年前
It seems actually kind of obvious that "opinionated" software would have a higher rate of change than other kinds of software: opinions change faster than the other stuff.
评论 #2653339 未加载
评论 #2653556 未加载
joeburke将近 14 年前
All the frameworks "are growing up", this is nothing to be proud about. The real question is: is the framework becoming mature?<p>Because RoR has this tendency to reinvent itself every 18 months or so, the answer to the question is a resounding no. It's being used mostly to explore new ways to create web sites, but RoR is more and more becoming a framework you really want to avoid if you need to create a production site that you are planning to work on for years to come.
synnik将近 14 年前
When one person drives the platform strategy, and it is opinion-driven, then conflict like this is inevitable. You either agree or you don't, and if DHH changes his mind, you might changes yours, too.<p>I don't think it is a statement on the platform at all - just a repercussion of one of its tenets.
clu3将近 14 年前
At least you guys Rails have something new to look at, good or bad I don't judge. I've been using Zend framework for the last 3 years and it's latest version 1.10 has lived like "forever", until the day ZF 2.0 comes out, which has been "promised" a long time ago
评论 #2654064 未加载
评论 #2655404 未加载
tluyben2将近 14 年前
I don't think this is a good thing. I built a few rails apps and currently we are doing our startup in rails and java and depressingly enough Java is actually nicer for me. He's talking about well documented gems; which ones? I haven't seen much of those; it's usually 'go read the source code'. And all those 'great OO practices' where suddenly some class is behaving totally different because you installed a plugin is GREAT when it works. When it doesn't you are debugging yourself silly through all that meta programming crap. And having (as in, stuff stops working) to change your code through minor versions? That's not growing up, that's just crazy behavior.
MartinMond将近 14 年前
I remember a blog post from 2008:<p>Rails will be retrofitted to make it easy to start with a “core” version of Rails (like Merb’s current core generator), that starts with all modules out, and makes it easy to select just the parts that are important for your app. Of course, Rails will still ship with the “stack” version as the default (just as Merb does since 1.0), but the goal is to make it easy to do with Rails what people do with Merb today.<p><a href="http://yehudakatz.com/2008/12/23/rails-and-merb-merge/" rel="nofollow">http://yehudakatz.com/2008/12/23/rails-and-merb-merge/</a>
评论 #2653126 未加载
ryanisinallofus将近 14 年前
"It's growing up" sounds like "it's turning into java"<p>Now I know it's not that bad but I can see a future where instead of just having the rails book, you have books for every new thing and option possible and the section looks like the Java section where Struts, Spring, and even Scala/Clojure all make the idea of switching to to rails seem far more daunting than it needs to be.
radagaisus将近 14 年前
What's with the PHP bashing? MVC and ActiveRecord were in PHP frameworks and code before rails was born.
评论 #2654330 未加载
jasongullickson将近 14 年前
Right or wrong, I'm looking forward to whatever fills the spot that Rails left behind. It was a pleasure to work with a few years back and I miss that.<p>If you've seen something that fits the bill, please pass it on.
评论 #2654014 未加载
bxr将近 14 年前
Thank you for making "You just don't get it" point number 1. I like to know early on when I should bail out and stop reading something.
评论 #2653058 未加载
gusi将近 14 年前
I dont think that rails should worry about complaints coming from php developer.....
评论 #2652992 未加载
评论 #2653141 未加载