Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Agile Web Development with Ruby on Rails

timothy posted more than 9 years ago | from the chugga-chugga-wooo-woooooooo dept.

Programming 222

Ridgelift writes "Learning to develop web applications with Ruby on Rails has gained a huge amount of interest lately, but for people wanting to learn Rails there are no books on the subject. That's changed now with the pre-release of Agile Web Development with Ruby on Rails , the latest book from Dave Thomas and the author of Ruby on Rails David Heinemeier Hansson. It's really 3 books in one: a full Rails tutorial, an in depth guide to the components that make up Rails, and an introduction to developing applications using the Agile development model. There's even a quick introduction to Ruby, the language Rails is built with." Read on for an early review of the beta book. Full disclosure: Reviewer Miles K. Forrest points out that he has read earlier versions of the book's manuscript and provided critiques to the authors.

At just over 500 pages, Dave Thomas' new book manages to cover a lot of ground in a concise, readable manner. One problem at the outset -- the book is not finished. Knowing that the Ruby on Rails community has been chomping at the bit for morsels of information, Dave and David (DHH) have answered the call by releasing the forthcoming book early. "The book has not had a full technical edit, so it will contain errors. It has not been copy edited, so it will be full of typos. And there's been no effort spent doing layout, so you'll find bad page breaks, over-long lines, incorrect hyphenations, and all the other ugly things that you wouldn't expect to see in a finished book. We can't be held liable if you follow our instructions, expecting to create a Rails application, and you end up with a strange shaped farm implement instead. Despite all this, we think you'll enjoy it!"

And enjoy it I did. The "Getting Started" section of AWDRoR provides a whirlwind overview of the Ruby on Rails' architecture. I found Rails to be very intimidating at first. You can't just cut-and-paste a couple lines of code like you can in PHP. Rails generates all kinds of directories and files, making it feel like your first trip to Disneyland -- you know there's fun to be had, but it's a big place and you don't know your way around. The reason for all this is because, in programming, short simple scripts are easy and simple, full blown Web applications are not. Many LAMP projects developing in perl/Python/PHP and any number of templating engines have started simple, but grown into unruly messes that are difficult to maintain. While trying to grok Ruby on Rails, topics like Model-View-Control and Object-Relational Mapping really don't stick at first. Add to the confusion that many of us are also struggling to learn Ruby and a RDBMS (such as MySQL; Rails works with others databases as well). The overview of Rails is necessary, but I found it to be a lot more helpful rereading it after completing the tutorial section. So if you read through this first section and feel lost like I was, just know that the material will become familiar to you and press on, because it gets a whole lot easier from here on in.

I really enjoyed the Tutorial section, a narrative designing a shopping cart application for a customer. Dave says it best: "Does the world need another shopping cart application? Nope, but that hasn't stopped hundreds of developers from writing one. Why should we be different? More seriously, it turns out that our shopping cart will illustrate many of the features of Rails development. We'll see how to create simple maintenance pages, link database tables, handle sessions, and create forms. Over the next seven chapters, we'll also touch on peripheral topics such as unit testing, security, and making our pages look nice."

Dave begins not with lofty design plans, but with a tool most real programmers use: napkin drawings. Many of us sit down over coffee with a customer and talk about what they need, sketching out ideas with paper and pencil, not some complex software planning tool. Each chapter in the tutorial section allows a story to unfold, where the customer works alongside the developer. Real life situations like changing direction or refactoring code are covered as each programming session is done. You really see why Rails is becoming so popular. It wasn't written by a team of programmers trying to hammer out an arbitrary list of features, but rather Rails was built around a real application (Basecamp). Pragmatic considerations such as developer time, feature creep, and maintenance issues have all been skillfully addressed in Rails. The tutorial reflects this, and at the same time it also gently, almost unknowingly, teaches principles as outlined in the agile manifesto. Some of the goals include:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
AWDRoR can get away with this because Rails itself was designed around the principles of Agile software development. The tutorial is probably the best I've ever read. You really come away from it knowing not only what you've written, but why, as well as picking up a few expert developer tips along the way.

The third section, "Rails in Depth," dives into the inner workings of Rails. Components such as ActiveRecord, ActionController, ActiveView, and Web Services (Ajax) are all covered well. There are even chapters on securing and deploying your applications properly. These chapters, in conjunction with the API docs found on www.rubyonrails.org, give a full overview of Rails. Most helpful in this section are the notes and diagrams which help pull everything together. The appendices that cap off the book also provide the full tutorial source code, as well as a brief introduction to Ruby, the language that makes all the magic happen.

In short, Rails is a brilliant architecture, and Agile Web Development with Ruby on Rails is a great book. I'm reluctant to point out its shortcomings as it's still in beta, but it's really hard for me to find much to complain about. It took me some time for the light to come on with Rails, but once it does, you see that Rails could not exist without Ruby, the language it's inextricably woven into. As Dave Thomas is quoted on www.rubyonrails.com, Rails is probably "the framework to break Ruby into the mainstream." Whether you believe the hype or not of "super productivity," "Ten times faster development," and "Better than anything else," Ruby on Rails is a great tool to add to your belt. In fact, I find myself using it exclusively for Web apps, and I catch myself using python and PHP less and less and Ruby more and more for my day to day programs.

If you want to learn Ruby on Rails, Agile Web Development with Ruby on Rails is a great choice, and will probably be the definitive book on the subject.


Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

cancel ×

222 comments

wasn't this just on here? (-1, Offtopic)

