lesscode.org


Rails Furthers Industry Acceptance  

By Ryan Tomayko under Then they fight you..., Rails on 15. July 2005

I have to admit that as a Python guy I sometimes have a hard time reporting on all the recent Rails press (and I’m doing something about that, I promise). But hey, those guys are kicking ass and have made huge advances in getting the rest of the industry to wake up to the benefits of not only dynamic languages but also some of the concepts and practices that are common to the wider community. The old walls are starting to come down and its in no small part to the Rails community. Big ups and all that.

I think its interesting that of all the really inventive material the Rails guys have thrown together (movies, books, and now a friggin podcast), you just can’t beat a public display of less code, such as the one you’ll find in this IBM developerWorks article published a few days ago by Aaron Rustad:

Hibernate (Java State of the Art)

<hibernate-mapping>
  <class name="models.Order" table="ORDERS"
         dynamic-update="true" dynamic-insert="false"
         discriminator-value="null">

    <id name="id" column="id" type="java.lang.Long" 
        unsaved-value="null">
        <generator class="identity"/>
    </id>

    <set name="items" lazy="false" inverse="false"
         cascade="none" sort="unsorted">
         <key column="id"/>
         <one-to-many class="models.Item"/>
    </set>

    <property name="name" type="java.lang.String"
              update="true" insert="true"
              access="property" column="name"/>
  </class>
</hibernate-mapping>

public class Order {
    private Set items;
    private String name;
    private Long id;

    public Long getId() { return id;}

    public void setId(Long id) { this.id = id;}

    public Set getItems() { return items;}

    public void setItems(Set items) { this.items = items; }

    public String getName() { return name; }

    public void setName(String name) { this.name = name; }
}

ActiveRecord (Rails)

class Order < ActiveRecord::Base
     has_many :items
end

That’s hard to ignore.

I just hope that with all the recent attention paid to the Rails community those guys keep in mind that we all stand on the shoulders of giants and that all roads eventually lead to Lisp <ducks>

9 Responses to “Rails Furthers Industry Acceptance”

  1. ludo:

    I think may Python lovers are in my same situation, having postponed learning Ruby for a while in the hope that a Rails-like framework for Python would eventually get developed. Unfortunately it looks like we will have to learn Ruby, or find the time to develop PyRails (which will involve learning Ruby anyway).

    BTW, great blog!

    comment at 15. July 2005

  2. Jordan Cox:

    I always try to learn as many languages as possible. For me, Ruby on Rails was a great chance to dive into Ruby - and I’m glad I did. It’s a very robust language, that’s still very simple - and has finally gotten this gr(e|a)y procedural programmer to fully embrace OO. :)

    Seconds on the great blog comment. I love it. The design is wonderfully different - and I love the concept. Keep it up!

    comment at 15. July 2005

  3. PJ Hyett:

    That article (and specifically the code example you’ve posted) was one of those beautiful occasions when it becomes perfectly clear that the Java folks that continually put down Rails need to eat crow. The KISS method comes to mind.

    comment at 15. July 2005

  4. Dannno:

    Waxy posted a link to Django Django yesteday which purports to be Rails for Python, though, being unfamiliar with Python, I was unable to assess the claim (No offense Pythoners, I just don’t jive with the syntax, like I don’t jive with Lisp’s syntax).

    comment at 16. July 2005

  5. John Speno:

    So what is it exactly that you are doing about having “a hard time reporting on all the recent Rails press”?

    comment at 19. July 2005

  6. Ryan Tomayko:

    So what is it exactly that you are doing about having “a hard time reporting on all the recent Rails press”?

    Ahh, well, I’ve been conversing with a few really solid Ruby and Rails developers trying to get them to come on board with lesscode.org. That way I don’t have to worry about being fair and balanced because there will be someone concentrating on covering the Ruby community. In fact, I’ve spoken to people from the Perl, Python, PHP, and Ruby communities as well as some general web architecture guys that understand why these tools were built the way they were.

    The interest seems to be there but everyone has two or three weblogs + columns at this point. I’ve not given up hope completely, we’ll just have to wait and see.

    comment at 19. July 2005

  7. blogx » Blog Archive » LISP:

    […] Interesting reading this morning about a language that was written in 1958 called LISP, and is the powerhouse behind all those airline search engines out there. Got there from a mention on the list about Ruby on Rails that led me to one of Ryan Tomayko’s articles about less code. The song remains the same. […]

    pingback at 11. August 2005

  8. Freedom vs. Safety [@lesscode.org]:

    […] The advocates of freedom languages tend to talk first about the speed and efficiency of the individual programmer. They discuss the expressive power of different constructs and focus on all the powerful features that the safety languages lack. They point out complex patterns and show off twenty-line systems that do the same thing. They talk more about the ease or purity of things than the safety of things. They are dismissive of static-type-safety and compile-time validation in general. […]

    pingback at 25. August 2005

  9. Candide:

    Of course, the bane of less code is that you have no clue what’s going on when push comes to shove.

    I’m running into this problem right now with adding a column to a development project I’m working on: I’ve updated my database, added a new column, re-created the scaffolding through the generator, and…nothing. Nix. Nada. That column (book_id) simply refused to show up.

    The answer? Change the name of the column. For some reason, the scaffolding REALLY did not care for the “book_id” column. I’d like to know where that is in the documentation.

    comment at 13. August 2006