<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Just a Thought...: Tag IDEA</title>
    <link>http://bloritsch.d-haven.net/articles/tag/idea</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Random thoughts</description>
    <item>
      <title>Ruby IDEs Come of Age</title>
      <description>&lt;div style="float: right;background-color: #505050;text-align:center;"&gt;&lt;a href="http://aptana.org"&gt;&lt;img src="http://aptana.org/images/logo.png" alt="Aptana logo" border="0"/&gt;&lt;/a&gt;
&lt;br/&gt;
&lt;a href="http://www.jetbrains.com/ruby/nextversion/index.html"&gt;&lt;img src="http://www.jetbrains.com/img/banners/rm2beta_sb.png" alt="RubyMine 2.0" border="0"/&gt;&lt;/a&gt;&lt;/div&gt;
There&amp;#8217;s nothing better than finding that sweet spot with developing your software where your tools work with you, and all is right with the world.  With Java that started when JetBrains introduced their IntelliJ &lt;span class="caps"&gt;IDEA&lt;/span&gt; product.  That product changed the way we think about integrated development environments, and even the open source alternatives like &lt;a href="http://eclipse.org"&gt;Eclipse&lt;/a&gt;  imitated the features included in the &lt;span class="caps"&gt;IDEA&lt;/span&gt; product.  At some point they specialized differently, each with their own set of pros and cons.

	&lt;p&gt;The Ruby development environment lagged seriously behind with people content to use glorified text editors.&lt;/p&gt;


	&lt;p&gt;Ruby on Rails brought a whole new community of developers to the Ruby platform, many who were curious malcontents from the Java arena like me.  For folks who were used to the &lt;span class="caps"&gt;IDE&lt;/span&gt; integrating with your version control system, and even your issue tracking system, going back to text editors alone wasn&amp;#8217;t going to cut it.  Yet, so strong was the pull from Rails that some enterprising folks started creating a Ruby &lt;span class="caps"&gt;IDE&lt;/span&gt;: RadRails.  RadRails is now a plugin for the Aptana web development platform, and Eclipse based tool.  &lt;a href="http://aptana.org"&gt;Aptana&lt;/a&gt; was my &lt;span class="caps"&gt;IDE&lt;/span&gt; of choice for quite a while.  Since I was already used to Eclipse, and I had a set of plugins that I already enjoyed using, there really wasn&amp;#8217;t much reason to switch.  Except for this nagging feeling things could be better.  I was still sorely missing refactorings, decent intentions, and working type-ahead for the Ruby &lt;span class="caps"&gt;API&lt;/span&gt;.  Sure I was aware of the technical limitations, but I knew it could be done.&lt;/p&gt;


	&lt;p&gt;I limped along until I noticed that the &lt;a href="http://ruby-lang.org"&gt;Ruby Language&lt;/a&gt;  had made Ruby 1.9.1 the new official Ruby.  It had Rake and RubyGems as standard components, so there will be no issues with the stinking Linux distros that refuse to make an &lt;span class="caps"&gt;RPM&lt;/span&gt; for RubyGems.  It&amp;#8217;s all included.  Of course, there are still some growing pains with some gems.  Check out &lt;a href="http://isitruby19.com/"&gt;Is it Ruby 1.9&lt;/a&gt;  for details (they have a sister site for JRuby in case you are interested).  I had an upgrade project ahead of me that required some features from Ruby 2.3.x, cleaning up, and security enhancements.  Since I had to re-implement the site anyway, Ruby 1.9 was measured to execute faster, and I had the liberty of doing so, I decided to make Ruby 1.9.1p243 the new baseline.&lt;/p&gt;


	&lt;p&gt;That&amp;#8217;s where my troubles began.  It wasn&amp;#8217;t just the Gems either.  The IDEs just couldn&amp;#8217;t handle it.  They turned into glorified text editors with the ability to track commits.  The debug feature was broken.&lt;/p&gt;


	&lt;p&gt;I remembered the Zen like experience that I had with JetBrains &lt;span class="caps"&gt;IDEA&lt;/span&gt; from the Java world, and knew they also had a product for .NET.  I hoped they had a product for Ruby, and sure enough they have the &lt;a href="http://www.jetbrains.com/ruby/"&gt;RubyMine&lt;/a&gt;  product.  If you are looking at Ruby 1.9, or Rails 2.3.3+ don&amp;#8217;t look at RubyMine 1.1.1.  Look at their new RubyMine 2.0-beta.  This is what Ruby programming should be.  The price point is currently $79 &lt;span class="caps"&gt;USD&lt;/span&gt; with the current promotion, but normally it is $99.  That puts it in the range that mere mortals like me can afford.  It works quite nicely with Ruby 1.9, and even Rails 2.3.4 (although that wasn&amp;#8217;t the version they developed against).  I have my refactorings, my intentions, my effortless subversion integration.  Formatting works.  It&amp;#8217;s fast.  Type-ahead doesn&amp;#8217;t flake out.  Debug works (made possible with coordinated efforts between myself, the debug-ruby-ide gem maintainer and the JetBrains team&amp;#8212;the latter two doing the heavy lifting).  Let me tell you, JetBrains is as good and responsive as they always were, and the Ruby community is like the Java community used to be, but better and more pragmatic.&lt;/p&gt;


	&lt;p&gt;Aptana and RadRails will catch up, it&amp;#8217;s a matter of time.  However, JetBrains RubyMine works now, and it works better and faster than Aptana.  On Windows, RubyMine performance is acceptable (on par with Eclipse), but on Mac it sings.  Eclipse/Aptana&amp;#8217;s performance doesn&amp;#8217;t change no matter what platform you are on.&lt;/p&gt;


	&lt;p&gt;While I&amp;#8217;m at it, I do have a major gripe with the Eclipse baseline.  As a developer, I have a list of plugins I depend on because those features don&amp;#8217;t come out of the box with Eclipse.  However, the Eclipse developers who are ever moving forward, break the plugin &lt;span class="caps"&gt;API&lt;/span&gt; and the plugins I need to use.  I can&amp;#8217;t download a version of Eclipse and expect it to work properly.  Then, if I have to hunt around for an older version, God help me.  At least Aptana goes through great efforts to provide a stable and usable baseline.  OK Eclipse, how is it that you provide an &lt;span class="caps"&gt;IDE&lt;/span&gt; for developing enterprise applications, and you don&amp;#8217;t bundle the plugins for Subversion, &lt;span class="caps"&gt;CVS&lt;/span&gt;, and &lt;span class="caps"&gt;GIT&lt;/span&gt;?  If Aptana can do it, why can&amp;#8217;t you?  It&amp;#8217;s unthinkable that a responsible developer will touch code without the safety net of a version control system.  Give them tools out of the box so they don&amp;#8217;t have to separately install these plugins.  Support the open source projects around you, so open source version control systems should have preferred status.  And don&amp;#8217;t release a version of Eclipse until you&amp;#8217;ve got those plugins working with it.  Really.  I mean it.  It helps you out in the long run.&lt;/p&gt;</description>
      <pubDate>Fri, 16 Oct 2009 02:07:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:27821451-605a-49e3-ab23-c6072dd9c7b3</guid>
      <author>Berin Loritsch</author>
      <link>http://bloritsch.d-haven.net/articles/2009/10/16/ruby-ides-come-of-age</link>
      <category>review</category>
      <category>IDE</category>
      <category>ruby</category>
      <category>Eclipse</category>
      <category>Aptana</category>
      <category>RubyMine</category>
      <category>IDEA</category>
      <category>Ruby19</category>
    </item>
  </channel>
</rss>
