CSC/ECE 517 Fall 2009/wiki1a 6 a1
IDEs FOR RUBY
There are several IDE’s that can be used as a tool in the development of Ruby and Ruby on the Rails project. Some of them are ActiveState Komodo5, 3rd Rail, Arachno Ruby, Mondrian Ruby, RubyMine , Netbeans, Eclipse plug-in such as Aptana RadRails. In the rest of the content to follow, we will be looking at mainly three Ruby developments IDE’s ,i.e,
- Aptana RadRails
- Netbeans
- RubyMine
Facilities
The three IDE’s for Ruby vouch to offer a number of useful facilities for Ruby projects. Here, is our analysis of the functionality or features offered on different IDE’s. The measuring scale in comparing the three IDE’s has been inherited from the Aptana site and extended to RubyMine.
Aptana RadRails | Netbeans | RubyMine | |
General | |||
Price | Free | Free | Free |
License Type | Open Source | Open Source | Open Source |
Available Standalone or as Eclipse Plugin | Yes | No | No |
Interpreter Support/Bundling | |||
Bundled JRuby Interpreter | Yes | Yes | Yes |
Interpreter Support/Bundling | Yes | Yes | Yes |
Scriptability/Extensibility | |||
Scriptable via Ruby | Yes | No | No |
Debugging / Profiling | |||
Debugger | Yes ( classic and ruby-debug for MRI; ruby-debug bundled with Jruby) | Yes ( classic and ruby-debug for MRI; ruby-debug bundled with Jruby) | Yes ( classic and ruby-debug for MRI; ruby-debug bundled with Jruby) |
JavaScript Debugging | Yes | No | Yes |
Profiler | Yes (Pro) | No | No |
Editors | |||
HTML Editor | Yes | Yes | Yes |
CSS Editor | Yes | Yes | Yes |
JavaScript Editor | Yes | Yes | Yes |
JSON Editor | Yes (Pro) | Yes | Yes |
SQL Editor | Yes | Yes | Yes |
YML Editor | Yes | Yes | Yes |
RHTML/ERb Editor | Yes | Yes | Yes |
XML Editor | Yes | Yes | Yes |
Ruby Editing | |||
Code Completion | Yes | Yes | Yes |
Type Inferencing | Yes | Yes | Yes |
Ruby-specific search engine (Find usages) | Yes | Yes | Yes |
Code analysis (warnings/errors/hints) | Yes | Yes | Yes |
Type Hierarchy View | Yes | No | No |
Call Hierarchy View | Yes | No | No |
Mylyn Integration | Yes | No | No |
Regular Expression Tester | Yes | No | No |
Quick Outline | Yes | No | No |
Spell Checking Support | Yes | Yes | No |
Smart Indent | Yes | Yes | No |
Mark Occurrences | Yes | Yes | No |
Refactoring | |||
Rename | Yes | Yes | Yes |
Convert Local Variable to field | Yes | No | No |
Encapsulate Field | Yes | No | Yes |
Extract Method | Yes | Yes | No |
Extract Constant | Yes | Yes | No |
Inline Class | Yes | No | No |
Inline Local Variable | Yes | No | No |
Inline Method | Yes | No | No |
Merge Class Parts (internal to file and external) | Yes | No | No |
Move Field | Yes | No | No |
Move Method | Yes | No | No |
Push Down Method | Yes | No | No |
Pull Up Method | Yes | No | No |
Split Local Variable | Yes | No | No |
Override Method | No | No | Yes |
Introduce Variable | No | Yes | Yes |
Testing | |||
Test::Unit view | Yes | Yes | Yes |
AutoTest | Yes | Yes | Yes |
RSpec support | Yes | Yes | Yes |
Cucumber | Yes | Yes | Yes |
No | No | Yes | |
Rails Specific Functionality | |||
Integrated rails-specific "shell" | Yes | No | No |
Log Tail View | Yes | No | No |
Embedded browser | Yes | No | No |
Ease of Use
The three IDE’s provide a separate set of features and it is up to a programmer to decide what he is really looking for in order to develop his project in the most timely and efficient way possible. From the facilities tabulated above, Aptana Radrails stands out with respect to Netbeans and RubyMine. However, the proponents of the IDE’s view their product better in terms of accuracy and speed in certain areas while promising to introduce new features in future. Some of the web links pointing to the ease of use of these IDE’s are mentioned below:
- RubyMine Proponent’s View
- NetBeans Proponent’s View
The views expressed above are independent and in no way can be authenticated. The author of this wiki page has no intention of showing any bias to different IDE user's. The links are only adding to the list of reviews on the IDE's. This may possibly help the future Ruby Programmers in making a fair decision to go in for an IDE that fits their choice.
System Requirements
Software Requirements
Before installing the IDE’s it is recommended to install the basic dependencies, i.e., Ruby, Ruby Gems and Rails.
Hardware Requirements
The hardware needs for a particular OS are tabulated below.
Apatana RadRails | NetBeans | RubyMine | |
Version | Aptana 1.5.1 | 6.7.1 (support : Ruby 1.8 and Rails 2.1). | Version 1.1.1, Build 975 |
Microsoft Windows | (no preferences mentioned) | Vista/XP | Vista/2003/XP/2000 |
Processor | Pentium 4-level processor | 2.6 GHz Intel Pentium IV or equivalent | Intel Pentium III/800 MHz or higher (or compatible) |
Memory | 512 MB RAM | 2 GB | 256 MB (minmum) and 1 GB (recommended) |
Disk Space | File size : 71.9 MB as Eclipse plug in. No mention about the disk size | 1 GB of free disk space | File size : 70.94 MB. No mention about the disk size |
Other | Nil | Nil | Ruby SDK version 1.8.x or higher,1024x768 minimum screen resolution |
Mac OS X | (no preferences mentioned) | 10.5 Intel/PPC | 10.4 (Tiger) or MacOS X 10.5 (Leopard) |
Processor | G5 or Intel-based machine | Dual-Core Intel/ Power PC G5 | 1.42 GHz G4, G5 or Intel-based Mac recommended |
Memory | 512 MB RAM | 2 GB | 256 MB (minmum) and 1 GB (recommended) |
Disk Space | File size : 71.9 MB as Eclipse plug in. No mention about the disk size | 850 MB of free disk space | File size : 74.82 MB. No mention about the disk size |
Others | Nil | Nil | Ruby SDK version 1.8.x or higher,1024x768 minimum screen resolution |
Linux | (no preferences mentioned) | Ubuntu 8.x | GNOME or KDE desktop |
Processor | Pentium 4-level processor | 2.6 GHz Intel Pentium IV or equivalent | Intel Pentium III/800 MHz or higher (or compatible) |
Memory | 512 MB RAM | 2 GB | 256 MB (minmum) and 1 GB (recommended) |
Disk Space | File size : 71.9 MB as Eclipse plug in. No mention about the disk size | 850 MB of free disk space | File size : 52.22 MB. No mention about the disk size |
Others | Nil | Nil | Sun JDK 1.6, Ruby SDK version 1.8.x or higher |
Support for the 'Ruby Way of Thinking'
The ideology behind the Ruby way of thinking is the Principle of Least Surprise or POLS which says that a program should be intuitive and least astonishing in its behavior or response. As told by Hal Fulton, the author of the “The Ruby Way”, the creators of Ruby want to have it as ‘Human Centric’ as possible. This would help the programmers to achieve their objectives without bothering about the complex idiosyncrasies of the language. This is done by hiding behind the complexity and only showing the relevant syntax needed to produce the desired output.
When it comes to the IDEs, we can apply the POLS on different IDEs design and the various tools/features they offer to assist a programmer in Ruby development. The parameters to evaluate an IDE in conjunction with the Ruby way of thinking could be defined as a function of the features such as run time performance, code debugging, refactoring and other tools that can definitely ease a programmer’s way. Therefore, with the above mentioned facilities the three IDEs certainly support the ruby way of thinking in different styles.
To read more about the Ruby way of thinking, click on the link to an article by Hal Fulton :The Ruby Way of Thinking