Restructured Ruby on Rails 3.0 Hits Beta
Curlsman informs us that the first beta of Ruby on Rails 3.0 has been released (release notes here). Rails founder David Heinemeier Hansson blogged that RoR 3.0 "feels lighter, more agile, and easier to understand." This release is the first the Merb team has participated in. Merb is a model-view-controller framework written in Ruby, and they joined the RoR development effort over a year ago. Reader Curlsman asks, "So, is version 3 of RoR going to be a big deal, more of the same (good or bad), or just churning technology?"
So, is version 3 of RoR going to be a big deal, more of the same (good or bad), or just churning technology?
How about, we don't care? Back in the day, Ruby on Rails promised that it will "kill developers" and CEO-s will be coding the sites themselves in Rails, the hype was THIS big. "Programmers obsolete??".
Soon after it turned out "real programmers" can't scale a Rails app to save their job (Twitter).
Your moment of marketing glory is over. Have the decency to go in a corner and die.
...a CEO?
Please pick form the list below
Ruby and/or Rails sucks because:
1. It doesn't scale (Twitter)
2. It's slow
3. I read somewhere that Python was a better language
4. I write PHP, I can do everything Ruby/Rails can do better
5. My obnoxious younger coworker uses it
6. It's not lightweight enough
7. The ruby community is full of over-hyping zelous twits
Ruby and/or Rails is awesome because:
1. It scales within reason (Twitter, Lighthouse, Shopify)
2. It's as fast as Python and PHP
3. I read somewhere it was better than Python
4. I used to write PHP, Ruby's been a godsend
5. There are so many motivated and innovative people in the community
6. It's featureful
7. Pythonistas are over-hyping jealous twits
Photos.
WTF kind of troll-ass summary is this? It's be like seeing a Microsoft announcement like this:
Office 2010 is almost out; is it gayer than nine guys blowing eight guys, or just a total piece of crap?
BTW: a preemptive STFU to the scaling trolls. Take your whinge back to 2005, where somebody might give a crap.
I'm glad first responses are so negative; now I don't have to bother trying ROR out.
Over at Ruby Inside we did (and are maintaining) a roundup of ~36 Rails 3.0 beta links/articles (it's up to about 40 now, I think). If you've got Rails 3.0 installed and want to know how to use X or Y or want to learn some of the back story/motivation, the links should come in useful. They're only things that are actually worth reading. Well, mostly.. :-)
I just love the rails development community...they've really shown that they welcome any new ideas, frameworks etc and incorporate the best of everything into a fully fledged release.
Well done and Thank you.
...agile...
That's where I stopped reading. I'm on a no-buzzword diet.
7 seven 7
Slightly off-topic, but since a lot of comments are about how Ruby and Rails has nothing other popular dynamic languages and frameworks have to offer, I'd like to say there's one thing which drew me to Rails which I couldn't find in any popular Python or PHP web frameworks.
Testing. Craftmanship. Quality. This is more cutural than technical. While it's technically possible to write tests in PHP and Python, it just seems like people rarely do (especially so with PHP). And even if they do write tests, it's an afterthought. Things may have changed since I've done any serious development in PHP or Python, but I've done a little with Django and the testing that's done in the community didn't come close to Rails at the time. I'd be lucky to find a plugin authour whom had a test suite for their work and there was nothing of the function or quality of RSpec or Cucumber around.
This kind of lax "I tried it in my browser so it works" attitude to web software development in PHP and Python almost made me want to give up on web development and get into some other type of programming with some real professionalism - but thankfully I found Rails and glad that in general Rails programmers take their work seriously.
Having said all of that, I don't want to paint too negative a picture of Python. There are some awesome frameworks and communities in the Python world - Twisted/Divmod, for example, where the community really are bright and dedicated to test driven development. Zope 3/Grok is another. But I couldn't find anything in the mainstream web development world which were. Being mainstream is unfortunately important in getting anyone to support your descision - be they management, or a client.
Rails makes developers happier, not unemployed.
When you've had a lousy job, the two aren't mutually exclusive. I want assurances that they don't intend to make me happier BY making me unemployed ;-)
These posts express my own personal views, not those of my employer
Apple makes opinionated hardware. Rails is opinionated software. It's not surprising that the two fan bases act similarly. In fact, I would bet that there is a lot of overlap between the two groups.
That wouldn't be the only time that Rails has been sloppy in choosing the right HTTP method to use. When they implemented REST, they got PUT and POST backwards. Compare with CouchDB, which gets it right: PUT to create and POST to update a record.
I REALLY wanted to like ruby on rails, but the problem is that there is no good documentation on the internet, and of the 3 books I tried, all were designed for ancient versions of Ruby (and used depreciated functions in the first few chapters). So instead, I'm giving Django a try.
Unless Ruby On Rails 3.0 API is more stable, and there are good official tutorials, I don't think it will matter how good RoR3 is, if thee isn't enough documentation again to help newbies.
Do you have an original thought of your own?
Take a look at some of the replies. I see two which bash Rails quite a lot, they just actually put some thought into it. They got modded up, and you got modded down.
But hey...
Ruby on Rails promised that it will "kill developers"
I don't think anyone ever claimed that, except you.
Soon after it turned out "real programmers" can't scale a Rails app to save their job (Twitter).
They still have jobs, and Twitter still runs Rails on the web interface.
Your moment of marketing glory is over.
We're programmers. Marketing doesn't quite work if there isn't at least something to back it up -- that's why we're not all using ASP.NET.
AC was just saying what many of us think,
Nice how you post this as an AC, also...
just like PHP RoR is a great language
Nope, PHP is a language, and it's not great. Ruby is a language, but Ruby on Rails is not a language, it's a framework.
I could find dozens of reasons Ruby is better than PHP, but hey, Facebook runs on PHP.
It's praises are sung by the same group that think MySQL is the ultimate enterprise database.
Rails supports Oracle and SQL Server. But hey, MySQL still runs Twitter.
Don't thank God, thank a doctor!
I am a php developer that does a lot of small to medium sized apps using zend framework. I don't plan on doing anything enterprise scale, my niche is what it is. Do you see any advantage to zend framework over ROR?
I am a php developer that does a lot of small to medium sized apps using zend framework. I don't plan on doing anything enterprise scale, my niche is what it is. Do you see any advantage to zend framework over ROR?
I don't know Ruby or Rails well yet. But I do know PHP pretty well. And my answer is: no. Not as a framework.
Zend Framework isn't a web application skeleton / development system. It's an over-objectified library of barely related pieces. Yeah, there's a controller and a recommended directory layout, and you can pull it together with the rest of the library and a project or two elsewhere (say, Doctrine and Smarty), but it's not a thought-out whole. The job of creating an overall architecture for your app and getting the components to work together becomes yours.
Maybe that's what you want, and if so, then Zend Framework or doing things by pieces in Ruby (say, Sinatra + Sequel + HAML/SASS) could be for you. But if you want an actual web application framework, then I'd look at something like Code Igniter or Symfony (for PHP) or Rails or Merb (for Ruby) instead.
Tweet, tweet.
(1) It doesn't scale worth a darn.
It actually scales better than just "within reason": yellowpages, scribd, hulu, github, odeo, jango. They don't seem to have any problems. (Twitter is hardly a good example. There was a lot of debate about that and its move to Scala for some [not all] operations. Frankly, it appears that Twitter's approach to programming has been similar to its approach to its business model: "What we did isn't working, and we don't know why... but we don't know what will work, either, so we'll just try something random.)
(2) It's slow.
Yep. What do you expect? It's an interpreted, dynamic language. Nobody has yet succeeded in making a true compiler for those. It's the nature of the beast. You want something faster? Pay out the extra cash to build your site using Java or C++. But both Ruby and Rails continue to improve in speed and together today on average are several TIMES the speed they were a few years ago.
(3) It's not suitable for large projects.
Sure, if you don't know how. It actually does just fine. See the answer to (1) again. While the very top-traffic sites are not built in RoR (they are too old to have been), ebay, yahoo, amazon, and others all have Rails projects in the works.
(4) Python is better.
Maybe, if you're a masochist. Ruby and Python do most of the same things, but Ruby often does it easier and cleaner.
Ruby and Rails aren't perfect. But most of the objections come from people who don't know much about what they're talking about. Not all, certainly, but most. It can be harder to understand than Visual Basic or C++, but any newer technology has some learning curve. If you don't want to bother learning about it, then just be quiet and use whatever else you like.
A case in point: Rails likes to give your database tables plural names...One of the reasons to prefer singular table names is that it improves Rails's interoperability with the applications that either want to supply data to or consume data created by Rails..
Another reason is that it gets you closer to relational thinking. Plural names come about because some think of tables as collections of records and it follows that said collection should get a plural name. So, your "person" record becomes your "people" table.
However, the table isn't really and formally a collection of rows. What you really have is a set of "person" relations; the plural on the end of relations there is where the plural belongs.
And I don't know how big of a performance hit pluralize yields, but it's doing something that doesn't have to be done: the convention could just as well be singular (and arguably would more properly be singular).
Tweet, tweet.
Funny, I first read about ROR on Slashdot 3 years ago, back around the 1.0 release. The only negative things anyone said back then were quips about DHH's Danish accent. Now it's matured into the finest open source development web development stack available, powering many successful web apps and all I see here are the people who should be supporting it on principles alone talking smack about it.
Makes me think of that girl Ruby I tied to the train tracks once.
o hai
End of argument :-)
This isn't the standard usage. You have a set of "person" tuples - one person, one tuple, the set of person tuples forms a relation, singular.
That's interesting. Different from the way I had it explained, but I wouldn't be surprised if I or they had gotten the terminology for tuple and relation confused, and the distinction you've mentioned does sound promising from a formal perspective.
Not sure whether mathematicians would call it a 'people relation' or a 'person relation'
To invoke my earlier statement in the language you've given, I think the question is whether or not the plural belongs on the tuples rather than on the name of the relation. And while I'm not sure what mathematicians would do, I am pretty confident about what logic programmers would do in, say, Prolog, given the choice between a people predicate and a person predicate: they'd choose the former.
Tweet, tweet.
"The only explanation: Your subconscious knows the obvious fact that Python is a beautiful language and thus subverted your entire comment."
"That's the funniest thing I have read all day."
Somebody makes an insulting personal attack, I say that was funny, and *I* am supposed to be the troll? Who is doing the modding, anyway?
"Please stop mixing apples and oranges. Ruby and some other modern languages are true dynamic languages. Smalltalk and Lisp are not."
That was a factual post. I strongly object to the label "troll" just because somebody - who obviously hasn't bothered to look it up - disagrees.
Mixing compiled and interpreted code does not make Lisp a "dynamic" language. Other languages include things such as "eval()" which allows you to do that too... that doesn't mean they are dynamic languages, either. Some are, but the ability to simply evaluate external code is not the determining factor.
Having said that, if you are using an interpreted Lisp, and not compiled code, it could be said to be a dynamic language... but then we are right back to my original statement: nobody has so far managed to make a dynamic language fully compiled.