<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Why you need to learn Ruby and Rails</title>
	<atom:link href="http://punetech.com/why-you-need-to-learn-ruby-and-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/</link>
	<description>Connecting together Pune&#039;s Technologists</description>
	<lastBuildDate>Wed, 08 Feb 2012 09:03:24 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>By: Programming Standards are NOT pointless&#160;&#124;&#160;XM Tek LLC</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-63851</link>
		<dc:creator>Programming Standards are NOT pointless&#160;&#124;&#160;XM Tek LLC</dc:creator>
		<pubDate>Fri, 19 Nov 2010 22:59:03 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-63851</guid>
		<description>[...] Why you need to learn Ruby and Rails (punetech.com) [...]</description>
		<content:encoded><![CDATA[<p>[...] Why you need to learn Ruby and Rails (punetech.com) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Govind</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-11724</link>
		<dc:creator>Govind</dc:creator>
		<pubDate>Tue, 26 Jan 2010 19:33:26 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-11724</guid>
		<description>Thank you for explaining beauty of Ruby and Rails.</description>
		<content:encoded><![CDATA[<p>Thank you for explaining beauty of Ruby and Rails.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Improve your web based software development and maintenance ROI with dynamic programming languages &#124; /var/log/mind</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-6805</link>
		<dc:creator>Improve your web based software development and maintenance ROI with dynamic programming languages &#124; /var/log/mind</dc:creator>
		<pubDate>Mon, 15 Jun 2009 07:44:15 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-6805</guid>
		<description>[...] we carried a few quick articles on why you should learn more about Ruby and Ruby on Rails (take 1, take 2) last month, we decided that we wanted to give people a much deeper article on why [...]</description>
		<content:encoded><![CDATA[<p>[...] we carried a few quick articles on why you should learn more about Ruby and Ruby on Rails (take 1, take 2) last month, we decided that we wanted to give people a much deeper article on why [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ruby on Rails meetup in Pune &#124; PuneTech</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-6462</link>
		<dc:creator>Ruby on Rails meetup in Pune &#124; PuneTech</dc:creator>
		<pubDate>Tue, 19 May 2009 02:19:27 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-6462</guid>
		<description>[...] Why you need to learn Ruby and Rails (punetech.com) [...]</description>
		<content:encoded><![CDATA[<p>[...] Why you need to learn Ruby and Rails (punetech.com) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PuneTech &#187; Improve your web based software development and maintenance ROI with dynamic programming languages &#187; Technology in Pune</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-5710</link>
		<dc:creator>PuneTech &#187; Improve your web based software development and maintenance ROI with dynamic programming languages &#187; Technology in Pune</dc:creator>
		<pubDate>Mon, 23 Mar 2009 02:08:52 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-5710</guid>
		<description>[...] Why you need to learn Ruby and Rails (punetech.com) [...]</description>
		<content:encoded><![CDATA[<p>[...] Why you need to learn Ruby and Rails (punetech.com) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PuneTech &#187; Why Ruby is cool - take 2 &#187; Technology in Pune</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-5138</link>
		<dc:creator>PuneTech &#187; Why Ruby is cool - take 2 &#187; Technology in Pune</dc:creator>
		<pubDate>Thu, 19 Feb 2009 17:01:19 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-5138</guid>
		<description>[...] Why you need to learn Ruby and Rails  [...]</description>
		<content:encoded><![CDATA[<p>[...] Why you need to learn Ruby and Rails  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ravindra Jaju</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-5135</link>
		<dc:creator>Ravindra Jaju</dc:creator>
		<pubDate>Thu, 19 Feb 2009 14:00:34 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-5135</guid>
		<description>Depending on where you come from, the syntax 5.times... may appear either beautiful or plain weird. But whatever the initial impression, one starts appreciating it as the power unfolds. The syntax &#039;5.times&#039; might look like something completely out of the blue at first glance, but once one recognizes that 5 (or any number for that matter) is a first-class object, things start falling in place. Try playing with this further using &#039;irb&#039; (the &#039;interactive ruby&#039; command-line tool which is a part of the ruby distribution) to explore the object &#039;5&#039; further as follows: 5.class, 5.methods, 5.methods.sort [send message &#039;methods&#039; to 5, which returns an &#039;Array&#039; - further send a message &#039;sort&#039; to this returned Array object if you like to see the methods ordered]. And if you haven&#039;t guessed this already, do note that brackets to function calls are absolutely optional if the syntax is unambiguous (so, the above is equivalent to
5.times(){puts &quot;Hello Pune!&quot;}
which is equivalent to
5.times(){puts(&quot;Hello Pune!&quot;)}
What comes within the braces ({}) after &#039;5.times&#039; is a _block_ - 5.times is by itself uninteresting, unless you can _do_ something 5 times, no?  Blocks are a very powerful concept, which are defined at one place but executed elsewhere. They have access to the context where they are defined (closures). Use of blocks (and associated Proc objects) can lead to very
interesting, succinct code!

And again, if you are a C/C++ or a Java programmer feeling wary about jumping into something new and have that feeling of your uber-cool libraries not being accessible from Ruby (and hence a new learning curve apart from the heart-burn) - fear not!  Ruby, being an interpreted language, runs in a VM of
its own. The &#039;official&#039; Ruby VM is C code, but obviously the cool thing that the JVM is, you can run Ruby inside the JVM too. And the Ruby VM developers have made sure that access to your favourite libraries is as easy as possible. Many have already made these libraries accessible via Ruby. I would term the Java VM as more powerful in this regard, giving you access to native libraries apart from all the Java goodies (look up &#039;ruby+ffi&#039; on yahoo/google search).

Then again, metaprogramming takes Ruby fun to newer heights. Rails wouldn&#039;t have been (easily) possible had it not been for Ruby&#039;s abilities in this regard. How would you feel if told that there are database access methods named (for eg) &#039;find_by_name&#039; or &#039;find_by_name_city&#039; that aren&#039;t defined anywhere but still create appropriate SQL calls (&#039;where name =  ...&#039; or &#039;where name = ... and city = ...&#039;) because you can intercept &#039;function undefined&#039; events, look at the function name and arguments, and create the right SQL on the fly? Or even before that, a class mapped to a database table &#039;knows&#039; which table it is supposed to represent in an object form, just by looking at its *own* name? The good news is that all the cool libraries developed as part of the Rails initiative can be used in plain Ruby code without all the rails framework overhead too.

Well, enough said for a comment. You&#039;ve got to experience it to believe it!
(PS: Not saying here that Ruby is unique - Python, for example, is cool too - but a Python-junkie would be a better marketeer for it ;-) )</description>
		<content:encoded><![CDATA[<p>Depending on where you come from, the syntax 5.times&#8230; may appear either beautiful or plain weird. But whatever the initial impression, one starts appreciating it as the power unfolds. The syntax &#8217;5.times&#8217; might look like something completely out of the blue at first glance, but once one recognizes that 5 (or any number for that matter) is a first-class object, things start falling in place. Try playing with this further using &#8216;irb&#8217; (the &#8216;interactive ruby&#8217; command-line tool which is a part of the ruby distribution) to explore the object &#8217;5&#8242; further as follows: 5.class, 5.methods, 5.methods.sort [send message 'methods' to 5, which returns an 'Array' - further send a message 'sort' to this returned Array object if you like to see the methods ordered]. And if you haven&#8217;t guessed this already, do note that brackets to function calls are absolutely optional if the syntax is unambiguous (so, the above is equivalent to<br />
5.times(){puts &#8220;Hello Pune!&#8221;}<br />
which is equivalent to<br />
5.times(){puts(&#8220;Hello Pune!&#8221;)}<br />
What comes within the braces ({}) after &#8217;5.times&#8217; is a _block_ &#8211; 5.times is by itself uninteresting, unless you can _do_ something 5 times, no?  Blocks are a very powerful concept, which are defined at one place but executed elsewhere. They have access to the context where they are defined (closures). Use of blocks (and associated Proc objects) can lead to very<br />
interesting, succinct code!</p>
<p>And again, if you are a C/C++ or a Java programmer feeling wary about jumping into something new and have that feeling of your uber-cool libraries not being accessible from Ruby (and hence a new learning curve apart from the heart-burn) &#8211; fear not!  Ruby, being an interpreted language, runs in a VM of<br />
its own. The &#8216;official&#8217; Ruby VM is C code, but obviously the cool thing that the JVM is, you can run Ruby inside the JVM too. And the Ruby VM developers have made sure that access to your favourite libraries is as easy as possible. Many have already made these libraries accessible via Ruby. I would term the Java VM as more powerful in this regard, giving you access to native libraries apart from all the Java goodies (look up &#8216;ruby+ffi&#8217; on yahoo/google search).</p>
<p>Then again, metaprogramming takes Ruby fun to newer heights. Rails wouldn&#8217;t have been (easily) possible had it not been for Ruby&#8217;s abilities in this regard. How would you feel if told that there are database access methods named (for eg) &#8216;find_by_name&#8217; or &#8216;find_by_name_city&#8217; that aren&#8217;t defined anywhere but still create appropriate SQL calls (&#8216;where name =  &#8230;&#8217; or &#8216;where name = &#8230; and city = &#8230;&#8217;) because you can intercept &#8216;function undefined&#8217; events, look at the function name and arguments, and create the right SQL on the fly? Or even before that, a class mapped to a database table &#8216;knows&#8217; which table it is supposed to represent in an object form, just by looking at its *own* name? The good news is that all the cool libraries developed as part of the Rails initiative can be used in plain Ruby code without all the rails framework overhead too.</p>
<p>Well, enough said for a comment. You&#8217;ve got to experience it to believe it!<br />
(PS: Not saying here that Ruby is unique &#8211; Python, for example, is cool too &#8211; but a Python-junkie would be a better marketeer for it <img src='http://punetech.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aman King</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-5131</link>
		<dc:creator>Aman King</dc:creator>
		<pubDate>Thu, 19 Feb 2009 10:56:05 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-5131</guid>
		<description>That was a very good write-up that crisply summarizes the beauty of Ruby and Rails.

Nick concludes, &quot;Understand the Web. Understand Web Applications. Understand MVC. Then learn Rails, and you’ll never look back!&quot;

I&#039;ll however add &quot;Learn Ruby&quot; before &quot;Learn Rails&quot;. I&#039;ve seen a good number of &quot;Rails&quot; programmers struggle after a point (when they wanna make their apps more than simple convention-supported CRUD apps) because they aren&#039;t good &quot;Ruby&quot; programmers yet (and hence aren&#039;t able to understand/leverage the Rails &quot;magic&quot;).

I&#039;ve written more with helpful suggestions for Ruby learners here (all drawn from personal experience): http://www.wikyblog.com/AmanKing/Learning_Ruby_and_Rails</description>
		<content:encoded><![CDATA[<p>That was a very good write-up that crisply summarizes the beauty of Ruby and Rails.</p>
<p>Nick concludes, &#8220;Understand the Web. Understand Web Applications. Understand MVC. Then learn Rails, and you’ll never look back!&#8221;</p>
<p>I&#8217;ll however add &#8220;Learn Ruby&#8221; before &#8220;Learn Rails&#8221;. I&#8217;ve seen a good number of &#8220;Rails&#8221; programmers struggle after a point (when they wanna make their apps more than simple convention-supported CRUD apps) because they aren&#8217;t good &#8220;Ruby&#8221; programmers yet (and hence aren&#8217;t able to understand/leverage the Rails &#8220;magic&#8221;).</p>
<p>I&#8217;ve written more with helpful suggestions for Ruby learners here (all drawn from personal experience): <a href="http://www.wikyblog.com/AmanKing/Learning_Ruby_and_Rails" rel="nofollow">http://www.wikyblog.com/AmanKing/Learning_Ruby_and_Rails</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Priyank</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-5125</link>
		<dc:creator>Priyank</dc:creator>
		<pubDate>Thu, 19 Feb 2009 06:05:59 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-5125</guid>
		<description>Short and sweet. Will lure everyone into trying &quot;Ruby on Rails&quot;. Creating simple CRUD model in  java or .net would take you some time, but in ROR it would take you seconds and add a minute to that for applying &#039;Ajax&#039; to it.</description>
		<content:encoded><![CDATA[<p>Short and sweet. Will lure everyone into trying &#8220;Ruby on Rails&#8221;. Creating simple CRUD model in  java or .net would take you some time, but in ROR it would take you seconds and add a minute to that for applying &#8216;Ajax&#8217; to it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PuneTech &#187; Ruby Fun Day: A barcamp for Ruby developers - 21 Feb &#187; Technology in Pune</title>
		<link>http://punetech.com/why-you-need-to-learn-ruby-and-rails/#comment-5124</link>
		<dc:creator>PuneTech &#187; Ruby Fun Day: A barcamp for Ruby developers - 21 Feb &#187; Technology in Pune</dc:creator>
		<pubDate>Thu, 19 Feb 2009 06:00:46 +0000</pubDate>
		<guid isPermaLink="false">http://punetech.com/?p=1011#comment-5124</guid>
		<description>[...] Why you need to learn Ruby and Rails  [...]</description>
		<content:encoded><![CDATA[<p>[...] Why you need to learn Ruby and Rails  [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

