<?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: Ruby Documentation Sucks</title>
	<atom:link href="http://dj-bri-t.net/2009/09/ruby-documentation-sucks/feed/" rel="self" type="application/rss+xml" />
	<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/</link>
	<description>The blog and portfolio of Brian Turchyn</description>
	<lastBuildDate>Sun, 28 Oct 2012 16:18:15 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: Kashif</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-1371</link>
		<dc:creator>Kashif</dc:creator>
		<pubDate>Sat, 04 Feb 2012 15:57:41 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-1371</guid>
		<description><![CDATA[I just dumped Ruby after fighting with it for 6 months on/off. It&#039;s not just Ruby&#039;s documentation that sucks. All other popular libraries also _suck_ such as eventmachine, Thin, and Rack. My co-worker also agrees with me...

I spent all my time trying to figure out &#039;how to do things&#039;. Once I figured it out, it was great...and elegant...but what&#039;s the point, there was too much magic at times to figure out what was happening.

A language can be pretty, but it&#039;s the libraries that make it useful and practical. 

I learned an important lesson: judge technology by documentation, not by the fact it is sexy or elegant.]]></description>
		<content:encoded><![CDATA[<p>I just dumped Ruby after fighting with it for 6 months on/off. It&#8217;s not just Ruby&#8217;s documentation that sucks. All other popular libraries also _suck_ such as eventmachine, Thin, and Rack. My co-worker also agrees with me&#8230;</p>
<p>I spent all my time trying to figure out &#8216;how to do things&#8217;. Once I figured it out, it was great&#8230;and elegant&#8230;but what&#8217;s the point, there was too much magic at times to figure out what was happening.</p>
<p>A language can be pretty, but it&#8217;s the libraries that make it useful and practical. </p>
<p>I learned an important lesson: judge technology by documentation, not by the fact it is sexy or elegant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: qwerty</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-948</link>
		<dc:creator>qwerty</dc:creator>
		<pubDate>Mon, 20 Jun 2011 08:19:27 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-948</guid>
		<description><![CDATA[Yes, the docs should and could be better. No argument there.

However, the API is not the language. Not at all. You don&#039;t have to use any of those 108 libraries to use Ruby. 

If you understand network programming, the constants in the socket library should be self-evident. See where I am going here?]]></description>
		<content:encoded><![CDATA[<p>Yes, the docs should and could be better. No argument there.</p>
<p>However, the API is not the language. Not at all. You don&#8217;t have to use any of those 108 libraries to use Ruby. </p>
<p>If you understand network programming, the constants in the socket library should be self-evident. See where I am going here?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joel</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-897</link>
		<dc:creator>Joel</dc:creator>
		<pubDate>Sun, 13 Feb 2011 23:51:40 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-897</guid>
		<description><![CDATA[Lol, amen to everyone.

Here&#039;s what I discovered this weekend
- In the standard library, in IO/wait.  From what I&#039;m able to tell, the first method,&quot;nread&quot;, doesn&#039;t even exist for the Windows implementation of the interpreter.  I can see the other methods from that class, but this one literally is not there.  No mention of this in the API.

- The second method, &quot;ready&quot;, does exist but is WRONGLY implemented -- I dont even think its a bug.  It ALWAYS returns false, no matter what, like the implementer just got lazy.  I just can&#039;t understand that...either implement it, or at least put a note in the API, or at least throw an error when its called that says &quot;WARNING: not implemented on your OS!&quot;.  Took me hours to figure this out.  Tell me, Matz, how exactly does this fit in with the Principle of Least Surprise?

- The doc for the primary IO class has no references to IO/wait or Open3, both of which are also part of the standard library and are essentially extensions of the primary IO class which are very valuable.

- The doc for IO.select just contains a link to the doc for Kernel.select.  The doc for Kernel.select just contains a link to the doc for Kernel.select.  That&#039;s right, it has a link to itself, lmao.

- All links in the API seem to be done somewhat mechanically, rather than being done by humans.  So the definition for IO.read_nonblock says it works by &quot;using the read(2) system call&quot;.  The &quot;read&quot; part of read(2) is a link to IO.read, which is a blocking read that takes N bytes.  So if you interpret the documentation literally, it defines IO.read_nonblock as a blocking read of 2 bytes.  If you&#039;re someone who happens to know UNIX system calls, you might  recognize the typo.  But this kind of bullshit is rampant throughout the documentation, and I feel bad for the confused kid who&#039;s trying to pick up his first programming language, ruby, and is completely lost.

And if I want to edit the docs myself, the only thing I can find is this BS about how I have to access their subversion repository and modify the source code.  To fix a typo?  A simple &quot;corrections&quot; submission form would be too difficult because...?

I&#039;m only angry because I genuinely LIKE the language.  The OO features, the basic data structures, even little things like ruby&#039;s equivalent of a Switch statement are very expressive, well-abstracted, and beautiful.  But once I start dealing with anything system-related I feel like I&#039;m using poorly-documented C functions.  The language is bloody 15 years old and they still can&#039;t be bothered to make it accessible.  Or maybe its just my fault and I&#039;m the idiot for not learning Japanese!

&gt;_&lt;
Waaaaaaaaaaaaaaaaaaa]]></description>
		<content:encoded><![CDATA[<p>Lol, amen to everyone.</p>
<p>Here&#8217;s what I discovered this weekend<br />
- In the standard library, in IO/wait.  From what I&#8217;m able to tell, the first method,&#8221;nread&#8221;, doesn&#8217;t even exist for the Windows implementation of the interpreter.  I can see the other methods from that class, but this one literally is not there.  No mention of this in the API.</p>
<p>- The second method, &#8220;ready&#8221;, does exist but is WRONGLY implemented &#8212; I dont even think its a bug.  It ALWAYS returns false, no matter what, like the implementer just got lazy.  I just can&#8217;t understand that&#8230;either implement it, or at least put a note in the API, or at least throw an error when its called that says &#8220;WARNING: not implemented on your OS!&#8221;.  Took me hours to figure this out.  Tell me, Matz, how exactly does this fit in with the Principle of Least Surprise?</p>
<p>- The doc for the primary IO class has no references to IO/wait or Open3, both of which are also part of the standard library and are essentially extensions of the primary IO class which are very valuable.</p>
<p>- The doc for IO.select just contains a link to the doc for Kernel.select.  The doc for Kernel.select just contains a link to the doc for Kernel.select.  That&#8217;s right, it has a link to itself, lmao.</p>
<p>- All links in the API seem to be done somewhat mechanically, rather than being done by humans.  So the definition for IO.read_nonblock says it works by &#8220;using the read(2) system call&#8221;.  The &#8220;read&#8221; part of read(2) is a link to IO.read, which is a blocking read that takes N bytes.  So if you interpret the documentation literally, it defines IO.read_nonblock as a blocking read of 2 bytes.  If you&#8217;re someone who happens to know UNIX system calls, you might  recognize the typo.  But this kind of bullshit is rampant throughout the documentation, and I feel bad for the confused kid who&#8217;s trying to pick up his first programming language, ruby, and is completely lost.</p>
<p>And if I want to edit the docs myself, the only thing I can find is this BS about how I have to access their subversion repository and modify the source code.  To fix a typo?  A simple &#8220;corrections&#8221; submission form would be too difficult because&#8230;?</p>
<p>I&#8217;m only angry because I genuinely LIKE the language.  The OO features, the basic data structures, even little things like ruby&#8217;s equivalent of a Switch statement are very expressive, well-abstracted, and beautiful.  But once I start dealing with anything system-related I feel like I&#8217;m using poorly-documented C functions.  The language is bloody 15 years old and they still can&#8217;t be bothered to make it accessible.  Or maybe its just my fault and I&#8217;m the idiot for not learning Japanese!</p>
<p>&gt;_&lt;<br />
Waaaaaaaaaaaaaaaaaaa</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: karatedog</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-883</link>
		<dc:creator>karatedog</dc:creator>
		<pubDate>Sun, 26 Dec 2010 21:28:30 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-883</guid>
		<description><![CDATA[Ha! Never thought that a google search will yield exact result to &quot;Ruby documentation sucks&quot; :-)
It is almost the year 2011, and Ruby core still sucks.]]></description>
		<content:encoded><![CDATA[<p>Ha! Never thought that a google search will yield exact result to &#8220;Ruby documentation sucks&#8221; <img src='http://dj-bri-t.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
It is almost the year 2011, and Ruby core still sucks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-707</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Mon, 07 Jun 2010 18:51:18 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-707</guid>
		<description><![CDATA[I know this is quite an old post now, but since writing my last comment, I have been looking into other web development frameworks.  I have, after much investigation, experimentation and deliberation, opted for Catalyst.  It&#039;s a perl framework, and I love it.  It wasn&#039;t easy to learn, but the online documentation is very good.  I also bought The Definitive Guide to Catalyst - a book which I cannot recommend highly enough.  I am slowly but surely becoming a perl addict.]]></description>
		<content:encoded><![CDATA[<p>I know this is quite an old post now, but since writing my last comment, I have been looking into other web development frameworks.  I have, after much investigation, experimentation and deliberation, opted for Catalyst.  It&#8217;s a perl framework, and I love it.  It wasn&#8217;t easy to learn, but the online documentation is very good.  I also bought The Definitive Guide to Catalyst &#8211; a book which I cannot recommend highly enough.  I am slowly but surely becoming a perl addict.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DJ Bri T</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-108</link>
		<dc:creator>DJ Bri T</dc:creator>
		<pubDate>Mon, 23 Nov 2009 17:25:31 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-108</guid>
		<description><![CDATA[One would think that a language that has been around for that long would have developed decent documentation and examples at this point. Yes, for some of the common problems there are many examples to be found, but for some of the more complex stuff -- the things that you would need examples for -- the resources simply don&#039;t exist yet. After being spoiled on PHP documentation for so many years, the Rails documentation is painful at best to work with. I&#039;ve found that getting books is your best bet, along-side some serious experimentation. &quot;Advanced Rails Recipes&quot; is another good book along with the one I mention in the blog post. 

I have plans in the works to create a development site on which I&#039;ll be posting a bunch of programming tips and tricks that I&#039;ve learned over the many years I&#039;ve been programming. More specifically, I&#039;ll probably personally focus on Rails due to the lack of good documentation, but there&#039;s certainly room for others to help with other languages.]]></description>
		<content:encoded><![CDATA[<p>One would think that a language that has been around for that long would have developed decent documentation and examples at this point. Yes, for some of the common problems there are many examples to be found, but for some of the more complex stuff &#8212; the things that you would need examples for &#8212; the resources simply don&#8217;t exist yet. After being spoiled on PHP documentation for so many years, the Rails documentation is painful at best to work with. I&#8217;ve found that getting books is your best bet, along-side some serious experimentation. &#8220;Advanced Rails Recipes&#8221; is another good book along with the one I mention in the blog post. </p>
<p>I have plans in the works to create a development site on which I&#8217;ll be posting a bunch of programming tips and tricks that I&#8217;ve learned over the many years I&#8217;ve been programming. More specifically, I&#8217;ll probably personally focus on Rails due to the lack of good documentation, but there&#8217;s certainly room for others to help with other languages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-107</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Mon, 23 Nov 2009 15:49:02 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-107</guid>
		<description><![CDATA[I have just started looking into using Ruby as an alternative to PHP.  I&#039;ve been using PHP for years, and although I really like it, I had heard that Ruby might help speed up some of my development work.

I started by getting an overview of the language itself, which I quite like.  I then moved on to looking how I would implement things that I have already implemented in PHP.  Take, for example, symmetric encryption.  There&#039;s apparantly an MCrypt library, and an OpenSSL library for Ruby, but the documentation is astoundingly bad.  After half an hour of searching, I could only find a few examples.  The ruby-doc.org section on OpenSSL is pretty much empty.  Compare this with the PHP documentation, and the difference is obvious.

As much as I would like to learn and use Ruby, it won&#039;t speed up my development if I can&#039;t access decent documentation.]]></description>
		<content:encoded><![CDATA[<p>I have just started looking into using Ruby as an alternative to PHP.  I&#8217;ve been using PHP for years, and although I really like it, I had heard that Ruby might help speed up some of my development work.</p>
<p>I started by getting an overview of the language itself, which I quite like.  I then moved on to looking how I would implement things that I have already implemented in PHP.  Take, for example, symmetric encryption.  There&#8217;s apparantly an MCrypt library, and an OpenSSL library for Ruby, but the documentation is astoundingly bad.  After half an hour of searching, I could only find a few examples.  The ruby-doc.org section on OpenSSL is pretty much empty.  Compare this with the PHP documentation, and the difference is obvious.</p>
<p>As much as I would like to learn and use Ruby, it won&#8217;t speed up my development if I can&#8217;t access decent documentation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DJ Bri T</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-80</link>
		<dc:creator>DJ Bri T</dc:creator>
		<pubDate>Fri, 16 Oct 2009 18:05:40 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-80</guid>
		<description><![CDATA[Yes, Java docs are put together much better than Ruby&#039;s docs are. What I ended up doing for Rails is I went out and bought a book. It was the best $50 I&#039;ve ever spent, and I highly recommend dropping a bit of cash to pick up a good, comprehensive textbook that will hopefully last you many years.]]></description>
		<content:encoded><![CDATA[<p>Yes, Java docs are put together much better than Ruby&#8217;s docs are. What I ended up doing for Rails is I went out and bought a book. It was the best $50 I&#8217;ve ever spent, and I highly recommend dropping a bit of cash to pick up a good, comprehensive textbook that will hopefully last you many years.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-79</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Fri, 16 Oct 2009 11:05:03 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-79</guid>
		<description><![CDATA[I completely agree with you, Ruby doc is crap! I&#039;ve been asked to automate server api testing with Ruby but it takes so much time just to find whether I can do whatever I need with Ruby. And when I do find the feature I need, there&#039;s no freaking description of what the function returns or takes as parameters unless you go through the code.

I really enjoy Java docs, the description is so well put together. Why wouldn&#039;t everybody follow that standard?!]]></description>
		<content:encoded><![CDATA[<p>I completely agree with you, Ruby doc is crap! I&#8217;ve been asked to automate server api testing with Ruby but it takes so much time just to find whether I can do whatever I need with Ruby. And when I do find the feature I need, there&#8217;s no freaking description of what the function returns or takes as parameters unless you go through the code.</p>
<p>I really enjoy Java docs, the description is so well put together. Why wouldn&#8217;t everybody follow that standard?!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon</title>
		<link>http://dj-bri-t.net/2009/09/ruby-documentation-sucks/comment-page-1/#comment-71</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Sun, 27 Sep 2009 22:23:09 +0000</pubDate>
		<guid isPermaLink="false">http://dj-bri-t.net/?p=131#comment-71</guid>
		<description><![CDATA[Hey Brian, why not use like, Visual Basic or Java? I heard they work really really well!

... Yes, I was being sarcastic. Sad to hear Ruby has such poor documentation, I was motivated to learn it soon. If you find the time, contribute to it yourself, so the next guy doesn&#039;t need to find some obscure IBM paper.]]></description>
		<content:encoded><![CDATA[<p>Hey Brian, why not use like, Visual Basic or Java? I heard they work really really well!</p>
<p>&#8230; Yes, I was being sarcastic. Sad to hear Ruby has such poor documentation, I was motivated to learn it soon. If you find the time, contribute to it yourself, so the next guy doesn&#8217;t need to find some obscure IBM paper.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
