<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Ruby on Rails and why code generation isn&#8217;t the&#160;bomb</title>
	<atom:link href="http://www.magpiebrain.com/blog/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.magpiebrain.com/blog/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/</link>
	<description>Sam Newman's blog</description>
	<pubDate>Sun, 12 Oct 2008 07:52:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-712</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Thu, 12 May 2005 08:47:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-712</guid>
		<description>Which was kind of the point of my post, but it did get lost in translation from my brain to blog :-)
</description>
		<content:encoded><![CDATA[<p>Which was kind of the point of my post, but it did get lost in translation from my brain to blog :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Willison</title>
		<link>http://www.magpiebrain.com/blog/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-711</link>
		<dc:creator>Simon Willison</dc:creator>
		<pubDate>Thu, 12 May 2005 06:56:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-711</guid>
		<description>I've seen a few people get hung up on the code generation aspect of Rails, but it really isn't an important feature of the system. If you look at the code it generates (with the exception of scaffold) it's literally only creating two or three line class definitions - it's a bit like using an IDE which sets up your Java class definitions for you. Rails' code generation is passive, not active, which means you are expected to fire it once and edit the code yourself from then on.

What makes Rails interesting (and exciting and productive and hype-worthy) is that it's exceedingly well designed. I say this as someone who has experimented with pretty much every Python web framework out there - Rails is a extremely elegant, and solves the web problem in a much more natural way.

Forget about code generation: examine Rails based on the merits of the framework itself. You'll almost certainly be impressed.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve seen a few people get hung up on the code generation aspect of Rails, but it really isn&#8217;t an important feature of the system. If you look at the code it generates (with the exception of scaffold) it&#8217;s literally only creating two or three line class definitions &#8211; it&#8217;s a bit like using an IDE which sets up your Java class definitions for you. Rails&#8217; code generation is passive, not active, which means you are expected to fire it once and edit the code yourself from then on.</p>
<p>What makes Rails interesting (and exciting and productive and hype-worthy) is that it&#8217;s exceedingly well designed. I say this as someone who has experimented with pretty much every Python web framework out there &#8211; Rails is a extremely elegant, and solves the web problem in a much more natural way.</p>
<p>Forget about code generation: examine Rails based on the merits of the framework itself. You&#8217;ll almost certainly be impressed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: obie</title>
		<link>http://www.magpiebrain.com/blog/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-710</link>
		<dc:creator>obie</dc:creator>
		<pubDate>Tue, 10 May 2005 13:28:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-710</guid>
		<description>You are saying that Rails libraries are:

better/easier to use/more elegant than the Java alternatives because they are written in Ruby.

No controversy, man. It's the truth.</description>
		<content:encoded><![CDATA[<p>You are saying that Rails libraries are:</p>
<p>better/easier to use/more elegant than the Java alternatives because they are written in Ruby.</p>
<p>No controversy, man. It&#8217;s the truth.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-709</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Tue, 10 May 2005 09:11:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-709</guid>
		<description>(sorry about the problems with your comment not displaying - naughty MT).

The comparisons with AppFuse might be a little unfair, but I was focusing on the percieved benifit of the helper scripts, which as I said really isn't the big deal. You then talk about how good the rails libraries are - I'm going to say something potentially controversial here -  the only thing that makes Rails libraries better/easier to use/more elegant than the Java alternatives is the language itself, not the implementation. If Java had similar language features to Ruby, you'd have similar libraries - they're all solving the same problems, and in the same way.</description>
		<content:encoded><![CDATA[<p>(sorry about the problems with your comment not displaying &#8211; naughty MT).</p>
<p>The comparisons with AppFuse might be a little unfair, but I was focusing on the percieved benifit of the helper scripts, which as I said really isn&#8217;t the big deal. You then talk about how good the rails libraries are &#8211; I&#8217;m going to say something potentially controversial here &#8211;  the only thing that makes Rails libraries better/easier to use/more elegant than the Java alternatives is the language itself, not the implementation. If Java had similar language features to Ruby, you&#8217;d have similar libraries &#8211; they&#8217;re all solving the same problems, and in the same way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob</title>
		<link>http://www.magpiebrain.com/blog/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-708</link>
		<dc:creator>Bob</dc:creator>
		<pubDate>Mon, 09 May 2005 17:23:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2005/05/09/ruby-on-rails-and-why-code-generation-isnt-the-bomb/#comment-708</guid>
		<description>Rails, as you well know judging by the links on the side of the page, is more than a bit of code generation, it is accurately described as a "full-stack framework".  AppFuse is a "build file and directory structure" (the author's description) that builds upon Erik Hatcher's work in his Ant book.  

Rails does do some code generation, yes, and it does set up your application such that it's immediately ready for testing much like Appfuse.  But you, as someone who has at least played with Rails, cannot possibly discount the usefulness of the underlying Rails libraries, or the ease with which they integrate, and Ruby of course plays a huge role in how clean Rails app code looks.  The last few Rails releases have required zero changes to existing Rails apps, and the generated code for scaffolding is already pretty minimal.

AppFuse, on the other hand, is more useful to developers who want a jumpstart on stitching together the myriad Java application/persistence frameworks.  Once that stitching is done however, you're on your own and you have to learn Spring/Hibernate/Whatever (both the intricacies of their apis and configuration files, not to mention integration between them) to do your job, and you'll have to use XDoclet generation every time you want to build.  And you'll also have to worry about incompatibilities between those myriad frameworks, and when errors strike, it's hard to know where to start because of all the players involved: http://raibledesigns.com/page/rd?anchor=how_do_i_attach_a

They're both useful, but you're comparing apples to suspension bridges.  I could go on, but I'd prefer my spleen to stay where it is.</description>
		<content:encoded><![CDATA[<p>Rails, as you well know judging by the links on the side of the page, is more than a bit of code generation, it is accurately described as a &#8220;full-stack framework&#8221;.  AppFuse is a &#8220;build file and directory structure&#8221; (the author&#8217;s description) that builds upon Erik Hatcher&#8217;s work in his Ant book.  </p>
<p>Rails does do some code generation, yes, and it does set up your application such that it&#8217;s immediately ready for testing much like Appfuse.  But you, as someone who has at least played with Rails, cannot possibly discount the usefulness of the underlying Rails libraries, or the ease with which they integrate, and Ruby of course plays a huge role in how clean Rails app code looks.  The last few Rails releases have required zero changes to existing Rails apps, and the generated code for scaffolding is already pretty minimal.</p>
<p>AppFuse, on the other hand, is more useful to developers who want a jumpstart on stitching together the myriad Java application/persistence frameworks.  Once that stitching is done however, you&#8217;re on your own and you have to learn Spring/Hibernate/Whatever (both the intricacies of their apis and configuration files, not to mention integration between them) to do your job, and you&#8217;ll have to use XDoclet generation every time you want to build.  And you&#8217;ll also have to worry about incompatibilities between those myriad frameworks, and when errors strike, it&#8217;s hard to know where to start because of all the players involved: <a href="http://raibledesigns.com/page/rd?anchor=how_do_i_attach_a"  rel="nofollow">http://raibledesigns.com/page/rd?anchor=how_do_i_attach_a</a></p>
<p>They&#8217;re both useful, but you&#8217;re comparing apples to suspension bridges.  I could go on, but I&#8217;d prefer my spleen to stay where it is.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
