6 ms·
I spent the end of last year doing Java/Struts. Felt like time travelling back to 2002. Back when I knew PHP, versions increased, but nothing really changed for
by latch 15y ago
I spent the end of last year doing Java/Struts. Felt like time travelling back to 2002. Back when I knew PHP, versions increased, but nothing really changed for years and years (I'd be surprised if it was much different today). The .NET folk will tell you how great ASP.NET MVC is, but they live in their own world - a new view engine doesn't close the gap which exists between it and more progressive MVC frameworks.
The point? If you want stagnant frameworks there's plenty to pick. A lot of them aren't easier to learn, but none of them require you to keep learning. This is great because it tends to attract all the programmers you want to avoid into obvious communities.
- nirvdrum 15y agoSurely there's some middle ground though, no? At what point do you have a stable core and then you just bolt things on? There's nothing stopping you from using SASS and Coffeescript with Rails 2.3. I skipped the Rails 3 upgrade just simply because I couldn't justify the time sink. rspec made it ridiculously worse with the difference in Rails support between 1.x and 2.x. I'm guessing with Rails 3.1 coming out I'll have to upgrade just because most of the plugins I use have moved on and don't backport bugfixes. It'd be nice to evolve an app without having to constantly wasting time on version compatibility. It's an absolute nightmare if you have any non-trivial-sized app.
- rohitarondekar 15y agoYou are not forced to use SASS and Coffeescript. You can just switch them off. You can also switch off the asset pipeline.
- nirvdrum 15y agoThat wasn't the argument I was making. My argument was if those are the new technologies you want to play with, you don't need a major new Rails release. Since the opposing argument seems to be that Rails needs to keep breaking compatibility in order to keep up with the latest technologies.
- rohitarondekar 15y agoActually Rails 3.1 has a lot more features then just the Asset Pipeline and SASS/Coffeescript default. This blog post lists most of them: http://weblog.rubyonrails.org/2011/5/22/rails-3-1-release-candidate http://weblog.rubyonrails.org/2011/5/22/rails-3-1-release-ca... Also there are a lot of deprecated things that must have been removed in 3.1 ― TBH I haven't kept in touch with 3.1 development but I'm sure a lot more has happened besides the default switch and Asset Pipeline. :) Basically in the end, Rails is a curated framework. It either fits your requirements or it doesn't. There is no need for it to work for "all possible" cases. Also like I said you don't have to use the defaults. :)
- davidw 15y ago> Rails is a curated framework. It either fits your requirements or it doesn't. "Opinionated" was the original description. "Curated" is just some buzzword that means "people look after it" rather than "automatically generated", which is, uh, pretty much going to be par for the course for a maintained framework.
- rohitarondekar 15y ago"Here's the Rails gospel: Promote good ideas and technologies. See Ajax, REST, Atom, testing. Rails is a curated set of tech choices." ― DHH source: https://twitter.com/#!/dhh/status/58286524151775232 https://twitter.com/#!/dhh/status/58286524151775232
- davidw 15y agoDHH saying it does not make it any less of a silly buzzword. I much prefer his original "opinionated", as it much more clearly gets at the heart of what Rails is, that it doesn't try and be everything to everyone.
- wikyd 15y agoCurated does not just mean "people look after it." It also means that people make editorial choices about what belongs and what doesn't.
- jamesbritt 15y agoSurely there's some middle ground though, no? At what point do you have a stable core and then you just bolt things on? Very true. Frameworks should strive for a solid API that makes it easy for people to write add-ons, and avoid adding anything that is not essential. Of course, one hacker's essential is another's bloat, but developers should give things a long hard look before adding stuff. It's the reason I like Ramaze so much. Has what's needed, gets out of your way, it's easy to evolve or extend if you know Ruby, and it respects your opinions.
- sunchild 15y ago"I skipped the Rails 3 upgrade just simply because I couldn't justify the time sink." This is where you lost me. I spent about 2 hours, aggregate, spent solving upgrade-related problems across a bunch of different apps. Where is the time sink?
- deleted 15y ago[deleted]
- jonnytran 15y agoThe time sink is in migrating all the plugins/gems that either dropped support for Rails 2.x in favor of 3 (i.e. no version that supports both), or were abandoned for some other competing gem. What this means is that for any app that uses lots of plugins, it's a nightmare to upgrade to Rails 3.0, not because of Rails itself, but because it means you have to migrate all those plugins simultaneously just to preserve existing functionality. There are entire sites like http://railsplugins.org/ http://railsplugins.org/ to help you figure out if your plugins are Rails 3 compatible. Unfortunately, there simply aren't enough users to crowdsource the compatibility of all the plugins out there.
- sunchild 15y agoWhich gems are we talking about, specifically? If it was abandoned, then you should be replacing them anyway. Backward compatibility is vastly overrated.
- nirvdrum 15y agoActually, it doesn't really matter if it was abandoned or not. Upgrading a large number of dependencies at once is going to create problems for any project. Hell, working out the redis-rb nightmare of an upgrade took well over a week of effort trying to coordinate with the various projects that depend on it. But, if you think backward compatibility is vastly overrated, there's really no seeing eye-to-eye on this.
- nirvdrum 15y ago
- Retric 15y agoIMO, ASP.NET is a mediocre to poor framework get's by because it uses an above average language (C#) and a vary good editor (Visual Studio). Still it all comes down to the types of applications your creating. If your building yet another internal CRUD app go with ASP.NET. If you want to build the next hipmunk then Rails is probably a better option.
- xpaulbettsx 15y agoAre you talking about MVC or WebForms? If you're thinking of the framework where you lay out controls on a designer, you're fighting the wrong framework.
- bkhl 15y agoCan you elaborate more on why Rails might be a better option than ASP.NET MVC for creating "the next hipmunk"?
- latch 15y agoIt's more productive. You get more done in a shorter amount of time. Not trivially either. Its more about the language (Ruby vs C#) than the Frameworks (in that all the cool shit the Framework lets you do is thanks to the language). If you knew C really well, and someone said "Hey, you can be more efficient building a website in C#/ASP.NET", would you have that hard a time believing them?
- kenjackson 15y agoIf you knew C really well, and someone said "Hey, you can be more efficient building a website in C#/ASP.NET", would you have that hard a time believing them? I wouldn't. But if they said that I could write systems code better with Objective-C I'd say prove it. Unfortunately whenever I see RoR people talk about ROR vs anything else, including ASP.NET MVC, they talk in broad strokes with statements like, "Obviously dynamic languages are far more productive than static ones." Or "People who program in Ruby are much better developers -- which is obvious to prove, because they program in Ruby."
- kenjackson 15y agoIf you want stagnant frameworks there's plenty to pick. There's a difference between stagnant and growing in the right direction. I think the author believes that RoR is moving away from what many thought was one of its core pillars: The ability to go from nothing to an up and running web app quickly. Lots of things aren't stagnant -- few things move in the right direction. I'm not saying that RoR isn't moving in the right direction, but I think you've created a strawman of sorts.
- latch 15y agoI dunno, I kinda got from the OP that is was more about moving too fast than moving in the wrong direction. But, OP aside, I get what you are saying. IMO, as long as Rails is being driven by real application development, I'm happy. Compared to "enterprise" frameworks which are built in isolation from the real world, Rails movement seems more grounded in pragmatism.
- jshen 15y ago" The ability to go from nothing to an up and running web app quickly." How in the world do the changes lead to a situation where you can't get an app up and running quickly? I don't see that at all.
- riffraff 15y agoI have no opinion on this, but the original article makes a few cases for this: no more ajax/javascript helpers in core, no more catch all route by default etc.
- jshen 15y agoThe catch all route is there, you just have to uncomment it. It takes one second. There are other points where the article is plain wrong to. "It used to be that you just used Prototype, now it goes to vast efforts to be agnostic." No, it switched the default to JQuery, thank god.
- PetrolMan 15y ago
- brazzy 15y agohis is great because it tends to attract all the programmers you want to avoid into obvious communities. So basically you agree with point that Rails' rapid changes are making it less approachable, but see it as a good point?
- latch 15y agoI do see making something less approachable to programmers who don't want to learn good, yes.