<?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: My 10 Favorite Things About the Ruby Language</title>
	<atom:link href="http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/feed/" rel="self" type="application/rss+xml" />
	<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/</link>
	<description>Random Geek-Related Thoughts</description>
	<lastBuildDate>Tue, 16 Mar 2010 14:46:49 -0700</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Mike Chaliy</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17115</link>
		<dc:creator>Mike Chaliy</dc:creator>
		<pubDate>Sun, 06 Sep 2009 21:45:00 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17115</guid>
		<description>Inspired by item #6, the same code but with C#:

	static void Run(string inp){
		File.ReadLines(inp).ForEach(Console.WriteLine);
	}

http://chaliy.name/blog/2009/9/read_line_in_java_ruby_and_csharp</description>
		<content:encoded><![CDATA[<p>Inspired by item #6, the same code but with C#:</p>
<p>	static void Run(string inp){<br />
		File.ReadLines(inp).ForEach(Console.WriteLine);<br />
	}</p>
<p><a href="http://chaliy.name/blog/2009/9/read_line_in_java_ruby_and_csharp" rel="nofollow">http://chaliy.name/blog/2009/9/read_line_in_java_ruby_and_csharp</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chris</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17110</link>
		<dc:creator>chris</dc:creator>
		<pubDate>Fri, 04 Sep 2009 02:13:21 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17110</guid>
		<description>Unfortunately I dont&#039; believe Ruby will be there big time in 10 years from now i.e it will still be a small niche player.

I have played with ruby  a little bit, on and off since 2006 , I know I am a late comer. these are my thoughts about Ruby.

1) after so many years, it&#039;s still like 2% in the Tiobe ranking

2) its weak typing, many people have said this is an asset, but I don&#039;t. agree. Weak typing is a dsadvantage in my experience (working with very large apps in a big Financial Institution, running 24x7 ). Rubyists have always countered with a &quot;do more testing&quot; approach , but I don&#039;t agree this will catch all your problems. I believe you have to have strong typing combined with a &quot;do more testing&quot; approach is better, especially when you are working in large teams where every one can touch any code. 

3) speed is still a problem after so many years, everyone knows it&#039;s a problem and yet the community is so slow to address that.

4) by the time, the ruby language and framework, has fixed its problems, the fad will have died and tne crowd will have moved on to the next big thing.

5) features in ruby is being and will be copied in existing languages and new languages

6) there are too many ways of doing the same thing in Ruby and this is a disadvantage as well, as this means if you are working in a big team, you have to learn every little nut and bolt of the language to be able support an application. that means, the learning curve is actually higher. In a one man team this is ok, because that one man picks one style and sticks to it and doesn&#039;t have to worry about other people&#039;s coding. It&#039;s like driving on the street, you don&#039;t have to think if the car next to you is going to drive left or right, and this prevents accidents. can you imagine for one moment that people are allowed to drive left and right in any direction ? what will happen?
I am aware that Saphire is trying to redo Ruby, with only one way of doing things. maybe this will help.


7) I think it&#039;s safer in terms of longevity of languages to stay with Java and .net. because at some point Ruby will be forked and a new variant with a lot of differnt things added, will come out, fragmenting the market even more, which will reduce the current 2% to even less.


8) the big institutions are not doing Ruby. only startups, with basic CRUD applications.

9) the absence of a specification hurts the language. by the time the specs will come out and &quot;accepted&quot; by the community, it will be too late. Languages like Scala will already be well established. 

10) the community looks and acts too amateurish generally speaking.