Lawrence_Bird (67278) | more than 9 years ago | (#12836844)

what is /. getting to push this book? this topic?

Re:wasn't this just on here? (2, Funny)

falzer (224563) | more than 9 years ago | (#12836853)

Nubile virgins.

Re:wasn't this just on here? (0)

jarich (733129) | more than 9 years ago | (#12837037)

I saw Dave give his Ruby On Rails talk last weekend at a No Fluff Just Stuff conference (http://www.nofluffjuststuff.com/ [nofluffjuststuff.com] ). It was the first time I had seen it in action like that... I've since made time to start tinkering with it.

It's an amazing framework. I think that's one of the reasons it's getting so much interest.

It's Hawt (0)

Big Sean O (317186) | more than 9 years ago | (#12837235)

Some very interesting websites (Basecamp for one) have sprung up from using Rails. Many people designing web applications see Rails as a powerful framework for website development.

However, there's not a lot of good Rails documentation out there yet. This book is highly anticipated and the distribution model (Beta now, Final later) is also unusual.

Frankly, I think Rails is Ruby's 'killer app'. I actually think that Ruby could swap spaces with Python in popularity.

So some attention is deserved.

But like Napoleon said: "Never ascribe to malice, that which can be explained by incompetence." Sometimes, to paraphrase Gertrude Stein: "A Dup is a dup is a dup."

Save Some Money (-1)

Anonymous Coward | more than 9 years ago | (#12836849)

Save some money by ordering Agile Web Development with Ruby on Rails [amazon.com]

Re:Save Some Money (-1, Troll)

Anonymous Coward | more than 9 years ago | (#12836890)

I want to put my Rail into your Ruby.

Since when does "huge" apply to Ruby? (1, Funny)

Anonymous Coward | more than 9 years ago | (#12836850)

"Learning to develop web applications with Ruby on Rails has gained a huge amount of interest lately..."

Yeah, all 200 Ruby developers...

These people? (0, Offtopic)

Saeed al-Sahaf (665390) | more than 9 years ago | (#12836955)

The same people who are using Lycrosis [slashdot.org] ?

Re:Since when does "huge" apply to Ruby? (3, Informative)

Peter Cooper (660482) | more than 9 years ago | (#12836970)

Since 1000 people bought the book within the first week or two, I guess not. We have more than 200 people in #rubyonrails on irc.freenode.net alone, and this makes up a fraction of the community.

Re:Since when does "huge" apply to Ruby? (1)

mrmargolis (781449) | more than 9 years ago | (#12837082)

It was 1000 sold the week of memorial day. It is fair to assume that way more people use rails than bought the book during that week.
One of the authors blogging about the success [pragprog.com]

dupe (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#12836855)

Isn't this a dupe from last week?

Re:dupe (1)

Peter Cooper (660482) | more than 9 years ago | (#12836929)

No, the previous article was about how books are now being developed with "beta versions" coming out.. this book being an example of the process.

WRONG IMAGE TEXT, TRY AGAIN! FUCK YOU SLASHDOT! (-1, Troll)

Anonymous Coward | more than 9 years ago | (#12836858)

*_g_o_a_t_s_e_x_*_g_o_a_t_s_e_x_*_g_o_a_t_s_e_x_*
g_______________________________________________g
o_/_____\_____________\____________/____\_______o
a|_______|_____________\__________|______|______a
t|_______`._____________|_________|_______:_____t
s`________|_____________|________\|_______|_____s
e_\_______|_/_______/__\\\___--___\\_______:____e
x__\______\/____--~~__________~--__|_\_____|____x
*___\______\_-~____________________~-_\____|____*
g____\______\_________.--------.______\|___|____g
o______\_____\______//_________(_(__>__\___|____o
a_______\___.__C____)_________(_(____>__|__/____a
t_______/\_|___C_____)/______\_(_____>__|_/_____t
s______/_/\|___C_____)_______|__(___>___/__\____s
e_____|___(____C_____)\______/__//__/_/_____\___e
x_____|____\__|_____\\_________//_(__/_______|__x
*____|_\____\____)___`----___--'_____________|__*
g____|__\______________\_______/____________/_|_g
o___|______________/____|_____|__\____________|_o
a___|_____________|____/_______\__\___________|_a
t___|__________/_/____|_________|__\___________|t
s___|_________/_/______\__/\___/____|__________|s
e__|_________/_/________|____|_______|_________|e
x__|__________|_________|____|_______|_________|x
*_g_o_a_t_s_e_x_*_g_o_a_t_s_e_x_*_g_o_a_t_s_e_x_*

In a twisted way of measuring popularity, it looks like Britney Spears tops the list. According to Panda Software and 7 years' worth of infected messages, Britney's name was used most in attempts to get users to open malicious e-mails. Rounding out the top 5 were Bill Gates, Jennifer Lopez, Shakira, and Osama Bin Laden. Other notables include Bill Clinton, Pamela Anderson, and, of course, Anna Kournikova. All the names on the list have been used multiple times with different tag lines. The names of these celebrities are used in coordination with misleading promises of illicit pictures or late breaking news to tempt users into opening an infected e-mail attachment or to click on a bogus link. Are we really this stupid? Do we really think these unsolicited message will lead to pictures of Osma being hanged, or video of Michael Jackson? It also amazes me that some of these names seem a little dated. Pamela Anderson? And are guys really that desparate to see nude pictures of celebrities? We must be, because these attackers pick on us for a reason: it works. Social engineering will always work because people will always be able to be fooled. I guess I just assumed people would figure out how to spot fakes after a while. How many times do you have to click on the link to realize there isn't really a picture? In a twisted way of measuring popularity, it looks like Britney Spears tops the list. According to Panda Software and 7 years' worth of infected messages, Britney's name was used most in attempts to get users to open malicious e-mails. Rounding out the top 5 were Bill Gates, Jennifer Lopez, Shakira, and Osama Bin Laden. Other notables include Bill Clinton, Pamela Anderson, and, of course, Anna Kournikova. All the names on the list have been used multiple times with different tag lines. The names of these celebrities are used in coordination with misleading promises of illicit pictures or late breaking news to tempt users into opening an infected e-mail attachment or to click on a bogus link. Are we really this stupid? Do we really think these unsolicited message will lead to pictures of Osma being hanged, or video of Michael Jackson? It also amazes me that some of these names seem a little dated. Pamela Anderson? And are guys really that desparate to see nude pictures of celebrities? We must be, because these attackers pick on us for a reason: it works. Social engineering will always work because people will always be able to be fooled. I guess I just assumed people would figure out how to spot fakes after a while. How many times do you have to click on the link to realize there isn't really a picture? In a twisted way of measuring popularity, it looks like Britney Spears tops the list. According to Panda Software and 7 years' worth of infected messages, Britney's name was used most in attempts to get users to open malicious e-mails. Rounding out the top 5 were Bill Gates, Jennifer Lopez, Shakira, and Osama Bin Laden. Other notables include Bill Clinton, Pamela Anderson, and, of course, Anna Kournikova. All the names on the list have been used multiple times with different tag lines. The names of these celebrities are used in coordination with misleading promises of illicit pictures or late breaking news to tempt users into opening an infected e-mail attachment or to click on a bogus link. Are we really this stupid? Do we really think these unsolicited message will lead to pictures of Osma being hanged, or video of Michael Jackson? It also amazes me that some of these names seem a little dated. Pamela Anderson? And are guys really that desparate to see nude pictures of celebrities? We must be, because these attackers pick on us for a reason: it works. Social engineering will always work because people will always be able to be fooled. I guess I just assumed people would figure out how to spot fakes after a while. How many times do you have to click on the link to realize there isn't really a picture? In a twisted way of measuring popularity, it looks like Britney Spears tops the list. According to Panda Software and 7 years' worth of infected messages, Britney's name was used most in attempts to get users to open malicious e-mails. Rounding out the top 5 were Bill Gates, Jennifer Lopez, Shakira, and Osama Bin Laden. Other notables include Bill Clinton, Pamela Anderson, and, of course, Anna Kournikova. All the names on the list have been used multiple times with different tag lines. The names of these celebrities are used in coordination with misleading promises of illicit pictures or late breaking news to tempt users into opening an infected e-mail attachment or to click on a bogus link. Are we really this stupid? Do we really think these unsolicited message will lead to pictures of Osma being hanged, or video of Michael Jackson? It also amazes me that some of these names seem a little dated. Pamela Anderson? And are guys really that desparate to see nude pictures of celebrities? We must be, because these attackers pick on us for a reason: it works. Social engineering will always work because people will always be able to be fooled. I guess I just assumed people would figure out how to spot fakes after a while. How many times do you have to click on the link to realize there isn't really a picture? In a twisted way of measuring popularity, it looks like Britney Spears tops the list. According to Panda Software and 7 years' worth of infected messages, Britney's name was used most in attempts to get users to open malicious e-mails. Rounding out the top 5 were Bill Gates, Jennifer Lopez, Shakira, and Osama Bin Laden. Other notables include Bill Clinton, Pamela Anderson, and, of course, Anna Kournikova. All the names on the list have been used multiple times with different tag lines. The names of these celebrities are used in coordination with misleading promises of illicit pictures or late breaking news to tempt users into opening an infected e-mail attachment or to click on a bogus link. Are we really this stupid? Do we really think these unsolicited message will lead to pictures of Osma being hanged, or video of Michael Jackson? It also amazes me that some of these names seem a little dated. Pamela Anderson? And are guys really that desparate to see nude pictures of celebrities? We must be, because these attackers pick on us for a reason: it works. Social engineering will always work because people will always be able to be fooled. I guess I just assumed people would figure out how to spot fakes after a while. How many times do you have to click on the link to realize there isn't really a picture? In a twisted way of measuring popularity, it looks like Britney Spears tops the list. According to Panda Software and 7 years' worth of infected messages, Britney's name was used most in attempts to get users to open malicious e-mails. Rounding out the top 5 were Bill Gates, Jennifer Lopez, Shakira, and Osama Bin Laden. Other notables include Bill Clinton, Pamela Anderson, and, of course, Anna Kournikova. All the names on the list have been used multiple times with different tag lines. The names of these celebrities are used in coordination with misleading promises of illicit pictures or late breaking news to tempt users into opening an infected e-mail attachment or to click on a bogus link. Are we really this stupid? Do we really think these unsolicited message will lead to pictures of Osma being hanged, or video of Michael Jackson? It also amazes me that some of these names seem a little dated. Pamela Anderson? And are guys really that desparate to see nude pictures of celebrities? We must be, because these attackers pick on us for a reason: it works. Social engineering will always work because people will always be able to be fooled. I guess I just assumed people would figure out how to spot fakes after a while. How many times do you have to click on the link to realize there isn't really a picture?

Ruby is quite cromulent. (4, Funny)

HillaryWBush (882804) | more than 9 years ago | (#12836871)

I particularly enjoy their persistable domain model (where logic and data are bound in one wrapping). The one-method-per-action-controller-request-router is sweet. And there's nothing like sending out forgotten passwords and invoices from easy-to-test email service layers on top of sendmail. To dust off an old chestnut, I welcome our new buzzword-crazed overlords. It's too bad that I already have a good job as a clown.

Re:Ruby is quite cromulent. (0)

Anonymous Coward | more than 9 years ago | (#12837207)

And there's nothing like sending out forgotten passwords and invoices from easy-to-test email service layers on top of sendmail.

Don't do this! I see this mistake being made so often it's worth pointing it out here.

The proper way to construct a password authentication mechanism is NOT to store the password in plain text. Hash the password (with salt), and if they forget it, generate a new random one.

Every time I get an email from an organisation with my password in clear text (as an unrequested reminder, usually), my opinion of them is lowered considerably. They might as well send me an email reminder saying "remember never to shop with us online, because we know fuck all about security".

Re:Ruby is quite cromulent. (1)

LFS.Morpheus (596173) | more than 9 years ago | (#12837495)

Hey hey, just because Mr. Buzzwords said 'forgotten passwords' doesn't mean he's sending out passwords that are stored in plain text. Maybe Mr. Buzzwords generated a new password for you, which you will have to change upon logging in.

Although, I know for a fact Mr. Buzzwords doesn't like salt, so you could be right.

(Disclaimer: Yes, I know what 'salt' really is...)

Suggestions (2)

ajakk (29927) | more than 9 years ago | (#12836896)

I am putting together a CMS type web application, and I would like some recommendations on infrastructure to use. I have tried modifying existing PHP apps, and I have only had moderate success with that. I have experience in Python, PHP, Java, and am willing to try almost anything (Perl is almost). From looking at the Apache Java solutions, those look a little to heavy. I have looked at Zope, but I have never gotten comfortable with its administration or syntax. I have thought about using Cheetah and WebWare/Webkit. All of this hype about Ruby on Rails had made me want to take a look at it. I know this is sorta open ended, but does anyone have any good suggestions?

Re:Suggestions (1)

droolfool (235314) | more than 9 years ago | (#12836919)

Have you tried Plone?

Re:Suggestions (1)

byolinux (535260) | more than 9 years ago | (#12837047)

Plone is very good.

Re:Suggestions (1)

ajakk (29927) | more than 9 years ago | (#12837087)

I haven't dug into it much. I have thought that it might be the best product, but it also seems to have a decent learning curve (even if it is really powerful). I will have to take another look at it.

Re:Suggestions (2, Informative)

abigor (540274) | more than 9 years ago | (#12836961)

CherryPy is quite nice (Python-based web app framework). Very quick to get stuff up and running.

Re:Suggestions (1)

Colonel Panic (15235) | more than 9 years ago | (#12837438)

Do yourself a favor: set aside a couple of hours and give Rails a try. Go through one of the tutorials. You'll end up saving yourself a lot of time. You probably won't even be inclined to try one of the other solutions you mention as I suspect you'll be plenty happy with Rails (make that ecstatically happy).

Re:Suggestions (1)

ArgieNomad (850645) | more than 9 years ago | (#12837477)

If behind "CMS type web application" lurks yet another blog script, don't bother.

All the features in a blog script you think you couldn't live without, you'll never use them.

On the other side, have you tried Ariadne [ariadne-cms.org] ?

no thank you (0)

Anonymous Coward | more than 9 years ago | (#12837799)

Oh my god that looks terrible. Its main features are apparently a UI with a WYSIWYG editor and drop-down menus. And the online demo? It looks like a version of Zope from 1999 minus all the good parts.

But, hey, it's got a WYSIWYG editor! Why would we care about anything else?

Re:Suggestions (2)

Marillion (33728) | more than 9 years ago | (#12837505)

Since this is a Rails Article, I have found Typo [leetsoft.com] which is a Rails based Blog tool that's along the same lines as WordPress or MoveableType and others. It has Comments, RSS+Atom feeds.

You can use all the MoveableType posting tools to maintain content - or use the builtin Active Record, HTML based Admin Tool.

It's pretty young, and has a few bugs in the XML-RPC interface. But, it was easy to customize and fix the XML-RPC bug.

If you promise to be nice to my home DSL line: The Fermata [bardes.org]

why is slashdot obsessed with RoR? (1, Insightful)

Anonymous Coward | more than 9 years ago | (#12836900)

It's not so fantastic... it's just a simple application framework, offering little more than rolling your own with higher level languages.

Re:why is slashdot obsessed with RoR? (3, Insightful)

Peter Cooper (660482) | more than 9 years ago | (#12837001)

That's incorrect. Even if we assume your statement is true, RoR offers "little more" in the same way that C++ offers "little more" over C.

Rails is a flexible framework that allows you to keep your house in order when coding Web applications and which encourages test driven development. Ruby, as a language, makes this all very easy as almost everything in Ruby is an object, so the syntax becomes intuitive. Some people tried to replicate RoR with PHP, and the syntax was vile and full of syntactic salt.

Using Rails to develop Web apps, as opposed to, say, PHP, is like using a language that has garbage collection over one that does not. It removes another level of complexity and lets you focus on the important stuff.

why is slashdot obsessed with round objects? (0)

Anonymous Coward | more than 9 years ago | (#12837054)

http://homepage.mac.com/svc/ADayAtTheBeach/ [mac.com]

And yet Seaside surfs under most people's radar.

---
"Slow Down Cowboy!

Slashdot requires you to wait between each successful posting of a comment to allow everyone a fair chance at posting a comment.

It's been 9 minutes since you last successfully posted a comment

Chances are, you wouldn't see the above if Taco had used Ruby on Rails instead of Perl."

Re:why is slashdot obsessed with RoR? (0)

Anonymous Coward | more than 9 years ago | (#12837059)

Hey, I know nothing about RoR but your description isn't much evidence that what it offers is >= the difference between C and C++.

Meh. (1)

abulafia (7826) | more than 9 years ago | (#12837352)

Downloaded it, played with it, probably won't ever bother again.

It is neat and all; I like the structure, and it looks fine for form-per-table sorts of toy apps, but I really don't see the advantage for anything more complicated.

Re:Meh. (0, Troll)

Colonel Panic (15235) | more than 9 years ago | (#12837487)

It is neat and all; I like the structure, and it looks fine for form-per-table sorts of toy apps, but I really don't see the advantage for anything more complicated.

Yeah, stick with your PHP, dude.

Re:Meh. (0)

abulafia (7826) | more than 9 years ago | (#12837714)

I hate PHP. Crappy language all around.

Given the option, we're mod_perl/Mason all around. We've written our own O/R mapping layer, and have a nice haskell-style rules engine, and general toolset - for time-to-market and quality, we'll take any consulting shop on. Java bugs me, but it is fine, I guess - enough clients like it, so I deal with it. Of course, for speed sensitive things, mod_* and DB extensions, we're C all the way.

Oh, by the way: bite me. Come back and play when you've gotten your degree.

Re:Thats fairly meaningless... (1, Interesting)

Anonymous Coward | more than 9 years ago | (#12837410)

Why was this modded up?

"Rails is a flexible framework that allows you to keep your house in order when coding Web applications"

Ah. Good to know. Now, can you tell me what does that mean, really?

"encourages test driven development."

Test-write-test development cycles do this, regardless of the language or development 'style'. What you're saying is that RoR does not *prevent* this dev cycle form being employed. This is good to know, but hardly unique to RoR.

"Some people tried to replicate RoR with PHP, and the syntax was vile and full of syntactic salt."

Who, where, when and can we have some examples of syntactic salt?

"Using Rails to develop Web apps, as opposed to, say, PHP, is like using a language that has garbage collection over one that does not."

Yes, and love is like a red red rose.

This tells me very little about RoR and why I should use it. Nearly as much as the old saw tells me about the practicalities of love.

I understand that RoR is a mature programming language in that it offers layers of abstraction. Get in line behind half a dozen other solutions.

Re:Thats fairly meaningless... (1)

Peter Cooper (660482) | more than 9 years ago | (#12837492)

Test-write-test development cycles do this, regardless of the language or development 'style'. What you're saying is that RoR does not *prevent* this dev cycle form being employed. This is good to know, but hardly unique to RoR.

You have clearly never used Rails. Testing is very specifically implemented in Rails, it's actually part of the "way" of doing things.

I understand that RoR is a mature programming language in that it offers layers of abstraction. Get in line behind half a dozen other solutions.

RoR is not a "programming language", it's a framework around Ruby. Now you're just trolling with no knowledge of the subject at hand, so I'll stop.

still sound and fury, and a touch a flame to boot (0)

Anonymous Coward | more than 9 years ago | (#12837559)

"Testing is very specifically implemented in Rails, it's actually part of the "way" of doing things."

Again, hardly unique

"it's a framework around Ruby."

Which. Means. What. ?

" Now you're just trolling with no knowledge of the subject at hand, so I'll stop."

Interesting that you proceed almost immediately to flaming me instead of actually clarifying or saying something constructive.

If I had a dime for every fully buzzword compliant 'iFramework' I have seen bandied about in this business, I'd be out of the business on an island retreat. Ultimately, good software (app or webapp) begins and ends good implementation practices and good architecture and yes, good project management. Language, 'Framework' and the latest golden hammer thats sexier || lighter || better || sleeker than last years golden hammer is ultimately the refuge of bad hacks seeking easy answers in the hottest technology.

Right tool, for the right job, for the right (development) price. Thats the equation of import. Everything else is just BS.

Ah, but in your wisdom, this is just 'trolling'. So software will continue to, as an industry, suck and suffer under the weight of fools.

Re:still sound and fury, and a touch a flame to bo (1)

Peter Cooper (660482) | more than 9 years ago | (#12837593)

You said RoR was a "programming language".. demonstrating you haven't read the rest of the thread. Not an attack or a flame, but if you're not trolling, it's hard to tell.

"it's a framework around Ruby."

Which. Means. What. ?


If you don't know what "framework" means in relating to coding, this is not the article, book, or topic for you.

Right tool, for the right job, for the right (development) price.

We can agree on that. This is why I use other languages in ancillary systems around some of my Rails applications as Rails has a very specific domain.

Re:still sound and fury, and a touch a flame to bo (0)

Anonymous Coward | more than 9 years ago | (#12837651)

"If you don't know what "framework" means in relating to coding, this is not the article, book, or topic for you."

This is called 'appeal to ridicule' in rhetorical logic. It might make you look clever to the very not-clever (see also: political discourse), but it gets you nowhere with me or with anyone else with two brain cells to rub together.

Look, fellow. That puff of air was the point rocketing past your head at mach 3. I've employed more technologies referenced as 'frameworks' than I have fingers to code with. Its a meaningless buzzword and it clarifies the usefullness of RoR or how it helps you 'keep your house in order' like black spray-paint clarifies glass. Its a buzzword to hide behind, not a meaningful explication of the technology under proposal.

I gladly leave the sandbox to you, as I actually don't like sand-flicking contests. Enjoy it.

Hmm. (0)

Anonymous Coward | more than 9 years ago | (#12837515)

Maybe I'm just retarded, but from your description Ruby on Rails sounds exactly like (parts of) .NET with C#.

Charge for Beta PDF and booK? (0)

blueskies (525815) | more than 9 years ago | (#12836904)

I would think about ordering the book, if you got the Beta PDF, and then they sent you the book when it comes out.

But they want to charge for the book and charge for the Beta PDF? WTF?

Re:Charge for Beta PDF and booK? (3, Informative)

braeburn (837058) | more than 9 years ago | (#12836940)

They sell their book as either a PDF or a physical book, the PDF being cheaper. You can buy the beta PDF and when the book is released you'll get the final PDF. Or, a little more money, you can buy the PDF and get the physical book when it comes out.

Considering the normal cost of technical books, I think it's a sweet deal. These are not small books.

Re:Charge for Beta PDF and booK? (4, Informative)

Peter Cooper (660482) | more than 9 years ago | (#12836949)

Incorrect. If you buy the book now, you'll get the beta PDF and the book when it comes out. Likewise, if you just buy the PDF, you'll get the full PDF when it's all done. You are not just buying a beta in either case.

Charge for Beta PDF and booK?-Longer,slower,uncut (0)

Anonymous Coward | more than 9 years ago | (#12836959)

"But they want to charge for the book and charge for the Beta PDF? WTF?"

Just wait till the VHS PDF comes out. You'll get a longer reading time.

Re:Charge for Beta PDF and booK? (0)

Anonymous Coward | more than 9 years ago | (#12836960)

Read the offer carefully. They charge one price for the beta PDF + the finished paper book, or a considerably smaller price for just the beta PDF.

Re:Charge for Beta PDF and booK? (1)

Big Sean O (317186) | more than 9 years ago | (#12837275)

Not just the beta PDF.

In all cases, you get the beta version PDF now, intermediate PDF releases, and the final PDF version.

If you buy the book too, you get the book when published.

$22.50 for the Beta .pdf, $43.75 for the real book (3, Insightful)

Harry Balls (799916) | more than 9 years ago | (#12836972)

It doesn't look like you get a discount on the physical book when you purchase the Beta .pdf

Your math sucks. (2, Informative)

nacs (658138) | more than 9 years ago | (#12837028)

It's $22.50 for the PDF by itself or $43.75 for the dead tree book and the PDF.

In other words, the printed book is $21.25 if you take out the cost of the PDF.

I purchased the combo the day after it was released and must say it's more than worth the price.

They ship the final PDF if you buy the beta. (1)

eduardodude (122967) | more than 9 years ago | (#12837611)

Check out their Beta FAQ [pragmaticprogrammer.com]

Hard to believe (1)

Blitzenn (554788) | more than 9 years ago | (#12836998)

I find it difficult to believe that if it is truely 'tens times simpler' that there would be any necessity for a book to explain it. Isn't the fact that there is a book contradictory to the statement?

Re:Hard to believe (2, Insightful)

Peter Cooper (660482) | more than 9 years ago | (#12837030)

The problem is that most incoming developers are coming from TMTOWTDI languages or are not initimitely familiar with OOP. Ruby's flexibility allows you to code in a somewhat C/Perl-esque "by the seat of your pants" fashion if you want, but it heavily encourages doing things in a very object-oriented test-driven way. Books and tutorials are necessary to beat this into the heads of incoming developers. An MVC framework is not a new idea and Rails is by no means the first, but it's the first to be picking up such novice coders. Tutorials are essential. When I started Rails eight months ago, there was no third party documentation or tutorials.. and I'm still correcting my bad habits even now.

And, well, basic documentation is necessary everywhere. People know they shouldn't kill each other or commit adultery, yet billions around the world still keep a Bible/Koran/Torah handy.

Re:Hard to believe (0)

Anonymous Coward | more than 9 years ago | (#12837159)

"The problem is that most incoming developers are coming from TMTOWTDI languages or are not initimitely familiar with OOP."

Not intimitely familiar with OOP? Where are these incoming developers comming from? The 1970's?

Re:Hard to believe (2, Interesting)

Peter Cooper (660482) | more than 9 years ago | (#12837224)

You'd be surprised. A lot of supposedly OOP code is written in a horribly procedural fashion even nowadays. I'd guess this is because the most popular OOP languages encourage it, by mixing procedural languages with OOP.. such as VB or Delphi.

hmmm (4, Interesting)

einer (459199) | more than 9 years ago | (#12837042)

In short, Rails is a brilliant architecture, and Agile Web Development with Ruby on Rails is a great book.

I believe that not grokking MVC detracts from the value of your review, particularly with respect to your opinion of the architecture of Rails. Without understanding MVC, you can have no understanding of the design decisions they made, and as such, no qualified understanding of the architecture itself.

This was my only concern. Thanks for the review!

Re:hmmm (2, Interesting)

Ridgelift (228977) | more than 9 years ago | (#12837334)

I believe that not grokking MVC detracts from the value of your review, particularly with respect to your opinion of the architecture of Rails. Without understanding MVC, you can have no understanding of the design decisions they made, and as such, no qualified understanding of the architecture itself.
Yep, I admit fully I'm probably not qualified as others to review the book. But I can only give my opinion, and for a newbie who's played with other architectures and run into a big pile of messy code after awhile, I can say I haven't experienced this with Rails. So while I might not understand exactly why Rails helps keep things neat and tidy, I can say what I personally have experienced. Or another way, I can't tell you why Mozart was a musical genius, all I know is I recognize that he is based on what I've heard.

If it helps, let me change my statement: In short, Rails is a really, really good architecture 'cause it helps me keep develop code faster and cleaner than anything else I've used, and Agile Web Development with Ruby on Rails is a great book because even newbies can understand it.

So since I readily admit my opinion isn't a qualified one, how about something from O'Reilly instead: [oreilly.com]
Ruby on Rails is astounding. Using it is like watching a kung-fu movie, where a dozen bad-ass frameworks prepare to beat up the little newcomer only to be handed their asses in a variety of imaginative ways. I've got David Heinemeier Hanson giving a session, tutorial, and keynote. That's how much I love "convention over configuration" and the other philosophies behind Rails. Rails shows us a very interesting future for web applications, and is a great example of innovation from within the open source community.

Re:hmmm (1)

aukset (889860) | more than 9 years ago | (#12837538)

Don't sweat it. Gotta start (learning) somewhere, and there's nothing wrong with diving in head first. Thanks for your review. It actually helped me decide to go ahead and buy the book/pdf.

Wow (4, Insightful)

aftk2 (556992) | more than 9 years ago | (#12837053)

Could this review be more fawning, please?

The appendices that cap off the book also provide the full tutorial source code, as well as a brief introduction to Ruby, the language that makes all the magic happen.
In short, Rails is a brilliant architecture
Agile Web Development with Ruby on Rails is a great choice, and will probably be the definitive book on the subject. The tutorial is probably the best I've ever read.

God. That last one sounds like Napoleon Dynamite.

A "beta" book, in PDF form, with typographical and technical errors, will probably be the "definitive book" about a brand-new framework? What a statement...

Don't get me wrong - I haven't had much time to play with Rails, and as a web developer, I probably should, in order to keep my skills fresh. I may even like it. But this fervent, sycophantic praise - spurred on by the blogerati (flamesuit enabled) - seems premature, especially when there are many capable web application frameworks out there. In the future, it might even seem silly. After all, anyone want to admit to owning a copy of Oreilly's book about Slash?

Re:Wow (2, Informative)

nacs (658138) | more than 9 years ago | (#12837116)

The tutorial really is one of the best I've ever read, spans 131 pages and walks through building a high quality app with an administration interface and unit testing thrown in.

Many /.ers are seeing the 'beta' line and automatically equating it with 'crap'. The actual book, however, is excellent even in it's beta stages and is easily better than many of the non-beta technical books I own.

This book is written primarily by Dave Thomas who wrote pretty much the definitive book on Ruby and who was kind enough to contribute the first edition of the book to the Ruby community (you can read it online here [phrogz.net] ).

Re:Wow (1)

mrmargolis (781449) | more than 9 years ago | (#12837134)

A "beta" book, in PDF form, with typographical and technical errors, will probably be the "definitive book" about a brand-new framework? What a statement...

This sure seems a little shortsided

The book is pretty much all together. It is missing a few diagrams and some of the formatting is a little strange but on the whole it looks like a finished book. The beta book is now in its second release and has been edited a significant amount. There have been hundreds(maybe even thousands) of changes made by the authors in response to feedback given by the community. Lots of typos and oddities in the code have been fixed. At this point it is more polished than a lot of programming books I have read.
I fully agree with the review, this will be the definitive book.

Re:Wow (1)

chromatic (9471) | more than 9 years ago | (#12837218)

After all, anyone want to admit to owning a copy of Oreilly's book about Slash?

Well yeah... sorta.

Ha Ha (1)

Big Sean O (317186) | more than 9 years ago | (#12837297)

You made me laff. ha ha.

Better than Java, or just easier? (2, Interesting)

jtogel (840879) | more than 9 years ago | (#12837068)

As I understand it, Ruby/Rails has got a lot of attention lately as it seems to be an easy to learn yet powerful way of creating web applications, for people that normally use php. However, while php is great for quick hacks, it really caters most to those who have never had any proper programming education, and is not very well suited to anything more advanced than a shopping cart. (No, this is not flamebait, it's fact. Sorry for offending some of you, I don't know how to put it otherwise.)

So, my question is: is there anything in all that RoR buzz for those who actually have CS degrees and usually do web development with JSP/servlets? Is RoR in any way better than Java, or just easier?

Re:Better than Java, or just easier? (2, Informative)

Peter Cooper (660482) | more than 9 years ago | (#12837107)

The business analysis: If you're working on high-end enterprise apps, or apps that demand a very long term investment, I'd say stick with JSP. Rails isn't there yet. If you're working on Web apps with a small(ish) development team and are mostly concerned with getting something out there that's secure, quick, and full featured quickly then Rails is, really, the only way to go.

The coding analysis: Ruby has a lot of semantic advantages over Java. It's easier to read, has less syntactic salt, and encourages test-driven development a lot more. It's also easier to migrate to from other languages, and most RoR coders are very recent migrants from either Java, PHP or Perl. RoR is easier than Java, and in many cases this would mean "better", but... "better" is highly subjective. I'd still say Java is preferable at enterprise level, but Rails more than has its place, and kicks Java's butt when it comes to rapid, reliable development with a small team.. but Java.. it's all about the enterprise.

Re:Better than Java, or just easier? (1)

jtogel (840879) | more than 9 years ago | (#12837200)

I suppose I still have to try out RoR seriously, then... And I can buy the syntactic sugar argument - while which code looks better is to a large extent a matter of personal taste, Java code certainly has many characters per method call, aka long lines. (Is there an established measure for this?)

One thing I've never really understood, though, is why people generally consider Java development slow. To me, getting a basic web app going in JSP takes no longer than doing the same in PHP. Probably less, if there is debugging involved. It might be that it could go even faster with Rails.

Another factor is the ease of integration with other apps. I don't spend most of my days developing for the web, rather I do bio-inspired AI, but when I do do web I often want to integrate it with some other fanciness I've written, often in Java. Doing both web and other applications written in the same language makes integration infinitely much easier. But I guess I'm a minority here, as most web apps only ever communicate with a database.

Re:Better than Java, or just easier? (1)

Peter Cooper (660482) | more than 9 years ago | (#12837320)

I'd consider Java slow because, well, it's so involved. It's not a simple download, tweak of Apache, and I'm running.. it's a go through Sun's weird T&Cs, download using some weird download manager, install, do some research as to what a servlet is and how it relates to Java, find out what beans are, then find out there's no mod_java (or similar) for running JSPs (then, again, find out what this means) and that I have to get Tomcat. Work out how to install Tomcat.. and, well, it goes on and on.

With Ruby on Rails, you can type a few lines at the prompt and have a whole database accessible app scaffolded for you, and can work from there. I'm not saying this makes RoR "better" than Java, but it's a whole lot more pragmatic, and I'm a very pragmatic person so is better for *me*, even if it sucks for the enterprise.

And regarding app integration.. Ruby is rapidly becoming a Perl-like language for UNIX-based hackery. Of course, if you're more into developing fully fledged apps, this might not appeal to you.

Re:Better than Java, or just easier? (1)

jarich (733129) | more than 9 years ago | (#12837223)

As I understand it (and I'm just starting to tinker with ROR) is that ROR is configured by convention, not by configuration file.

If you use Struts, Spring, etc., you configure every action in mulitple XML files. You map everything around so that the application knows what to do. This means you must define knowledge about your application's architecture in multiple places. It will be in code and in several config files. This gets complicated fast.

With ROR, the application code is in a folder called "app". Their are subfolders for "model", "view" and "controllers". (These may just be the defaults that ROR gives you when you ask it to create your new application's skeleton.)

If you want a controller called "say", you name it "say_controller.rb" and ROR knows it's a controller. So if something asks for a controller called "say", it finds it and runs it.

The idea is that by using clear, well-defined conventions the app server knows how to handle your code. No redundant declarations and mappings.

I'm probably grossly misrepresenting the framework with this short blurb... Check out the Rails homepage for more...

Re:Better than Java, or just easier? (1)

jtogel (840879) | more than 9 years ago | (#12837296)

If you use Struts, Spring, etc., you configure every action in mulitple XML files. You map everything around so that the application knows what to do. This means you must define knowledge about your application's architecture in multiple places.

With Tomcat, I just drop JSP files in one directory and classes in another. If MVC thinking is required, the model can reside in the classes, and view in the JSPs. Not very complicated. But I've probably missed something important here...

Re:Better than Java, or just easier? (1)

Colonel Panic (15235) | more than 9 years ago | (#12837571)

is there anything in all that RoR buzz for those who actually have CS degrees

Well, I realize that the main focus of CS degrees these days is either Java or C#, so perhaps you haven't heard of languages like Smalltalk or Lisp.

Yes, I tend to agree with what you're saying about PHP, but the same doesn't apply to Ruby. Ruby is a language that CS grads can love, it's fully OO like Smalltalk and has:
* mixins
* closures
* anonymous code blocks (which makes it very easy to define your own domain specific languages - in many ways RoR is a domain specific language built on Ruby + code generation)
* it's very easy to extend with C code.
* some functional elements
* continuations
* threads

You're right about PHP, but
Ruby borrows heavily from Smalltalk and Lisp/Scheme (and a bit from Perl as well, I must admit, but in general they are the good/pragmatic parts).

As far as whether or not RoR is 'better' than Java or not, I'd say it's very different from Java. Ruby is dynamically typed and that can help boost productivity and makes code reuse very easy. I suspect that this is largely what makes people more productive in Ruby than they are in Java. Will RoR replace Java/Struts/J2EE/etc? Probably not in large corporate shops, but in small to medium sized shops RoR is very compelling.

Fastest way to learn Rails .. (-1, Offtopic)

riiv (105659) | more than 9 years ago | (#12837093)

is to play a lot of instagib.

RoR Really _Is_ Part Of Scientology (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#12837095)

Otherwise how could two articles about this book be posted?

/. editors undoubtedly spotted the dupe, but must have allowed it out of fear that, were the second article omitted, Scientologists would shut /. down.

It's not technically a dupe. (0)

Anonymous Coward | more than 9 years ago | (#12837208)

It wasn't a dupe. The book was only mentioned in another post about "beta programming books." This is actually a review of said book.

Dave Thomas is writing from the grave?!?! (2, Funny)

wernst (536414) | more than 9 years ago | (#12837130)

Dave Thomas [wendys.com] wrote this book?

Talk about an active guy! He helps Colonel Sanders start a chicken business, then founds his own restaurant chain, then dies, THEN writes a book about Ruby on Rails?

I'm clearly not doing enough with my life...

Planned Ruby Successor is SOS (-1, Flamebait)

Anonymous Coward | more than 9 years ago | (#12837148)

Release of RoR's("Ruby on Rails") successor is imminent. They've named the new software SoS ("Sack of Shit").

Which is precisely what you'll get in a $24 PDF file at the OP's site.

What exactly is "on rails"? Someone help me out (0)

Anonymous Coward | more than 9 years ago | (#12837190)

"Agile web development on rails" sounds like a bunch of acrobats in a boxcar and "Ruby on rails" just sounds dirty to me.

But in all seriousness, what exactly is this "on rails" business all about?

Re:What exactly is "on rails"? Someone help me out (1)

Peter Cooper (660482) | more than 9 years ago | (#12837290)

Rails was originally extrapolated from a Web application called BaseCamp [basecamphq.com] , a project management system written in Ruby. From what I understand, this framework was considered to make Ruby a lot more efficient to develop Web applications.. thereby putting it "on rails", as it were.

Re:What exactly is "on rails"? Someone help me out (1)

Colol (35104) | more than 9 years ago | (#12837330)

Rails is a Web 2.0 AJAX-enabled test-driven RAD environment in the MVC paradigm! (Bingo!)

More seriously... Rails [rubyonrails.org] is a rapid web application development framework. It's written in the Ruby language, hence the "Ruby on Rails." It abstracts things quite well, leaving you to worry about actually implementing the program logic (and site design) rather than managing database connections, writing getter and setter methods, sanitizing user input, and all that oh-so-fun stuff.

If you've got QuickTime, the "Show, Don't Tell" [nextangle.com] video does a pretty good job demonstrating the very basics of what Rails can do. The video is fairly large and best viewed outside a browser window.

I went from zero knowledge of both Ruby and Rails to a full-featured application in less than a week, so I'm happy with it.

I am a Java developer, but... (1)

MarkWatson (189759) | more than 9 years ago | (#12837265)

... I find Ruby on Rails to be great!

I have been using it for a few months, and although ActiveRecord is lacks a little of the flexibility of Hibernate, it is good enough for lots of database backed web applications. I like how easy it is to replace automatically generated scaffolding code with your own code, but the scaffolding code gets you started quickly.

Also, Ruby is a fine programming language - it has just about totally replaced Python as my scripting language of choice. Using Ruby has also cut way down on my use of Common Lisp and Scheme - I miss the raw performance of compiled COmmon Lisp code, but Ruby is generally fast enough for me.

I bought the PDF version (and physical book when it is available) of Agile Web Development with Rails - nice book.

-Mark

And for the Perl folks out there... (2, Interesting)

AGTiny (104967) | more than 9 years ago | (#12837270)

If you're interested in cool web frameworks, but don't want to learn Ruby, you might be interested to know there is a similar framework available for Perl called Catalyst. It's very flexible but generally takes advantage of great database mappers like Class::DBI and template engines like Template Toolkit. Many cool things are ongoing in the Catalyst community, such as Class::DBI::Sweet, a new extension to Class::DBI providing very cool automatic joins (ala ActiveRecord) and object/resultset caching.

Catalyst can be found at catalyst.perl.org [perl.org] or on CPAN [cpan.org] .

Re:And for the Perl folks out there... (1)

Colonel Panic (15235) | more than 9 years ago | (#12837634)

but don't want to learn Ruby

Who wouldn't want to learn Ruby?

Rails posts prediction ... (4, Insightful)

Chromodromic (668389) | more than 9 years ago | (#12837272)

I predict there will be basically two categories of posts about Rails.

Either, one, that Rails is so amazing that after you use it sex seems laughably trivial by comparison, even and especially you count the production value -- one can, after all, only have one child (on average) using sex, but with Rails, dude, I HAD TEN.

Or, two, that Rails is no big deal, it's just another MVC re-think, heck I rolled one of those myself one afternoon a coupla years back, yeah it ruled but, you know, I'm really into that Java thing now. Besides, Rails is no good for BIG projects, for that you need Hibernate and a crane.

So I'll post one for the middle-of-the-road. Rails rules. I love it. I've reimplemented, in a week-and-a-half, a fairly large application that took me two months to do with Python. It's not a fair comparison because with Python I used Webware but did everything, like user management and logging, with no starting point, and also the first time around I wasn't as familiar with the problem domain.

With Rails I used the Salted Hash Login Generator [rubyonrails.com] which got the basics of my user login and management done in one fell swoop, an hour or two of work. I also re-used the view code from the Python app.

But the rest of it was fun. I enjoyed it. Things were done quickly and the API is awesome. ActiveRecord is not Hibernate -- yes, Javapeople, we know, we know -- but it's good. It's really good and super easy. And while there's some magic going on behind the scenes with Rails, it's not hard to understand at all.

That said, yes, if you're an online payroll system for IBM, Rails won't cut it. There are flaws, but for day-to-day stuff, not too many. It's updated very frequently, too.

My only complaint is the ubermensch of Rails, Dave Heinemeier, who, while smart, is also all too aware of it, and frequently shoots his blog [loudthinking.com] off about topics which go beyond Web frameworks and into areas of either glib tech-prejudice or, at times, more subtle see-how-smart-I-am dorkposts -- the most insufferable species of Geek.

Otherwise, I strongly encourage anyone to check Rails out. It's great and a *lot* of other frameworks in other languages could stand to pay attention to the innovations in Rails. These innovations aren't so much technical epiphanies, as they are the meeting of many good ideas in one place, along with enthusiastic support and a lot of glue. Ruby's fun, too.

Check out, also, the frameworks from other languages which are shamelessly stealing from Rails:

Subway [python-hosting.com] (Python)
Catalyst [perl.org] (Perl)

Re:Rails posts prediction ... (1)

deeny (10239) | more than 9 years ago | (#12837782)

Four other frameworks shamelessly stealing from Rails:

Castle Project [castleproject.org] works on .Net with Ajax support.

Cake [sputnik.pl] is a Rails-like framework for PHP, and Biscuit [ripcord.co.nz] is another.

Lest the Java folks feel left out, there's also Trails [java.net] .

Re:Rails posts prediction ... (1)

Fweeky (41046) | more than 9 years ago | (#12837786)

"Salted Hash Login Generator"

Slightly flawed in that it uses a constant salt, meaning once a set of rainbow tables have been generated all your passwords are easily compromised.

I had a patch to it that supported non-salted, statically-salted and dynamically salted passwords (upgrading on auth) without changing table schemas beyond the default 38 bytes. I don't have it to hand unfortunately, but it's not hard to do; just use pack() to b64 the hash, put in some random bytes next to it seperated from the hash by $ or so, attempt each older method on failure, and now those rainbow tables are only good for a single password.

the sign of good software... (1)

Anonymous Coward | more than 9 years ago | (#12837318)

While trying to grok Ruby on Rails, topics like Model-View-Control and Object-Relational Mapping really don't stick at first.

The thing to keep in mind is, Rails makes it extremely easy to use these concepts in your programs.

If it takes one-two lines of code to do MVC, why not do it? If accessing your database requires two lines, why not do it? And get all the cool stuff "for free".

This is really the secret of Rails. It makes a clean design just as cheap as throwing something together in PHP.

does RR have .... (1)

Hohlraum (135212) | more than 9 years ago | (#12837347)

stuff like contexts in java where you can have a session context and store objects in it? Also is there something that sync's sessions from one server to another to support load balanced environments?

those are really the only thing i like about java that I can't seem to find in other programming languages. Please don't say Apache::Session .. atleast not unless there is some kind of session sync capability available now. Storing session data in a database has just too much overhead.

I like the looks of ruby. I've been a perl developer for many years and really don't find the perl offerings to be enterprise quality. We've always resorted to reimplementing our own frameworks which obvious is very inefficient.

Re:does RR have .... (1)

Colol (35104) | more than 9 years ago | (#12837408)

stuff like contexts in java where you can have a session context and store objects in it?
Yes, you can store objects in a session context. Sample and gotchas here [rubyonrails.com] at the RoR wiki.

Also is there something that sync's sessions from one server to another to support load balanced environments?
More than something, there are numerous ways to support this. You can store you session data in temporary files on the server (the default), share it using Distributed Ruby, store it to the database for retrieval... So yes, your applications can be load balanced across multiple servers while maintaining session data.

Scott Barron did some benchmarking [elitists.net] of the various methods, if you're interested in that sort of thing as well.

Slashdot these days: (3, Funny)

Qbertino (265505) | more than 9 years ago | (#12837416)

RUBY! AJAX! ORGASM! Hit it with a RAIL!
R!
O!
R!
ROOOOOAAAAR!
RUBY ON RAILS! So fucking awsome I gotta, ... I, OMFG!!!111!! I'm coming, I'm gonna, OMG ... say "I like your monkey!!!" SAY IT! - .... OOOOooooohhhh, Rubyajaxrails, yeaaaah!!
I've got it! Yeah! I've got a vision, people, a vision!
We're gonna have Ajax and we're gonna put it on Rails and it's all gonna be like Lucy in the Sky with Rubys.
Oh my gosh am I seeing some shit....
This is so awesome... ...and any Beta mindfart about it is like ten times ten Ajax orgasms!
(And now for the real thing watch this post being modded +10 Insightfull)

Re:Slashdot these days: (2, Insightful)

Ridgelift (228977) | more than 9 years ago | (#12837565)

This is so awesome... ...and any Beta mindfart about it is like ten times ten Ajax orgasms!
(And now for the real thing watch this post being modded +10 Insightfull)
I love how on Slashdot if you show any enthusiasm you're a mindless lemming, and if you're overly critical about anything (sans Microsoft) you're a biased ignoramus.

Re:Slashdot these days: (2, Funny)

Qbertino (265505) | more than 9 years ago | (#12837606)

Now you did it. After you said that my Ajax has gone all agile.

Re:Slashdot these days: (0)

Anonymous Coward | more than 9 years ago | (#12837668)

It is funny because it is true. Rails really is awesome.

Re:Slashdot these days: (1)

TopSpin (753) | more than 9 years ago | (#12837849)

We're gonna have Ajax and we're gonna put it on Rails...

RoR already does Ajax. There's a nice JavaScript library called Prototype that's integrated with RoR out of the box.

I remember this level of hype surrounding many other things in the last 15 years; Linux, Apache, MySQL, Perl, PHP, Python, Java, JBoss, etc. The thing is most of them have lived up to the hype to some degree and now they're taken for granted.

RoR is worthy of the hype. It eliminates bullshit in the web app stack. That means you, the designer/coder/maintainer scale better. Being more productive is always a win, every single time it's tried.

Ruby vs Java (3, Insightful)

nostriluu (138310) | more than 9 years ago | (#12837429)

Ruby sounds really interesting, but after all the language is just one aspect of development.

I use Java (and parts of J2EE).
Its too bad there's no truly free/open source runtime yet, but I'm sure that day will come soon.

Another problem with Java is really too much choice. Sun's higher level solutions tend to be over engineered, so everyone and their uncle have designed their own complex framework for object persistance and session management, along with the mixed bag of JSRs. Thus you have Java advocates like Javalobby saying Ruby on Rails is a great framework, and all the best free CMSs are PHP.

I am sure that Ruby on Rails makes it quick to put up a web site that supports database CRUD operations, but just like using Visual Basic to create forms, what do you have after that part is done?

The reason I like Java is its maturity and community, as well as the rigidity of the language.

Because of its multi vendor and open software support, you can find an open source or at worst free-as-in-beer library to do just about anything, and there's plenty of discussion about using all the components that exist.

If you don't like Java's rigidity and verbosity, there are some nice improvements in JDK 1.5.

From pre-1.5:

void cancelAll(Collection c) {
for (Iterator i = c.iterator(); i.hasNext(); ) {
TimerTask tt = (TimerTask) i.next();
tt.cancel();
}
}

in 1.5:

void cancelAll(Collection c) {
for (TimerTask task : c)
task.cancel();
}

Or you can execute Groovy, Jython, JRuby, etc in a JVM, or alongside PHP with JSR 223.

I don't think execution speed arguments against Java are accurate any more, especially when comparing it to languages such as Ruby, Python and PHP, and I find the memory requirements to be easily manageable in typical situations (Firefox, alas, takes much more memory on my workstation).

Creating a working application in any environment is fairly easy for anyone with sufficient training and experience, but unless you're a rare master, once you are at that plateau of a working app and you need to change it, the maturity and popularity of your environment become very important for support.

I think hands down Java is the winner here with great tools like Eclipse, with great refactoring support and where you know even in large projects what is broken as you're working on code, as well as the large community for support.

The portability of Java is also very good, you can become very OS agnostic (unless you need to get into a few aspects such as multimedia).

Anyway, sorry to wax on, and I'm always trying to find out what other environments offer, but I don't think Java is given enough credit.

Re:Ruby vs Java (1)

Peter Cooper (660482) | more than 9 years ago | (#12837570)

It's VERY dependent on what your app does, but if I've guessed correctly, your example would be something like this with Rails.

def cancelAll
TimerCollection.find(:id => params[:id]).tasks.each { |t| t.cancel }
end

Find a timercollection with a certain idea, then iterate through each of its tasks and cancel them. Ruby is more wordy than Java 1.5, but this aids readability.

I don't think Java is given enough credit.

You are probably right there.

What (1, Interesting)

smart.id (264791) | more than 9 years ago | (#12837465)

What the fuck is Ruby on Rails?

explain for the newcomer (1)

sdedeo (683762) | more than 9 years ago | (#12837503)

I'm about to write some web-based software in Python -- including the need for "user" accounts, etc. etc.. I'd like to have a lot of flexibility, but also not to have some massive beast (I've already written a prototype in Perl.) Why should I learn all this RoR stuff instead? Isn't it just another way to do cgi? I mean, I'm no guru here. Help me out, guys.

Expect a lot more out of Ruby on Rails (1)

matchboy (519044) | more than 9 years ago | (#12837601)

There are currently 5 books in the works about Ruby on Rails (two by O'Reilly). :-)

Working software over comprehensive documentation? (1)

ScottyH (791307) | more than 9 years ago | (#12837607)

Something about this really bothers me. It just feels like some excuse to be lazy. The software you write should be both well documented and working...as simple as that. Especially if you're building an open-source framework intended for widespread use.

Good documentation is incredibly important. Self-documenting code doesn't really work with anything in the real world.

And I'm sorry to say it, but if you don't understand MVC, then you shouldn't be writing reviews on OOP framework books.

Zope (2, Insightful)

Qbertino (265505) | more than 9 years ago | (#12837631)

What Ruby on Rails wants to be when it grows up [zope.org] .

Re:Zope (0, Insightful)

Anonymous Coward | more than 9 years ago | (#12837710)

Oh man.

Zope is exactly what Rails is NOT: bloat. new names for old concepts. big time sink.

Zope is for people who like big gas-guzzling cars and remote controls with lots of buttons labeled in French. Folks who own a barbecue and use it every July. The kind of guy who has a whole stack of magazines on the table that he never reads.

Rails.. now Rails is for people who like to have lots of sex with a beautiful woman and then go to a restaurant where food is served quickly. Rails guys, they just drink ice water, sometimes leaving out the ice. You'll never catch a Rails dude tying his shoes.

Do you know what I mean?

A review of a beta book about an alpha framework. (1)

n3bulous (72591) | more than 9 years ago | (#12837654)

RoR is interesting but in a high state of flux. Give it 6 months to a year unless you like migrating your applications every other week.

I Didn't Know What Ruby Was, But I Found Rails (1)

voodoo_bluesman (255725) | more than 9 years ago | (#12837672)

For all of those that want to knock this product, check it out first. Just head to http://www.rubyonrails.com/ [rubyonrails.com] and view the video on the front page to see how easy it is to build a basic web application.

I have been developing with the Rails framework for a little over a month and have been far more productive than I ever was in PHP or J2EE.

Rails will make you love Ruby, or at least respect it.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...