Slashdot Mirror


Agile Web Development with Ruby on Rails

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. Agile Web Development with Ruby on Rails author Dave Thomas and David Heinemeier Hansson pages 506 publisher The Pragmatic Programmers, LLC rating Excellent reviewer Miles K. Forrest ISBN (Book still in beta) summary A complete primer to developing web applications with Ruby on Rails

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.

222 comments

  1. Since when does "huge" apply to Ruby? by Anonymous Coward · · Score: 1, Funny

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

    Yeah, all 200 Ruby developers...

    1. Re:Since when does "huge" apply to Ruby? by Peter+Cooper · · Score: 3, Informative

      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.

    2. Re:Since when does "huge" apply to Ruby? by jarich · · Score: 1
      200?

      Apparently there were a few people who bought the book the first week-end...

      http://blogs.pragprog.com/cgi-bin/pragdave.cgi/Ran dom/RailsBeta2.rdoc

    3. Re:Since when does "huge" apply to Ruby? by mrmargolis · · Score: 1

      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

    4. Re:Since when does "huge" apply to Ruby? by willisbueller · · Score: 0

      I know I've already pre-ordered. I was hooked since the the first tutorial went up onLAMP. The sheer beauty of it's design pattern oriented structure is enough to bring a tear to anyone's eye... and the ability to spit out the scaffolding in the recent releases is just beautiful. It is like the Zen of web programming.

    5. Re:Since when does "huge" apply to Ruby? by Anonymous Coward · · Score: 0

      That's well and good, but 100% can still be represented as a fraction.

  2. Re:wasn't this just on here? by falzer · · Score: 2, Funny

    Nubile virgins.

  3. Ruby is quite cromulent. by HillaryWBush · · Score: 4, Funny

    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.

    1. Re:Ruby is quite cromulent. by Anonymous Coward · · Score: 0

      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".

    2. Re:Ruby is quite cromulent. by LFS.Morpheus · · Score: 1

      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...)

      --
      The space unintentionally left unblank.
  4. Suggestions by ajakk · · Score: 2

    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?

    1. Re:Suggestions by droolfool · · Score: 1

      Have you tried Plone?

    2. Re:Suggestions by abigor · · Score: 2, Informative

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

    3. Re:Suggestions by byolinux · · Score: 1

      Plone is very good.

    4. Re:Suggestions by ajakk · · Score: 1

      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.

    5. Re:Suggestions by Colonel+Panic · · Score: 1

      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).

    6. Re:Suggestions by ArgieNomad · · Score: 1

      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?

      --
      I just read /. for the sigs
    7. Re:Suggestions by Marillion · · Score: 2
      Since this is a Rails Article, I have found Typo 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

      --
      This is a boring sig
    8. Re:Suggestions by stuntpope · · Score: 1

      I've worked with Plone since almost their outset, and have gone from being an evangelist to a detractor. Nuxeo's CPS is a very good competitor, if you want to stay in Zope-world. Aquarium bears looking at, if you want to leave Zope behind.

    9. Re:Suggestions by ibbey · · Score: 1

      I recommend you watch the demo videos on the rails page to get a taste of what Rails does. For example, you can see an entire basic but functional blog application built, real-time, in about 30 minutes (the second "seeing is believing" video). Once you see that, if you want to proceed, I'd skip the online tutorials & spend the $22.50 on the beta book. The quality & depth of the book is outstanding & it will greatly speed your advance with the language. Rails is really easy & at the same time kind of difficult. It's loaded with magic that makes tedious things trivial to code, but sometimes it can be a little difficult to grasp exactly what's going on. The book makes getting that understanding alot easier. If you're working with Rails you absolutely won't regret the purchase.

    10. Re:Suggestions by Scaba · · Score: 1
      I've worked with Plone since almost their outset, and have gone from being an evangelist to a detractor.

      Can you enlighten us as to why you are now a detractor? I like Plone and I wonder what would turn you off to it.

    11. Re:Suggestions by abhinav_pc · · Score: 1

      Try OpenACS. It is an open source (GNU GPL) toolkit for building scalable, community-oriented web applications. Oracle and PostgreSQL are the supported back-end databases and the programming language is TCL/TK. The developer community is almost 9000 strong which is very helpful. The toolkit is very mature and is useful to build community-based websites quickly and has a host of advantages over other similar systems.

      More information about the toolkit can be found at the OpenACS website "What is OpenACS" section and on my personal website - About OpenACS. A quick comparision of the CMS applications available can be found at www.cmsmatrix.org (Link to Google's cache as the site doesn't actually have the comparision feature anymore now! Maybe you need to register?!)

    12. Re:Suggestions by beltux · · Score: 1

      You should take a look here and participate : http://www.railfrog.com/

  5. why is slashdot obsessed with RoR? by Anonymous Coward · · Score: 1, Insightful

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

    1. Re:why is slashdot obsessed with RoR? by Peter+Cooper · · Score: 3, Insightful

      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.

    2. Re:why is slashdot obsessed with RoR? by Anonymous Coward · · Score: 0

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

    3. Re:why is slashdot obsessed with RoR? by chthon · · Score: 1

      I had a look at Ruby on Rails, and what entices me most is the fact that for every part you need, you can use the same language.

      I did an application in Zope last year, and I really had to jump through hoops. It is not possible to apply consistency in syntax across all levels, and you must study Python, Zope Page Templates and DTML.

      Ruby on Rails does not seem to have this problem.

  6. Charge for Beta PDF and booK? by blueskies · · Score: 0

    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?

    1. Re:Charge for Beta PDF and booK? by braeburn · · Score: 3, Informative

      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.

    2. Re:Charge for Beta PDF and booK? by Peter+Cooper · · Score: 4, Informative

      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.

    3. Re:Charge for Beta PDF and booK? by Anonymous Coward · · Score: 0

      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.

    4. Re:Charge for Beta PDF and booK? by Big+Sean+O · · Score: 1

      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.

      --
      My father is a blogger.
    5. Re:Charge for Beta PDF and booK? by blueskies · · Score: 1

      Why is that modded Informative? You can't buy just the book.

      From their Faq page:

      Can I preorder just the paper book under this program?

      No, the rules of our credit card processor stop us taking preorders more than 30 days before we ship something.


      Notice that you cannot buy just the book at this time.

      My main problem with the offer is the fact that they are charging for the Beta PDF on top of the preorder. When I saw the deal I naturally assumed they would be giving out the Beta PDF in exchange for a preorder of the finished book--not using it to squeeze out additional money. I was extremly disappointed when I saw that they are charging for both, even though I would be paying up front for an unfinished product. I don't care if the PDF gets updated later, since I would have the book at that time.

  7. Re:dupe by Peter+Cooper · · Score: 1

    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.

  8. These people? by Saeed+al-Sahaf · · Score: 0, Offtopic

    The same people who are using Lycrosis?

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
  9. Charge for Beta PDF and booK?-Longer,slower,uncut by Anonymous Coward · · Score: 0

    "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.

  10. $22.50 for the Beta .pdf, $43.75 for the real book by Harry+Balls · · Score: 3, Insightful

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

  11. Hard to believe by Blitzenn · · Score: 1

    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?

    1. Re:Hard to believe by Peter+Cooper · · Score: 2, Insightful

      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.

    2. Re:Hard to believe by Anonymous Coward · · Score: 0

      "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?

    3. Re:Hard to believe by Peter+Cooper · · Score: 2, Interesting

      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.

    4. Re:Hard to believe by JamesOfTheDesert · · Score: 1
      The problem is that most incoming developers are coming from TMTOWTDI languages ...

      Um, isn't Ruby TMTOWTDI? Granted people gravitate towards certain idiomatic ways of doing common things, but there is certianly more than one one, etc.

      Books and tutorials are necessary to beat this into the heads of incoming developers.

      Hey, great sales pitch. "Buy this book so we can beat some sense into your ignorant newbie head!"

      Serioulsy, an issue with Rails is that it is a DSL on top of Ruby; knowing Ruby isn't enough (or, for that matter, even largely required), you have to learn the quirks and idioms of Rails, which (surprise) requires a book.

      How agile. Adapt yourself to fit the framework.

      --

      Java is the blue pill
      Choose the red pill
    5. Re:Hard to believe by ibbey · · Score: 1

      Serioulsy, an issue with Rails is that it is a DSL on top of Ruby; knowing Ruby isn't enough (or, for that matter, even largely required), you have to learn the quirks and idioms of Rails, which (surprise) requires a book.

      Can you name an environment where that isn't true? Python, you also have to learn Zope. Java, you learn Hibernate (or whatever). Of course you could just learn PHP & code everything from scratch. Then you wouldn't need to learn anything else. Of course, you get orders of magnitude less productivity.

      Rails is fairly easy to learn, but like any other platform, it does have a learning curve. But with Rails or any similar framework, the question to ask is whether the productivity gains the framework will provide outweigh the investment in learning it. With Rails, I can almost guarantee you that the answer is yes. It's certainly not right for every project, but for those that it's right for (many if not most web apps fall into its domain) it will give you huge productivity gains.

    6. Re:Hard to believe by Anonymous Coward · · Score: 0

      Well, then you could say that about every other computer-related topic as well.

      Look at all the "dummies" guides, for example. How many ASP.Net, Java/JSP/Struts/Hibernate/Spring books are there? From that basis alone, you could argue that Rails is 10x simpler than those.

      10x simpler comes from things like...not having to recreate your database schema in a configuration file, for example.

      Rails is heavily reliant on conventions, but they're overridable. You can override the whole freakin' package if you want, because you have the source, and it's not too hard to figure out.

    7. Re:Hard to believe by JamesOfTheDesert · · Score: 1
      Of course you could just learn PHP & code everything from scratch. Then you wouldn't need to learn anything else. Of course, you get orders of magnitude less productivity.

      Or, get this wacky idea: Just learn Ruby and code everything from scratch. Then you wouldn't need to learn anything else. And still get extra productivity.

      There are indeed many good things in Rails, things that work best by offering a handy sublayer for common tasks without occluding the essential Rubyness of the code. But there are also things that enforce a distinctly Rails idiom, which takes you away from Ruby idioms. It's increasingly become a kitchen sink framework (e.g. what's with all the JavaScript/DHTML macros? Why couple the client to the server?)
      --

      Java is the blue pill
      Choose the red pill
    8. Re:Hard to believe by ibbey · · Score: 1

      Or, get this wacky idea: Just learn Ruby and code everything from scratch. Then you wouldn't need to learn anything else. And still get extra productivity.

      Sure, straight ruby is in some ways more productive then straight PHP, but you will get nowhere near the productivity gain from straight ruby as you would with ruby/rails. Taking your theory to it's logical conclusion, you couldn't use any external libraries, since they all have their own quirks that you need to learn-- Learning sucks, you better just code your own.

      It's increasingly become a kitchen sink framework (e.g. what's with all the JavaScript/DHTML macros? Why couple the client to the server?)

      None of the Javascript stuff is in anyway required. You are absolutely welcome to ignore it completely, and other then slightly increasing the disk space that a Rails installation requires, you won't even know that it's there. But if you want to build a truly interactive site, you will need to include Javascript code somehow. Again, you can write your own, or you can use the pre-built libraries that greatly simplify the process. And in fact, this argument actually strongly counters your central theme that it's not cost effective to learn Rails, since you you get large portions of Javascript for free with your Rails knowledge.

      In other words, your theory is absolute crap. You will ALWAYS have to trade off a learning curve for increased productivity. The real trick is maximizing the return on your time investment. Rails gives you a VERY high productivity gain for it's reasonably light learning curve. I'm sure you're right that there are things in Rails that could be done a better way. But that's also true of every framework. No one environment is right for everyone, or every project. If you don't want to use or learn Rails, fabulous. But your arguments against it are silly & misguided.

    9. Re:Hard to believe by JamesOfTheDesert · · Score: 1
      In other words, your theory is absolute crap.

      Hard to say, as you have mistated my original point. It is not that learning a task-specific API is always a bad idea, but that some of the Rails task-specific API makes things harder than they need be.

      You will ALWAYS have to trade off a learning curve for increased productivity.

      So you have to learn things to do new stuff? Thanks for the insight.

      No one has clained that the choice is either pure framework API or code from scratch, but some frameworks (and Rails may be headed this way if it is not already there) so pull you into their idiomatic way of thinking that it hampers you in the long run. (I suggest people lurk on the Rails dev mailing list and read the questions that come up. Very often thay are request for some magic Rails command to perform what is in fact a trivial Ruby task, exepct that using straight Ruby would entail actually learning Ruby.)

      For many tasks one is better served learning about ActiveRecord (or Og, for that matter), on its own, and using it where needed. Or going a more agile route and using Nitro. Or opting for a different design pattern altogther and chosing Wee. There is far more in the Ruby Web world than Rails, but only one has the hype.

      --

      Java is the blue pill
      Choose the red pill
    10. Re:Hard to believe by ibbey · · Score: 1

      Hard to say, as you have mistated my original point. It is not that learning a task-specific API is always a bad idea, but that some of the Rails task-specific API makes things harder than they need be.

      Ok, that I can agree with.

      No one has clained that the choice is either pure framework API or code from scratch, but some frameworks (and Rails may be headed this way if it is not already there) so pull you into their idiomatic way of thinking that it hampers you in the long run.

      I'm not certain I share your concerns here. I'm not on the dev list, but it seems to me that the core devs are pretty happy with the baic level of functionality that Rails currently provides. The authors seem to be pushing people toward using Gems when they push the boundaries of what should be in the core install. I can see your concerns about Prototype-- you can certainly make a reasonable argument that it should be a seperate project completely. At the same time, having it as a core part of the framework makes perfect sense from a marketing standpoint, and I see no real disadvantages to including it.

      (I suggest people lurk on the Rails dev mailing list and read the questions that come up. Very often thay are request for some magic Rails command to perform what is in fact a trivial Ruby task, exepct that using straight Ruby would entail actually learning Ruby.)

      This is true of any framework. The big difference with Rails is that you have a huge number of newbs all at once. Once those users become more comfortable with their environment, they'll stop posting those silly requests.

      As far as Nitro and Wee, they both look like good projects, and there's lots of room in the Ruby world for other projects. In fact, Rails is probably the best thing that ever happened to either project. I guarantee you that the number of Ruby programmers in the world will at least double over the next year, largely because of the hype around Rails. And I'm sure many others will see the same issues with Rails that you do. They'll be happy with the Ruby, but not so much with Rails. Those users will look for other options and they will find Nitro & Wee.

    11. Re:Hard to believe by NateTech · · Score: 1

      So you're saying that you buy the book to learn OO if you still haven't caught on yet how to do it from the vertiable trash heap of articles, books, and crap written on OO?

      Oh yeah, and that Ruby is an OO language.

      Yawn.

      --
      +++OK ATH
  12. Your math sucks. by nacs · · Score: 2, Informative

    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.

    --
    "I filter at +6, and have yet to miss out on an important comment." (#822545)
  13. Re:wasn't this just on here? by jarich · · Score: 0
    I saw Dave give his Ruby On Rails talk last weekend at a No Fluff Just Stuff conference (http://www.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.

  14. hmmm by einer · · Score: 4, Interesting

    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!

    1. Re:hmmm by Ridgelift · · Score: 2, Interesting
      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:
      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.
    2. Re:hmmm by aukset · · Score: 1

      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.

      --
      No sig now
    3. Re:hmmm by JamesOfTheDesert · · Score: 2
      So since I readily admit my opinion isn't a qualified one, how about something from O'Reilly instead:

      I hate to be cynical, but O'Reilly are planning their own Rails books this summer. Not that they would hype something they didn't believe in ...

      --

      Java is the blue pill
      Choose the red pill
    4. Re:hmmm by BarryNorton · · Score: 1
      Which again raises the question of why Slashdot accepts these non-expert reviews.

      I'm not putting you down for writing it - and I think it would be a useful thing to read on a blog, or besides other reviews on a site like Amazon - but that this will be the only review of the book on Slashdot makes it a very bad decision to list it, in my opinion.

    5. Re:hmmm by Black+Perl · · Score: 1

      Because expert reviews are rarely written from the non-expert point of view.

      In this case, it's good to know that I can probably pick up this book, and without knowing much about either Ruby or the MVC design pattern, implement a clean web application that will be maintainable and extensible.

      I can get expert reviews elsewhere. I wouldn't think of consulting Slashdot for them anyway.

      --
      bp
  15. Wow by aftk2 · · Score: 4, Insightful

    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?

    --
    concrete5: a cms made for marketing, but strong enough for geeks.
    1. Re:Wow by nacs · · Score: 2, Informative

      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).

      --
      "I filter at +6, and have yet to miss out on an important comment." (#822545)
    2. Re:Wow by mrmargolis · · Score: 1

      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.

    3. Re:Wow by chromatic · · Score: 1
      After all, anyone want to admit to owning a copy of Oreilly's book about Slash?

      Well yeah... sorta.

    4. Re:Wow by Ridgelift · · Score: 1
      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...
      It's been written by Dave Thomas who pretty much helped bring Ruby from Japan into the rest of the English speaking world, and DHH the guy who wrote Rails. It really doesn't matter if it is the best book in the future or not, only time will tell. Having said that, I'll stick by my 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.
      Yep, you're right, tomrrow I might be bright red with embarassment over my enthusiasm. Frankly, I don't really care. I've been gushing about Rails for awhile simply because I did perl, PHP, and Python and was frustrated by all of them. I'm sure there will be barbs in Ruby on Rails too (there always is). But I haven't had this much fun programming in over 20 years. Programming is fun again - that's why I really like Rails, and the book continues to make it even more fun.
    5. Re:Wow by willisbueller · · Score: 0

      http://www.onlamp.com/pub/a/onlamp/2005/01/20/rail s.html http://www.onlamp.com/pub/a/onlamp/2005/03/03/rail s.html http://www.onlamp.com/pub/a/onlamp/2005/05/19/xmlh ttprequest.html Try them. they will only take you a couple of hours. Then see who is red in the face. I agree with the other sibling post, this is beyond the most fun i've ever had programming. It allows a programmer to apply engineering principles easily from design into the application.

    6. Re:Wow by ibbey · · Score: 1

      Have you ever read a few chapters of a long book, and already known that it was going to be a great book? This is one of those books. Even in it's beta, electronic form, is better then many technical books that I have bought.

      As for Rails itself, there's a resaon why so many smart people are fawning all over it. I STRONGLY recommend you try out Rails before you criticize. At least watch one of the demo videos on the homepage. Until you see it in action, you really can't really fathom how powerful it is. You're right, there are numerous other capable frameworks out there, but once you see Rails in action, I guarantee you'll be impressed. Maybe not enough to switch, but at least you'll understand what all of the excitement is about.

    7. Re:Wow by knewter · · Score: 1

      Actually, just reading the book would change your opinion significantly, I think. I've got a fair chunk of the O'Reilly library between my home (Open Source) and my work (Microsoft = love), so I think I'm familiar with some good programming books. I've also read the 'Microsoft' series of books on various things, and so I'm absurdly familiar with terrible programming books.

      Books that are 'reference plus brief commentary' are terrible. Books that are nothing but a high level overview of a language are likewise terrible. I just bought this book about four days ago. I've read all of the non-reference bit, and most of the reference bit.

      It's an excellent book. Easily one of the best programming books I've read. It introduces the framework rather well. It could have used the 'ruby conversation' style tutorials that are found on the internet to speed up the understanding of 'the Ruby way,' but these are minor quibbles. The book is just solid. My only other quibble is this: I would have loved to see some code detailing the whole "acts as tree" thing, because though I've got my database set up, actually implementing it is a little sketchy in my head still. But I'm learning.

      I would suggest you play with Rails. I've been a web developer at a medium-sized outfit for about four years now, and I ran my own business doing it before I got here. It's excellent. I've used PHP (like it very much), VB.NET, C#, VB6, C, C++, Java, others on various projects. I can write proper OO code in VB.NET or C#, sure. It's even relatively fast to write it. But when you see how blindingly fast you can create a model in RoR, and functional testing for said model, and unit testing, you'll start to see the light. At some point, either before this revelation or after, you'll also realize that 'the light' exists only because Ruby makes it /so easy/ to do things the right way. There's no thought about it in a lot of cases. What you want to do just ends up being how you realize you should have done it. I can't explain it, but it definitely has made me happy. And I haven't finished my first app in Rails yet :)

      However, I have plans on re-implementing an inhouse/retail Asset Management app that we currently sell for ~$15K in rails (currently in vb.net/c#). It took us something like 2 months to write the first (and current) version. It's pretty full featured, but all the things aren't objects the way I'd like them to be, and a lot of the display and logic gets intermingled not out of design, but just because. I've already planned out a much more complete hierarchy system in rails, and adding AJAX functionality via rails is easy.

      As an example: I built a widget for the app (built the app about two and a half years ago, pre-Google Suggest to my knowledge) that does something very google suggest styled. Live search, but not the way Rails wants to do live search by default. Anyway, writing that code was about three hours longer because I had to set up all of the server-side roundtrip stuff on the page, etc. Using rails I can implement that portion in about 2 minutes. That's a very noticeable three hours saved. We bill out at $125/hour. Rails would have saved me at least $375 right there.

      Do I think Rails is the win for all projects? Of course not. But it deserves every bit of praise I've seen on it. It will save me at least $375. If you found out how thousands of other geeks could make $375, wouldn't you tell them? If not, screw you. I want some money.

      --
      -knewter
    8. Re:Wow by Anonymous Coward · · Score: 0

      Hehe, good one :)

  16. why is slashdot obsessed with round objects? by Anonymous Coward · · Score: 0

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

    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."

  17. Better than Java, or just easier? by jtogel · · Score: 2, Interesting

    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?

    1. Re:Better than Java, or just easier? by Peter+Cooper · · Score: 2, Informative

      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.

    2. Re:Better than Java, or just easier? by jtogel · · Score: 1

      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.

    3. Re:Better than Java, or just easier? by jarich · · Score: 1
      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...

    4. Re:Better than Java, or just easier? by jtogel · · Score: 1

      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...

    5. Re:Better than Java, or just easier? by Peter+Cooper · · Score: 1

      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.

    6. Re:Better than Java, or just easier? by Colonel+Panic · · Score: 1

      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.

    7. Re:Better than Java, or just easier? by google · · Score: 1

      PHP is Object Lite -- static doesn't even work across inheritance in PHP5. We have our own architecture for PHP that we built about 6 months ago that essentially mimics ActiveRecord and provides us dynamic access in PHP. Our decision to build our latest project in RoR has been a blessing.

      Ruby is a truly object oriented programming language that doesn't have the configuration overhead of writing in Java for the web (plus the ever-annoying Tomcat reboot). yaml beats the socks off of XML for configuration. Plus things are automatically included for you so don't have to edit 15 config files to get that extra method passed through to your app -- the layout of the helpers (auto included for controllers), api directory (things that are specific to this app), and lib (your toolbox you bring app to app) make it easy to find and deliver code. And you just add according to your object model -- no config'ing.

      Dynamic typing + enclosures keeps you out of the headaches of trying to figure what the difference is between two otherwise similar objects in a session (like wait-- is that a Hash or a HashMap? Uhhh... screw it cast it into the session and then cast it back out...)

      Plus enclosures are genuinely fun and I haven't used them in years since I was in school (SML =) So there!

      --
      "Thank you. Please spellcheck your genitalia references though. :) - Mike D."
    8. Re:Better than Java, or just easier? by jtogel · · Score: 1

      I do know Scheme - I used to TA a course on it, which is admittedly not the same as using it for something productive - and there are some really nifty features in it that I wish I had available in non-functional languages sometimes, such as the ability to pass a method (rather than an object) as an argument to another method.

      But just to underscore how much certain things are matters of taste, I find dynamic typing horrible. In my (strange?) world, strong typing = stricter checking = more control = easier debugging = better. Such a "feature" is for me an argument against any language that has it.

      But yes, I will check out Ruby, for fear of being lost behind as the earth keeps revolving...

    9. Re:Better than Java, or just easier? by jarich · · Score: 1
      Sounds like you have your own conventions, but you still have to wire servlets into your web.xml... and JSPs & Tomcat is a lot simpler than Struts. And you've had to code in the MVC logic...

      A week ago I've agree with you btw. :)

    10. Re:Better than Java, or just easier? by Anonymous Coward · · Score: 0

      But just to underscore how much certain things are matters of taste, I find dynamic typing horrible. In my (strange?) world, strong typing = stricter checking = more control = easier debugging = better. Such a "feature" is for me an argument against any language that has it.

      Quack quack, quaaaack, quack quack...

    11. Re:Better than Java, or just easier? by Colonel+Panic · · Score: 1

      I find dynamic typing horrible. In my (strange?) world, strong typing = stricter checking = more control = easier debugging = better.

      Ruby is often described as being strongly dynamically typed or perhaps dynamically strongly typed (depending on your emphasis). Contrast with C which is statically weakly typed. What that means practically is that if you try to send a method to an object that doesn't respond to that method you're going to get a runtime error. Sure, you probably won't catch this at compile time, but it will get caught with a good set of unit tests.

      Yes, moving from static typing to dynamic typing does require a shift in mindset, but when you make that conceptual shift you can find dynamic typing quite freeing.

  18. Dave Thomas is writing from the grave?!?! by wernst · · Score: 2, Funny
    Dave Thomas 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...

    1. Re:Dave Thomas is writing from the grave?!?! by Anonymous Coward · · Score: 0

      What's worse?

      I read the whole slashdot section just so I could post the same joke. Durn you, you other person without a life.

  19. What exactly is "on rails"? Someone help me out by Anonymous Coward · · Score: 0

    "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?

  20. It's not technically a dupe. by Anonymous Coward · · Score: 0

    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.

  21. It's Hawt by Big+Sean+O · · Score: 0

    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."

    --
    My father is a blogger.
    1. Re:It's Hawt by JamesOfTheDesert · · Score: 1
      This book is highly anticipated and the distribution model (Beta now, Final later) is also unusual.

      No, not really. Many authors have made prerelease versions of their books available. The main difference here is that people are required to commit $$ to the final product before it is actually ready.

      This is damn good marketing. Late in releasing your product? Fearful a competitor will get to market before you and steal your thunder (and revenue)? Sell a product that isn't finished, claim this is some sort of groundbreaking, "open source" publishing technique, and get people to proofread the work they've already bought.

      --

      Java is the blue pill
      Choose the red pill
    2. Re:It's Hawt by smittyoneeach · · Score: 1

      All attempts at Knuthian fascicles are limited to a "nice try" status, at best.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  22. I am a Java developer, but... by MarkWatson · · Score: 1

    ... 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

    1. Re:I am a Java developer, but... by Anonymous Coward · · Score: 0

      I used Java for web development for quite some time, and I did it all. JSPs, JSTL, Struts, Spring, Hibernate, etc. I tried just about everything it had to offer. But then I read Matt Raible's blog, which at the time had a post about Ruby on Rails. I decided to download it and give it a whirl. This was back when it was Rails 0.8.0.

      I was shocked by the simplicity! It was so easy to get started and have a simple working app in a very short time. This was using Rails' nice scaffolding, which at that time couldn't be generated (it was all created dynamically, so you couldn't edit it). I knew, of course, that scaffolding would never work for a real application, so I tried branching out a little bit and started creating controllers and views and models, and found that Rails made it easy.

      In response to the above post, I don't think ActiveRecord lacks flexibility of Hibernate. I think it has more flexibility if anything. Have you ever tried created a tree-structure for a table with Hibernate? Have you tried it in ActiveRecord? The difference is huge. That's not the only way ActiveRecord outshines any other ORM solution I've ever seen.

  23. And for the Perl folks out there... by AGTiny · · Score: 2, Interesting

    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 or on CPAN.

    1. Re:And for the Perl folks out there... by Colonel+Panic · · Score: 1

      but don't want to learn Ruby

      Who wouldn't want to learn Ruby?

    2. Re:And for the Perl folks out there... by AGTiny · · Score: 1

      OK maybe I should have said "those who want to stay with their trusted language backed by thousands of useful CPAN modules". :) That's the problem I run into when trying any new language, the lack of community modules for common things. Perl seems to have a module for nearly anything and everything you could possibly want to do.

    3. Re:And for the Perl folks out there... by Anonymous Coward · · Score: 0

      Who wouldn't want to learn Ruby?

      Anyone who likes static typing and runtime speed?

      I grant you such people wouldn't be using Perl either. ;)

  24. Rails posts prediction ... by Chromodromic · · Score: 4, Insightful

    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 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 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)
    Catalyst (Perl)

    --
    Chr0m0Dr0m!C
    1. Re:Rails posts prediction ... by deeny · · Score: 1

      Four other frameworks shamelessly stealing from Rails:

      Castle Project works on .Net with Ajax support.

      Cake is a Rails-like framework for PHP, and Biscuit is another.

      Lest the Java folks feel left out, there's also Trails.

    2. Re:Rails posts prediction ... by Fweeky · · Score: 1

      "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.

    3. Re:Rails posts prediction ... by provolt · · Score: 1
      Either, one, that Rails is so amazing that after you use it sex seems laughably trivial by comparison

      Um, if sex is complex for you, I think you're doing something wrong.
    4. Re:Rails posts prediction ... by lorewarden · · Score: 1
      It's great and a *lot* of other frameworks in other languages could stand to pay attention to the innovations in Rails.
      Please list the innovations Rails has... Object relational mapping? nope, Hibernate did it before Rails... mapping requests to controller methods, filters? nope, Webwork2 has been doing both long before Rails. code generation? everybody and their grandmother have been doing that.
  25. Re:What exactly is "on rails"? Someone help me out by Peter+Cooper · · Score: 1

    Rails was originally extrapolated from a Web application called BaseCamp, 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.

  26. Ha Ha by Big+Sean+O · · Score: 1

    You made me laff. ha ha.

    --
    My father is a blogger.
    1. Re:Ha Ha by Anonymous Coward · · Score: 0

      Fuck you too.

  27. the sign of good software... by Anonymous Coward · · Score: 1

    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.

  28. Re:What exactly is "on rails"? Someone help me out by Colol · · Score: 1

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

    More seriously... Rails 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" 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.

  29. does RR have .... by Hohlraum · · Score: 1

    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.

    1. Re:does RR have .... by Colol · · Score: 1

      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 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 of the various methods, if you're interested in that sort of thing as well.

    2. Re:does RR have .... by Hohlraum · · Score: 1

      when you say share it using distributed ruby. I looked up DR and it doesn't say anything about wether multiple servers sync between one another like j2ee provides. Is there a better explaination of that somewhere?

    3. Re:does RR have .... by Anonymous Coward · · Score: 0

      The sessions in Rails are actually provided by the library underlying Rails (cgi.rb), which by default dumps the sessions into the filesystem, but you can replace that backend with anything you like, e.g. memcached.

    4. Re:does RR have .... by jaikoo · · Score: 1

      I think the best solution is using memcache. ROR fully allows you to store sessions using a distributed cache such as memcache. I found drb to be slightly unstable and crash after heavy usage (could just be me).

    5. Re:does RR have .... by Hohlraum · · Score: 1

      i honestly don't believe that memcached supports this either. atleast i couldn't get a straight answer from the developers about it a few months ago. it supports backup servers but it doesn't migrate keys between servers.

  30. Meh. by abulafia · · Score: 1
    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.

    --
    I forget what 8 was for.
    1. Re:Meh. by Colonel+Panic · · Score: 0, Troll

      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.

    2. Re:Meh. by abulafia · · Score: 0
      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.

      --
      I forget what 8 was for.
    3. Re:Meh. by Anonymous Coward · · Score: 0

      Wow, maybe you do know something. Kudos to anybody who writes and uses their own rules engine. But from your previous post I would have sworn you were a VP/ASP developer.

    4. Re:Meh. by Anonymous Coward · · Score: 0

      Wow, you've got your own mapping layer ! I'm impressed. Very impressed.

    5. Re:Meh. by Anonymous Coward · · Score: 0

      What the fuck is a "haskell-style rules engine" supposed to be? Everything about what you've written says "clueless small business developing little piles of shit." I also have this incredibly strong feeling that you don't actually know anything about Haskell.

      Little piles of shit is basically RoR's market, too, only you previously were condescending towards its insignificance.

      Your own Object-Relational mapping! How absolutely 1999 of you.

      Where did you get your degree, DeVry?

    6. Re:Meh. by abulafia · · Score: 1
      What the fuck is a "haskell-style rules engine" supposed to be?

      If you have to ask, you don't need to know. I'd talk about predicates and lazy evaluation, but I think you're more concerned with your e-penis than the question at, um, hand.

      Everything about what you've written says "clueless small business developing little piles of shit."

      Great. So why are you wasting time with me when you could be writing Enterprise Software(tm) for the big boys? Run along, little man. I'm sure there's a marketing bunny who rilly rilly needs a report waiting for you.

      The really amusing part is that even though you're an anonymous coward, I can state with absolute certainty that you've used our software.

      --
      I forget what 8 was for.
    7. Re:Meh. by Anonymous Coward · · Score: 0

      Apparently you're a little unclear on what "absolute certainty" means.

    8. Re:Meh. by Anonymous Coward · · Score: 0

      > If you have to ask, you don't need to know. I'd
      > talk about predicates and lazy evaluation, but I
      > think you're more concerned with your e-penis than
      > the question at, um, hand.

      What do predicates have to do with Haskell? Haskell has no distinct concept of a predicate. Haskell is not a logic programming language.

      What does lazy evaluation have to do with Haskell? Is C ML-like because it is strict?

      I asked you this question because it makes no intuitive sense. I could interpret "Haskell-style rules engine" several different ways, and none of them are especially flattering.

      > Great. So why are you wasting time with me when
      > you could be writing Enterprise Software(tm) for
      > the big boys?

      I'm sorry, but apparently you've mistaken me for a webfaggot like yourself, simply because I've suggested that a firm that writes its own rules engine and object-relational mapping is pretty-much operating in the realm of little piles of shit. I pointed that out because you were acting like RoR was too quaint for your Real Problems, and were tossing phrases around like an ignoramous. I actually work on interesting problems, but the reason I wasn't off doing work then or now is--and get this--because I don't spend every moment of every day writing software.

      > The really amusing part is that even though
      > you're an anonymous coward, I can state with
      > absolute certainty that you've used our
      > software.

      I've used software written by millions of people. Do you want a cookie, or something? Is your company so miniscule that because someone's indirectly benefited from it, that seems notable to you?

      Where do you work, DeVry grad?

    9. Re:Meh. by Anonymous Coward · · Score: 0

      YHBT. YHL. HAND.

  31. Re:Thats fairly meaningless... by Anonymous Coward · · Score: 1, Interesting

    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.

  32. Slashdot these days: by Qbertino · · Score: 3, Funny

    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)

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Slashdot these days: by Ridgelift · · Score: 2, Insightful
      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.
    2. Re:Slashdot these days: by Qbertino · · Score: 2, Funny

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

      --
      We suffer more in our imagination than in reality. - Seneca
    3. Re:Slashdot these days: by Anonymous Coward · · Score: 0

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

    4. Re:Slashdot these days: by TopSpin · · Score: 1

      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.

      --
      Lurking at the bottom of the gravity well, getting old
    5. Re:Slashdot these days: by typhoonius · · Score: 3, Funny

      Random facts about Ruby On Rails:

      Ruby On Rails came up with 97% of the famous quotes from Napoleon Dynamite."

      The constellation 'Ruby On Rails' is made up by connecting every single star of the night sky.

      For a brief period in history, Ruby On Rails had stolen the letter F from the alphabet, that is why we have words such as Photo and Dr. Phil.

      Ruby On Rails' leg hair is harvested bi-monthly for use in fine Scandinavian carpets due to it's extreme strength, durability, and ability to ward off Russians.

      Pick any two consecutive digits of the number pi. Added up, they will always equal Ruby On Rails' age.

      On the third day God actually said, "Let there be France!" So Ruby On Rails killed him, became God, and uttered the now famous, "Let there be Light!"

      If one attempts to calculate the awesomeness factor of Ruby On Rails, cubed by the awesomeness of a badger divided by the awesomeness of ninja-pirates, one has the basis for the weapon that destroys the universe.

      Ruby On Rails: Rockin the bitches since 1863.

      When Ruby On Rails told the Microsoft Word paper clip to go away, it never came back.

      Ruby On Rails possesses Excalibur.

      In the criminal justice system, the people are represented by two separate yet equally important groups: Ruby On Rails, who investigates crime; and Ruby On Rails, who prosecutes the offenders.

      Ruby On Rails owns 90% of patents in the USPTO under false names.

      Both Lee Harvey Oswald and Ruby On Rails killed JFK. Oswald fired Ruby On Rails out of his rifle. Ruby On Rails penetrated JFK's head then exploded.

      For God so loved the world, that he gave his only son, and his son's favorite web development framework, Ruby On Rails. Whoeverso believes in his son, and programs web applications with Ruby On Rails, shall not perish, but have eternal life. Whoever forgoes Ruby On Rails will burn for all eternity. -John 3:16 (more or less)

      (with apologies...)

    6. Re:Slashdot these days: by drgnvale · · Score: 1

      Your sig says: My english is better than most other people's german, so please point out mistakes politely. Thank you.

      Dear Sir,
      "English" and "German" are proper nouns, and should be capitalized.

  33. Ruby vs Java by nostriluu · · Score: 3, Insightful

    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.

    1. Re:Ruby vs Java by Peter+Cooper · · Score: 1

      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.

    2. Re:Ruby vs Java by Sam+Ruby · · Score: 1

      A closer Ruby equivalent to the Java sample would be as follows:

      def cancelAll(c)
      c.each { |t| t.cancel }
      end

      --
      - Sam Ruby
    3. Re:Ruby vs Java by Ridgelift · · Score: 1
      Ruby sounds really interesting, but after all the language is just one aspect of development.
      Well, not exactly. Ruby is Rails. Most frameworks require a language, a templating engine and other plumbing to make it all work. Ruby on Rails is all Ruby. Even the templating are Ruby tags using ERb. You don't need to learn a "simple" templating language (which confuse web designers most of the time). There's no need to cheat by stuffing code in places where it shouldn't be (aka seperating the HTML from the business logic), because it's just as easy to put it where it's supposed to be.

      Ruby on Rails is still very, very new. All the hype can lead one to think it's a replacement for everything - it's not. Java is a mature platform, and should be used for more critical scenarios. But Java was where Ruby on Rails is. And as it continues to mature, it will only become more viable in those situations where mature frameworks are required.

      Besides, Rails is fun. And programming that's fun is more productive than programming that's work.
    4. Re:Ruby vs Java by killjoe · · Score: 1

      The point is that ROR is more agile then J2EE. Sure J2EE is more scalable then ROR but that scalibility is very expensive in terms of time to market. Go read any rational book or web site about J2EE development and they'll tell you the same thing, you need to have developers with tons of Java and J2EE experience before you even attempt to start a J2EE project. Once the project has started you need to very carefully design your app and divide your functionality amongst stateful, stateless and persistent beans.

      Whatever advantages J2EE has over ROR (or anything else for that matter) come at the cost of increased development time, and yes even increased maintenance due to the complexity of architecture and increased codebase.

      So the question is what if you don't need that fabled scalibity or what if you don't know if you will need it because you don't know if your web site will ever become popular? Do you go the slow, bloated way or do you choose a more agile toolset?

      Having said all that, it turns out that the scaliblity of your database ends up being the limiter for languages like PHP and Ruby. As long as you can keep session state in the database it's easy to round robin the apache web servers.

      --
      evil is as evil does
    5. Re:Ruby vs Java by nostriluu · · Score: 1


      If you're referring to EJBs, you don't have to use them, and most people don't. "J2EE" to many people does mean EJBs, but you can use JSP and JDBC for the equivilent of the PHP world, or Java classes and some kind of lightweight (Spring) to heavy (EJB) kit depending on what you need to do.

      So you're left with a language with lots of history and support, which isn't a bad thing. You may have more code, but I'd be quite surprised if that doesn't have some advantages as well as you need to make finger grained changes to your application, and this is where the refactoring and constant state awareness comes in through language features and tool support. (although these features are less available in the JSP world).

      Anyway, I'm not digging my heels in against ROR, just stating there's more to development than getting an app off the ground, and Java offers quite a lot of support (and diversity) along the way.

      Yes, decent design is required. I don't think any framework is going to save you from requiring experience and knowledge.

    6. Re:Ruby vs Java by killjoe · · Score: 1

      If you are using plain on JSP then java offers no real advantage over Ruby on Rails. The java advantage kicks in when you are running your app on multiple servers.

      --
      evil is as evil does
    7. Re:Ruby vs Java by nostriluu · · Score: 1


      No, my original post was about all the tools and libraries that exist for java, which will work for any java project. As well as the many support forums so you generally don't have to find someone to ask about something since it has already been asked.

      From talking to friends, for a language like Ruby (or Python, or ...), you will usually have one XML parser, for example. It is usually pretty good, but there is always some way that these things fall down (for example, processing large documents). In the Java space, there are many many XML parsers, and you can locate lots of discussion about using them.

      (This might not be the best example, but I hope you get the idea).

    8. Re:Ruby vs Java by killjoe · · Score: 1

      Although the java library is large it's definately not larger then the perl library. It's probably not larger then the python library. It's definately larger then the ruby library.

      I can't wait till parrot goes live then all your libraries will belong to us.

      --
      evil is as evil does
  34. What by smart.id · · Score: 1, Interesting

    What the fuck is Ruby on Rails?

    --
    blog & fiction: jd87
    1. Re:What by Anonymous Coward · · Score: 0

      What the fuck is a book?

    2. Re:What by twray · · Score: 0
      It's a framework, written in Ruby, that makes it trivial to set up basic to semi-advanced websites.

      Instead of coding for days, trying to capture the logic, structure and rules of a database so you can "web" it, RoR has a code-generator that reads the database and creates all the accessor objects and views. Then you can extend these views using Ruby, which is an awesomely succinct language.

      With Ruby, I can read in a text file and print out all the lines that contain a match to a regular expression with only four lines.

      BTW, Ruby is an interpreted language. By itself, Ruby competes well with Python and Perl, but when combined with Rails, it really shines for agile development of web apps.

      See also: Ajax on Rails. This uses the asynchronous capability of the web to make web apps operate like real apps. Google Maps uses it, for example.

      --
      Fine, I'll build my own moon base! With blackjack...and hookers...in fact, forget the base! - TripMaster Monkey (862126)
    3. Re:What by smart.id · · Score: 1

      First of all, I'd like to say that my original post was somewhat of a joke. However, with all the stories on here about "Ruby on Rails" that seemed to have come out of nowhere, and no subsequent explanation at all, I find it comforting that someone would actually take the time to respond to my troll-esque post with a legitimate answer. Thank you!

      --
      blog & fiction: jd87
    4. Re:What by Anonymous Coward · · Score: 0

      "With Ruby, I can read in a text file and print out all the lines that contain a match to a regular expression with only four lines."


      <?php
      $f = @file_get_contents("/path/to/file");
      if (preg_match_all("REGEX_STATEMENT",$f,$matches)) {
      foreach ($matches as $line) echo $line."\n";
      }
      ?>


      *yawn*

      Great. The number of lines means nothing. PHP can do the exact same in four also. What the fuck does that prove to anyone, or even to the person that asked the previous question?

  35. Re:Thats fairly meaningless... by Peter+Cooper · · Score: 1

    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.

  36. explain for the newcomer by sdedeo · · Score: 1

    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.

    --
    Protect your liberties. Donate to the ACLU
    1. Re:explain for the newcomer by Jacked · · Score: 1
      I'm certainly no expert (yet) on Ruby on Rails, but, one of the things that got me very interested in it was this QuickTime video (47MB) in which a simple blog webapp is created from scratch in a very short time.

      Some of it might not make much sense to you if you aren't already familiar with Ruby but at least it will give you a little taste of it.

      There's a lot of good information at http://www.rubyonrails.com/, particulary in the Rails Academy section (http://www.rubyonrails.com/show/RailsAcademy. And, if you decide you want to learn more, I can recommend the book being reviewed, as I pre-ordered it a couple of weeks ago and have found the beta book very helpful.

    2. Re:explain for the newcomer by Anonymous Coward · · Score: 0

      Wow. I'm always so happy when somebody likes that movie I created.

      - Matt Moriarity

  37. Hmm. by Anonymous Coward · · Score: 0

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

  38. still sound and fury, and a touch a flame to boot by Anonymous Coward · · Score: 0

    "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.

  39. Re:still sound and fury, and a touch a flame to bo by Peter+Cooper · · Score: 1

    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.

  40. Expect a lot more out of Ruby on Rails by matchboy · · Score: 1

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

    --

    Robby Russell
    PLANET ARGON
    Robby on Rails
  41. Working software over comprehensive documentation? by ScottyH · · Score: 1

    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.

  42. They ship the final PDF if you buy the beta. by eduardodude · · Score: 1

    Check out their Beta FAQ

  43. Zope by Qbertino · · Score: 2, Insightful

    What Ruby on Rails wants to be when it grows up.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Zope by Anonymous Coward · · Score: 0, Insightful

      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?

    2. Re:Zope by Anonymous Coward · · Score: 0

      Oh man. Get over yourself, you pompous turd.

    3. Re:Zope by Vo0k · · Score: 1

      You'll never catch a Rails dude tying his shoes.
      That's why they tend to stumble on the shoelaces rather often.
      "I want effects, and I want them fast. So what if it breaks in 1 out of 20 cases, it's good enough for me".

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
  44. Re:still sound and fury, and a touch a flame to bo by Anonymous Coward · · Score: 0

    "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.

  45. A review of a beta book about an alpha framework. by n3bulous · · Score: 1

    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.

    --
    "The area of penetration will no doubt be sensitive." ~ Spock
  46. I Didn't Know What Ruby Was, But I Found Rails by voodoo_bluesman · · Score: 1

    For all of those that want to knock this product, check it out first. Just head to http://www.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.

    1. Re:I Didn't Know What Ruby Was, But I Found Rails by codepunk · · Score: 1

      Actually yes I did just watch the video and no I am not impressed nor does it make me want to learn ruby. I know python which is a far more elegant and efficient environment in my opinion. Your comment about j2ee is correct nearly everything is more productive than java web development.

      --


      Got Code?
    2. Re:I Didn't Know What Ruby Was, But I Found Rails by marcello_dl · · Score: 1

      Can you make an example where python would be more elegant than ruby?

      The efficiency part I can understand, but having to declare self as first argument for every class method, for example, is far from elegant IMHO.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    3. Re:I Didn't Know What Ruby Was, But I Found Rails by codepunk · · Score: 1

      You may not like having to type self as the first argument to a function on a object. But then again any compiler that requires me to signify the end of a logic statement or code block with "end" or a curly brace or anything of that sort I find to be brain dead.

      --


      Got Code?
    4. Re:I Didn't Know What Ruby Was, But I Found Rails by Phillip+Birmingham · · Score: 1

      But then again any compiler that requires me to signify the end of a logic statement or code block with "end" or a curly brace or anything of that sort I find to be brain dead.

      See, now, I was just thinking the same about languages that care how much whitespace is at the start of a line.

      --
      Make me aerodynamic in the evening air
    5. Re:I Didn't Know What Ruby Was, But I Found Rails by nagora · · Score: 1
      See, now, I was just thinking the same about languages that care how much whitespace is at the start of a line.

      Does Python do that? Holy Fortran, Batman; pass the punched cards!

      I don't think I'll be learning Python any day soon. Geez.

      TWW

      --
      "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    6. Re:I Didn't Know What Ruby Was, But I Found Rails by marcello_dl · · Score: 1

      Oh. You must be Guido. My congratulations on being the father of such a useful language as Python.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    7. Re:I Didn't Know What Ruby Was, But I Found Rails by marcello_dl · · Score: 1


      Funny, I was sure that correct indentation was VITAL for punched cards...

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    8. Re:I Didn't Know What Ruby Was, But I Found Rails by nagora · · Score: 1
      Funny, I was sure that correct indentation was VITAL for punched cards

      That was the point: if you are worried about formatting your source to make the compiler work properly you might as well be using punched cards.

      TWW

      --
      "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  47. no thank you by Anonymous Coward · · Score: 0

    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?

  48. Re:still sound and fury, and a touch a flame to bo by Anonymous Coward · · Score: 0

    Nice use of the "multiple ad hominems and flee" tactic; I'll be quoting this in my next guide to winning pointless arguments.

  49. J/K by ImaLamer · · Score: 1

    Okay, I think you've added that sig so you can get modded up in this discussion...

  50. Re:A review of a beta book about an alpha framewor by Anonymous Coward · · Score: 0

    An alpha framework? I'm not sure that an alpha framework is responsible for so many great apps IN OPERATION. Basecamp [www.basecamphq.com] services 10K+ customers, if I recall correctly. Don't be fooled by its 1.0 status. I've seen many 1.0 apps with less behind them than Rails.

  51. Syntax preferences are not facts. by Some+Random+Username · · Score: 1

    The syntax was "vile and full of syntactic salt"? That would be 100% a matter of opinion. Some people don't like ruby's syntax, but like some of the ideas behind rails. So they make rails-like frameworks for languages they do like. There's nothing wrong with that, and rails isn't magically better than them simply because you prefer ruby's syntax.

    1. Re:Syntax preferences are not facts. by Nimrangul · · Score: 1

      Yes, we need more Rails, a Pike on Rails would be excellent. Hmmm, I wonder how close Maypole is to a Perl on Rails.

      --
      I'm sick of following my dreams - I'm just going to ask them where they're going and hook up with them later.
  52. What crap... by xENoLocO · · Score: 0, Troll

    Ruby on Rails is a giant load of crap. There's nothing rapid about it, the language is archaic, the support is minimal, and it's slow.

    RoR is a step in the wrong direction and god only knows how it gained this small cult following.

    --
    "The need to build the internet comes from something inside us, something programmed... something we can't resist."
    1. Re:What crap... by Anonymous Coward · · Score: 0

      It's actually rather simple. A lot of people become dissatisfied with the tools they know, because they're basically employed reimplementing wheels. Only after a while all of the easy wheels are reimplemented in X language about ten different times, and their dissatisfaction with their tools leads them to look for The One True Language. This will necessarily be an unpopular language, because the point is to escape looking at SourceForge and seeing that someone has already written basically everything you would be doing in what you know already. Along the way you find that the new language Y has things you like, and the transformation into becoming a X Is Broken and Everyone Else Just Isn't Smart-Enough To See it begins. When it's complete you look at SourceForge and see that there's 20 projects that used this One True Language, and you think "I'd really like to write Y for money." So you reimplement all of the trivial crap that already exists for every other language in Y, and a bunch of other people that have similarly fled to Y--because forever chasing fringe languages is easier than working on hard problems in practical languages--exclaim how spectacular your "lightweight"/"simple" (code for "doesn't do as much, and doesn't scale") framework is. Over the next three or four years, Y becomes more popular and you start over again switching to Z.

      You see, the real problem here is that a lot of people do simple web programming that consists largely of completely-solved problems. In their spare time they write IRC libraries and wrap SDL for Y, or do equally redundant crap that basically completely fails to advance anything, but makes them feel productive.

  53. Don't let your Java get run out on a Rail just yet by bADlOGIN · · Score: 3, Insightful

    I've had to look at Ruby On Rails due to decisions made by some of my agile team members. There's a number of important things to be aware of if you or someone on your team is seriously thinking about using RoR to replace Java web apps. Be forewarned, while these are my own extremely biased opinions, they are in no way uninformed:

    1.) Give up a decent IDE. The development tools are crap. Good luck trying to fire up a Ruby IDE, and set a breakpoint in WEBrick or Apache mod_ruby. You can't. Even if you hack around with the breakpoint command and include the debugger in the code you want to debug, the debugger is buggy and makes old skool commandline tools look sharp.

    2.) Bet the farm that RoR only deals with you 80% problem, and your requirements won't break how it needs the ActiveRecord pattern. ActiveRecord looses it's luster once things get complex (see http://www.theserverside.com/articles/article.tss? l=RailsHibernate).

    3.) How do you like your OO style? If it's from the Jacobson camp, you're in for a treat! Objects are just dumb repeats of database tables 1st and foremost. Oh sure, you can add methods to do that OO thing if you must, but that's not the true essance. If you believe true object nature comes from behavior and not data, (ala Yordon & Coad) you won't be comfortable here.

    4.) You're agile? You "get" test driven development? Give it up. RoR says you use a script. This hurts even more if you take issue with number 3 above. RoR rewards you for being database driven. Just define your scheme and all of your objects and a few controllers will get generated for you along with stub unit tests that pass by default. Just accept the required two line *Helper classes as well(yeah. TDD would have pushed me to create those).

    5.) More on testing: hope you like having to rely on populating test data into your database. We kept hearing you can mock your persistance, but even some of the experts we talked to couldn't show us how (folks who are paid to work on a RoR product). Sure, folks said dependancy injection via Needle, but we couldn't find jack out about it.

    6.)Speaking of database driven, that is a greenfield project you have with no legacy concerns and absolutely no complex O/R mapping requirements, you're starting RoR on right? No?!?! That's ok. just shoehorn RoR with updateable views or change your schema so that ID's are done the way ActiveRecords likes. That's no problem for your existing aps, is it?

    7.)That had better be an OpenSource database you're using. It's not unheard of to "enjoy" a broken release for packages like ActiveRecord when the developers don't have access to Oracle or SQL Server. This happened to us and RoR was broken for about a week between releases in the 0.9 to 0.10 range. Yeah. That was a "release". Not CVS, not alpha or beta. Release. On the upside, we did patch ourselves, so "go OpenSource".

    If the Rails fanboys want to mod me down, have at it. I stand by my overall opinion. Keep in mind, I have no issue with Ruby itself. In fact, it stands to give Java a real run for it's money. RoR on the other hand, is immature and over-hyped at best, and a rat's nest of garbage at worst.

    --
    *** Sigs are a stupid waste of bandwidth.
  54. WebObjects Developer Enjoying RoR by Mad+Browser · · Score: 1

    I really enjoyed this book.

    I'm a WebObjects developer that is always looking for something new and RoR so far seems great.

    While there are clearly still some things that could be improved (especially in the ActiveRecord ORM), for being less than a year old this thing is VERY far along.

    The opposite of something like Struts, you can feel that RoR came from a real application instead of design-by-committe.

    --
    RateVegas.com - Vegas Reviews
  55. Mirrors For Free Copy of PDF Version of Book by Anonymous Coward · · Score: 0

    are now available here.

  56. Well, _that_ is blatantly obvious by leonbrooks · · Score: 1
    I'm clearly not doing enough with my life...
    Well... you posted to SlashDot, didn't you? Like, QED?
    --
    Got time? Spend some of it coding or testing
  57. Whereas Ruby doesn't yet... by leonbrooks · · Score: 1

    ...but most of them are only two self-evident pages of Ruby code anyway. (-:

    --
    Got time? Spend some of it coding or testing
  58. mod_python by Anonymous Coward · · Score: 0

    I'm more familiar with Python than Ruby... anyone know how Ruby compares with mod_python in terms of performance and reliability?

  59. The basics are very simple... by leonbrooks · · Score: 1

    ...but making it work rafter-rattlingly well every time can indeed be complicated. Not to mention very, very satisfying.

    Perhaps it would have been more accurate (if clumsier) to say that the context surrounding sex can be complicated.

    --
    Got time? Spend some of it coding or testing
  60. Re:What exactly is "on rails"? Someone help me out by Anonymous Coward · · Score: 0

    Yay. Thanks to the people who answered my question.

    (Same AC as before)

  61. what is it going to do by MichaelPenne · · Score: 1

    that mambo, postnuke, xaraya, etc. don't already do?

    Not looking for flames, but explaining why you are writing a new app., noting what you are trying to do that current ones don't do, might be a good place to start in getting advice.

  62. Meh. by Enahs · · Score: 1

    I gave RoR a shot, and never got past the head-scratching stage. It did, however, get me interested in Ruby. I never grokked Perl, thought Python was a neat idea, but have been using Ruby any time I get handed an "impossible" task at work.

    --
    Stating on Slashdot that I like cheese since 1997.
  63. chomp by Anonymous Coward · · Score: 0

    Knowing that the Ruby on Rails community has been chomping at the bit

    Ya don't chomp at bits, u fuckr, u champ at them.

  64. Yeah, Sure... by Anonymous Coward · · Score: 0
    just like my latest word processor sold 2000 copies last week. Remember that "On the internet no one knows you're a dog."

    Seems these RoR guys are trying very hard to earn some money from their product before the initial "rush" of interest dwindles, which it is bound to do. Selling an unfinished PDF file is the lowest of the low.

    1. Re:Yeah, Sure... by KillerLoop · · Score: 1

      Is it?

      I purchased the beta-book half a week ago and I'm very impressed and pleased with the quality, let alone the mindset behind the decision to make it available early.

  65. ROR vs. LAMP?? LOL... please! by v3xt0r · · Score: 0

    "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."

    uhh, yea, when it's developed and/or maintained by in-experienced developers, or from my experience... college students.

    --
    the only permanence in existence, is the impermanence of existence.
  66. Re:What exactly is "on rails"? Someone help me out by alphakappa · · Score: 1

    So is this the equivalent of the PEAR library for PHP?

    --
    "When the only tool you own is a hammer, every problem begins to resemble a nail." - Abraham Maslow (1908-1970)
  67. Re:Don't let your Java get run out on a Rail just by Anonymous Coward · · Score: 0
    3. Debuggers? Those are for people who don't know what their code is doing anyway

    You're half right. Actually, debuggers are for people who want to know what their code is doing instead of what they've intended it to do.

    So, actually, you're just wrong.

  68. Rolling with Ruby on Rails by kuom · · Score: 1

    Curt Hibbs has a very good step-by-step introduction to creating your first Ruby on Rails web app at onlamp.com:

    Part I:
    http://www.onlamp.com/pub/a/onlamp/2005/01/20/rail s.html/

    Part II:
    http://www.onlamp.com/pub/a/onlamp/2005/03/03/rail s.html/

  69. Ruby on Rails?? Looks like ASP to me. by nixkuroi · · Score: 1

    I'm not sure if anyone has mentioned this, but Ruby on Rails looks like a rehash of ASP using a VBScript knockoff. If this is the cutting edge, I feel like I'm in a time warp back to 1998.

    Does anyone know the benefits of using RoR as opposed to say...PHP...or Chilisoft ASP?

  70. Defending Python by ultrabot · · Score: 1

    I actually think that Ruby could swap spaces with Python in popularity.

    Ruby doesn't really bring any significant advantages over python. Neither does Ruby-on-rails. It's just the new-kid-on-the-block enthusiasm that Ruby is enjoying ATM.

    Really, look at the current situation: Python hasn't replaced Perl as the most popular scripting language yet, except perhaps in the open source community. Even if Python and Ruby both stand at the "400% better than perl" point. What chance do you think Ruby, which is 5% better or worse than python (depending on the person making the judgement), has of replacing Python?

    The Ruby community has been making this prediction for, what, 5 years without any evidence of it actually happening. Python has the maturity and community aspects going for it, while Ruby has... anonymous code blocks and whitespace agnostic syntax. Stay tuned, Python 2.5 might have a syntactic structure that covers most of the uses of code blocks.

    --
    Save your wrists today - switch to Dvorak
    1. Re:Defending Python by darnok · · Score: 2, Insightful

      > Ruby doesn't really bring any significant
      > advantages over python. Neither does
      > Ruby-on-rails. It's just the new-kid-on-the-block
      > enthusiasm that Ruby is enjoying ATM.

      As someone who coded in Ruby, Perl and Python today(!), I'm inclined to agree to some extent.

      Where both Ruby and Python are failing to replace Perl is with something comparable to CPAN.

      For example, this morning I was trying to parse a bunch of data out of HTML tables in Ruby, and tearing my hair out with frustration; I switched to Perl, grabbed HTML::ParseTable from CPAN and had a working solution within 10 minutes. It worked exactly as I'd hoped, and I didn't have to know anything particularly clever to use it.

      Looking at the code for HTML::ParseTable, it's not especially complex; a few hundred lines of reasonably clear Perl, plus some very good documentation and examples. However, the effort that's gone into it to get it to its current state - as I saw today, it's able to accurately parse HTML that was apparently handcrafted by a moron with a grudge - is its real value. Presumably it's been beaten into shape by many people over an extended period, and it's largely bug free at this point.

      Given the inclination, I could build a HTML::ParseTable equivalent in either Ruby or Python, but why would I bother? The Perl one works now, and it's very rare to find an employer that will use Python and/or Ruby but not Perl.

      If/when Parrot allows Ruby and Python to leverage CPAN, that's the point where I think Perl will finally be replaced as the most popular scripting language. Until then, as much as I dislike supporting Perl code, forget it.

  71. Re:does RR have reports and graphs by rahul_kumar · · Score: 1

    I am coming from Java, and i really liked ROR. But ROR doesnt have any report generator, or graph generator. Such things are all that are holding me back at this moment. Ar they working on this ?
    Is there a roadmap of features or add-ons they are coming out with shortly ?

    --
    -- rahul benegal : http://kalki.benegal.org
  72. OT: Why be hatin'? by Big+Sean+O · · Score: 1

    I thought chromatic's comment was funny. (Mainly because I own a copy of O'Reilly's Slash book) and I know what he's talking about.

    Do you?

    --
    My father is a blogger.
  73. Show me a big app that uses it? by codepunk · · Score: 1

    Ok so show me a big app that uses ROR, not that I am going to bother learning Ruby since it offers nothing that I cannot do with python.

    --


    Got Code?
    1. Re:Show me a big app that uses it? by gregarican · · Score: 1
      Check here for a list of groups actively using RoR in production or developing with RoR. I know there are no Yahoo!s, Googles, or Amazons on the list.

      As for Ruby offering you nothing that you can't do with Python I would argue that you can do things simpler, more concise, and more logically in Ruby. The code is cleaner so if you are picking up the code for something you developed six months ago things should fall into place easier.

      IMHO Ruby == Prettier and more OO than Perl and Ruby == More powerful than Python

    2. Re:Show me a big app that uses it? by Anonymous Coward · · Score: 0

      Ruby is Smalltalk with a Pascal syntax that's been bred with Perl for synactic ugliness. From my perspective Ruby code looks rather uninteresting.

    3. Re:Show me a big app that uses it? by Anonymous Coward · · Score: 0

      But you still use it, since it has more libraries :)

  74. Re:Don't let your Java get run out on a Rail just by gregarican · · Score: 1

    I agree with most of these assertions, although I actively use Ruby for more and more of my development code and have moved over several application to Ruby on Rails. There is a "not ready for primetime" feel to it, but it is because it's still an immature product. After all it still hasn't surpassed 1.0 revision status!

    For IDE choices I personally use Eclipse with the Ruby plug-in now, although I have used FreeRIDE in the past and some other alternatives (like WideStudio, which is an IDE that is distributed alongside full installations of Ruby, Python, and Perl). If FreeRIDE isn't your cup of tea check out Eclipse. It works for me at least.

    And as for the database driver issues there are likely some problems resident in the DBI version that's being used. I personally connect to MSDE and MSSQL instances without issue using RoR 0.9.1.

    Let's check in with RoR a year later and see where things stand. I think people are excited but a little prematurely so...

  75. Easy to integrate your own model layer by johnmax · · Score: 1

    I enjoy developing in Ruby, and Rails. I also have gripes about its Active Record model-layer package, but on one of my contracts we adapted an existing Ruby-to-SQL Server persistence layer to Rails in a very reasonable time, perhaps a little over a day, and this included the small amount of effort we needed to integrate Active Record's validations and other features, which really aren't very dependent on Active Record, it turns out. We were surprised, there was a very low amount of hacking involved.

    Yes, Active Record shows its immaturity sometimes when it gets to the harder problems, and it isn't strong on many RDBMSs yet, but that's where the fact that Rails is in Ruby starts bearing some really nice fruit. You can add major features in concise, expressive (and 100% test-driven) code without breaking a sweat.

    So feel free to write your own OO-y objects that use Active Record, or Madeleine (Prevayler-style object prevalence for Ruby), or whatever for persistence. Spend a few hours integrating Active Record's validations, observers, or whatever you like, and then dig on the elegance of the Action Pack view-and-controller package, Rails' strongest point IMO.

    This happened to us and RoR was broken for about a week between releases in the 0.9 to 0.10 range. Yeah. That was a "release". Not CVS, not alpha or beta. Release. On the upside, we did patch ourselves, so "go OpenSource".

    Rails is still pre-1.0. I do regret the hype that leads to this kind of misunderstanding. The developers are taking the 1.0 milestone very seriously and are working hard to address known deficiencies by then. In the meantime, make sure you're ready to roll back each upgrade...

  76. Yet another CMS project? by walterbyrd · · Score: 1


    Sure why not, there are probably more linux distros than linux users; so why not more CMS projects than those who use them?

    I like the idea behind F/OSS. But sometimes it seems like, instead of using common code to work together on a project, F/OSS developers prefer to go in a thousand different directions all working on their own projects.

  77. Re:Ruby on Rails?? Looks like ASP to me. by Phillip+Birmingham · · Score: 1

    Does anyone know the benefits of using RoR as opposed to say...PHP...or Chilisoft ASP?

    Yes. Rails does a huge amount of stuff for you that you would have to do on your own with ASP or PHP. You can do a hell of a lot of stuff without ever, ever writing the equivalent of rs.MoveNext().

    --
    Make me aerodynamic in the evening air
  78. Good Review by whib · · Score: 1

    Thanks for posting the review.

    While some people here on slashdot don't want to try something new unless someone else has already done something big with it, it's great to see that there are some in "the community" who are still interested in pushing the bounds on what is currently done.

    While I personally may not be looking to move to another platform, it's great to know that there are resources out there for new stuff.

    Personally, I only want books on stuff that's already well documented. And none of these new super-duper languages that one can learn quickly. If it isn't written in assembly, it isn't worth using. Why would you use anything else? It will only slow things down. In my day......

    Seriously though, it's great to see that people are still able to take ideas and run with them, even if there is not a foreseable "big use" for it. When PHP was first introduced, it was met with a "why bother?" attitude. As long as there was PERL, why anything new?

    I'm happy to see a book that is not a "for dummies" or "for idiots" or "for l33t hax0rs" but rather is by a programmer for programmers.

    A single book that covers the topic from soup to nuts is a great idea. Maybe fairly ambitious, but if it covers the topic well, then kudos to the author(s).

    --
    -- www.WhereHaveIBeen.com
  79. Re:Ruby on Rails?? Looks like ASP to me. by multi+io · · Score: 1

    Yeah well, when you're an FEM-based car crash simulation software running on a Cray T3E, Rails looks like ASP to you, Ruby looks like VBScript, Photoshop looks like MS Paint, and Elisha Cuthbert looks like your mother in law.

  80. WTF is google? by Anonymous Coward · · Score: 0

    You should try with a simpler question first.

    I'm sure you've seen something about search engines once, try to remember.

  81. Ruby by Anonymous Coward · · Score: 0

    ...what Python wants to be when it finally grows up...

  82. Meh. by abulafia · · Score: 1
    You can play games once you aren't an hiding behind the Coward mark. For the record, Brown, and then Berkeley (Math) and then Columbia (Law). And yeah, my little "webfaggot" (nice) shop will toast you in either finance or computational linguistics, and we aren't so bad on realtime animation, either, even if we're still figuring that out. Don't ask me; ask your boss why they're using me while you're doing charts and graphs, hoping the nice HR chick will put out.

    You have enough to find me now. Shove your dick where your mouth is (oh, my, um) and wi'll see how cool you are.

    C'mon big boy. Post under your real username. Whip it out, show us whatcha got.

    P.S. If you don't see the value of predicate logic in haskell, you've probably never done any real work in haskell, and maybe you should pay attention next class. Smooches, --me

    --
    I forget what 8 was for.
  83. No, I'm not. by abulafia · · Score: 1

    I do, in fact, know with absolute certainty that you've also used the software. Think about it. I'm sure you'll get it sooner or later.

    --
    I forget what 8 was for.
  84. Re:A review of a beta book about an alpha framewor by n3bulous · · Score: 1

    The framework is in a highly dynamic state. For toy applications, it's fine if you want to migrate your code every month or so. FYI, snow devil is down for redesign, my money is on a RoR update. 43things is interesting, but isn't remarkable. Basecamp is mildly useful, but very limited. Backpackit is neat, but again, not very difficult to implement.

    These sites are more about ideas anyway. RoR may have helped implement them faster (good!), but my point was that you don't want to write a professional, maintainable application in a framework that isn't finished and is subject to change dramatically.

    --
    "The area of penetration will no doubt be sensitive." ~ Spock