anyway these are my thoughts. sure people may disagree with what I said, but every one is free to one&#039;s own opinion. 
Let&#039;s wait and see, only the future will tell whether one is right or not.  why not touch base again in 5 years 
from now</description>
		<content:encoded><![CDATA[<p>Unfortunately I dont&#8217; believe Ruby will be there big time in 10 years from now i.e it will still be a small niche player.</p>
<p>I have played with ruby  a little bit, on and off since 2006 , I know I am a late comer. these are my thoughts about Ruby.</p>
<p>1) after so many years, it&#8217;s still like 2% in the Tiobe ranking</p>
<p>2) its weak typing, many people have said this is an asset, but I don&#8217;t. agree. Weak typing is a dsadvantage in my experience (working with very large apps in a big Financial Institution, running 24&#215;7 ). Rubyists have always countered with a &#8220;do more testing&#8221; approach , but I don&#8217;t agree this will catch all your problems. I believe you have to have strong typing combined with a &#8220;do more testing&#8221; approach is better, especially when you are working in large teams where every one can touch any code. </p>
<p>3) speed is still a problem after so many years, everyone knows it&#8217;s a problem and yet the community is so slow to address that.</p>
<p>4) by the time, the ruby language and framework, has fixed its problems, the fad will have died and tne crowd will have moved on to the next big thing.</p>
<p>5) features in ruby is being and will be copied in existing languages and new languages</p>
<p>6) there are too many ways of doing the same thing in Ruby and this is a disadvantage as well, as this means if you are working in a big team, you have to learn every little nut and bolt of the language to be able support an application. that means, the learning curve is actually higher. In a one man team this is ok, because that one man picks one style and sticks to it and doesn&#8217;t have to worry about other people&#8217;s coding. It&#8217;s like driving on the street, you don&#8217;t have to think if the car next to you is going to drive left or right, and this prevents accidents. can you imagine for one moment that people are allowed to drive left and right in any direction ? what will happen?<br />
I am aware that Saphire is trying to redo Ruby, with only one way of doing things. maybe this will help.</p>
<p>7) I think it&#8217;s safer in terms of longevity of languages to stay with Java and .net. because at some point Ruby will be forked and a new variant with a lot of differnt things added, will come out, fragmenting the market even more, which will reduce the current 2% to even less.</p>
<p>8) the big institutions are not doing Ruby. only startups, with basic CRUD applications.</p>
<p>9) the absence of a specification hurts the language. by the time the specs will come out and &#8220;accepted&#8221; by the community, it will be too late. Languages like Scala will already be well established. </p>
<p>10) the community looks and acts too amateurish generally speaking.</p>
<p>anyway these are my thoughts. sure people may disagree with what I said, but every one is free to one&#8217;s own opinion.<br />
Let&#8217;s wait and see, only the future will tell whether one is right or not.  why not touch base again in 5 years<br />
from now</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: edvina</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17087</link>
		<dc:creator>edvina</dc:creator>
		<pubDate>Mon, 31 Aug 2009 23:29:26 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17087</guid>
		<description>@Derek,

You can also use Ruby&#039;s ternary operator there:

conf = foo &gt; 3 ? &quot;bar.xml&quot; : &quot;baz.xml&quot;

Much nicer.</description>
		<content:encoded><![CDATA[<p>@Derek,</p>
<p>You can also use Ruby&#8217;s ternary operator there:</p>
<p>conf = foo &gt; 3 ? &#8220;bar.xml&#8221; : &#8220;baz.xml&#8221;</p>
<p>Much nicer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Renoke</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17081</link>
		<dc:creator>Renoke</dc:creator>
		<pubDate>Mon, 31 Aug 2009 11:46:29 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17081</guid>
		<description>Great Synthesis that comes after several years of programming ruby. I made also a list some times ago, and I include Rake and RSpec, which are quite unique.  I always miss these tools when I switch to another language.</description>
		<content:encoded><![CDATA[<p>Great Synthesis that comes after several years of programming ruby. I made also a list some times ago, and I include Rake and RSpec, which are quite unique.  I always miss these tools when I switch to another language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jedediah Smith</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17074</link>
		<dc:creator>Jedediah Smith</dc:creator>
		<pubDate>Sat, 29 Aug 2009 08:48:48 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17074</guid>
		<description>Don&#039;t forget proper boolean coercion rules, unlike nearly every other language.

Hey designers of dynamically typed languages: you don&#039;t need a &#039;false&#039; value for each data type IF YOU CAN PUT AN ACTUAL FALSE IN ANY VARIABLE. Think about it.</description>
		<content:encoded><![CDATA[<p>Don&#8217;t forget proper boolean coercion rules, unlike nearly every other language.</p>
<p>Hey designers of dynamically typed languages: you don&#8217;t need a &#8216;false&#8217; value for each data type IF YOU CAN PUT AN ACTUAL FALSE IN ANY VARIABLE. Think about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Helton Duarte</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17069</link>
		<dc:creator>Helton Duarte</dc:creator>
		<pubDate>Fri, 28 Aug 2009 16:50:37 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17069</guid>
		<description>Hi Yehuda,

I listened to you at Oxente Rails, in Brazil, and I started reading your posts. Now, I want to ask for permission to you to translate this post to Portuguese and put it in my blog, with credits and a link to your website. Can I do it? Please e-mail me.

Thanks.</description>
		<content:encoded><![CDATA[<p>Hi Yehuda,</p>
<p>I listened to you at Oxente Rails, in Brazil, and I started reading your posts. Now, I want to ask for permission to you to translate this post to Portuguese and put it in my blog, with credits and a link to your website. Can I do it? Please e-mail me.</p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17054</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Wed, 26 Aug 2009 00:47:13 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17054</guid>
		<description>My favorite thing about ruby is actually something pretty minor.. I really love that parenthesis are optional.</description>
		<content:encoded><![CDATA[<p>My favorite thing about ruby is actually something pretty minor.. I really love that parenthesis are optional.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek Haas</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17053</link>
		<dc:creator>Derek Haas</dc:creator>
		<pubDate>Tue, 25 Aug 2009 19:07:07 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17053</guid>
		<description>How about the fact that the language is expression-oriented?  Making such beauties as these possible:

conf = if foo &gt; 3
         &quot;bar.xml&quot;
       else
         &quot;baz.xml&quot;


It saves only maybe 1 line of code, but it increases the readability of the logic immensely when used in the right places.</description>
		<content:encoded><![CDATA[<p>How about the fact that the language is expression-oriented?  Making such beauties as these possible:</p>
<p>conf = if foo &gt; 3<br />
         &#8220;bar.xml&#8221;<br />
       else<br />
         &#8220;baz.xml&#8221;</p>
<p>It saves only maybe 1 line of code, but it increases the readability of the logic immensely when used in the right places.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yehuda Katz</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17052</link>
		<dc:creator>Yehuda Katz</dc:creator>
		<pubDate>Tue, 25 Aug 2009 17:36:17 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17052</guid>
		<description>@teepark Of course. I wasn&#039;t trying to imply that Django doesn&#039;t support WSGI, but just that WSGI is not &quot;the way&quot; on Django, splitting the community. Like Django, Rails existed before Rack ever did, but we&#039;ve undergone a fairly significant retooling effort to ensure that our framework is using the same stuff as every other Ruby web framework. Just two different philosophies of how a framework should interact with the larger language community that hosts it.</description>
		<content:encoded><![CDATA[<p>@teepark Of course. I wasn&#8217;t trying to imply that Django doesn&#8217;t support WSGI, but just that WSGI is not &#8220;the way&#8221; on Django, splitting the community. Like Django, Rails existed before Rack ever did, but we&#8217;ve undergone a fairly significant retooling effort to ensure that our framework is using the same stuff as every other Ruby web framework. Just two different philosophies of how a framework should interact with the larger language community that hosts it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Desjardins</title>
		<link>http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/comment-page-1/#comment-17051</link>
		<dc:creator>Mike Desjardins</dc:creator>
		<pubDate>Tue, 25 Aug 2009 13:29:47 +0000</pubDate>
		<guid isPermaLink="false">http://yehudakatz.com/?p=311#comment-17051</guid>
		<description>&gt; Unlike Java annotations, which must be run at compile-time, [...]

This isn&#039;t true - Java annotations can be (and often are) evaluated at runtime using reflection.  Otherwise a fantastic article.  I recently started doing JRuby development after years doing Java, and your list seems spot-on.</description>
		<content:encoded><![CDATA[<p>&gt; Unlike Java annotations, which must be run at compile-time, [...]</p>
<p>This isn&#8217;t true &#8211; Java annotations can be (and often are) evaluated at runtime using reflection.  Otherwise a fantastic article.  I recently started doing JRuby development after years doing Java, and your list seems spot-on.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
