CSC/ECE 517 Fall 2009/wiki1a 6 rf

From Expertiza_Wiki
Jump to navigation Jump to search

The objective over here is to examine the different functionality offered by the different IDEs for Ruby, such as Aptana, NetBeans, and RubyMine. And compare them along dimensions such as facilities, ease of use, system requirements, and support for the Ruby way of thinking.


IDEs FOR RUBY

There are several IDEs 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 IDEs ,i.e.,

  1. Aptana RadRails
  2. Netbeans
  3. RubyMine

Facilities

The three IDEs 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 IDEs. The measuring scale in comparing the three IDEs 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 IDEs 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 IDEs 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 IDEs are mentioned below:

  1. Aptana Proponent’s View
    1. Aptana View 1
  2. NetBeans Proponent’s View
    1. NetBeans View 1
    2. NetBeans View 2
    3. NetBeans View 3
    4. NetBeans View 4
  3. RubyMine Proponent’s View
    1. RubyMine View 1

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 IDEs. 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.Here, is the link for installing Ruby on Windows/Mac OS X/Linux: Ruby Downloads

For installing Rails in Windows use the RubyGems package manager to install it. Update the gem repository by entering,

gem update -–system

And then install Rails by executing the following statement,

gem install rails

The Mac and Linux versions come shipped with the most stable and versions of Ruby and Rails.For updating Rails enter,

sudo gem install rails

Hardware Requirements

The hardware needs for a particular OS are tabulated below.


Aptana RadRails NetBeans RubyMine
Version Aptana 1.5.1 6.7.1 ,Ruby 1.8/Rails 2.1). Version 1.1.1, Build 975
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 (min)/1 GB (recommended)
Disk Space Size : 71.9 MB (Eclipse plug-in) or more 1 GB of free disk space Size : 70.94 MB or more
Other Nil Nil Ruby SDK version 1.8.x or higher,1024x768 min. 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 (min)/1 GB (recommended)
Disk Space Size : 71.9 MB (Eclipse plug-in) or more 850 MB of free disk space Size : 74.82 MB or more
Others Nil Nil Ruby SDK version 1.8.x or higher,1024x768 min. 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 (min)/1 GB (recommended)
Disk Space Size : 71.9 MB (Eclipse plug-in) or more 850 MB of free disk space Size : 52.22 MB or more
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

References

Aptana RadRails

  1. http://aptana.com/taxonomy/term/61 - Aptana Ruby Features
  2. http://www.ibm.com/developerworks/opensource/library/os-ecl-radrails/ - Aptana Quick Start Tutorial
  3. http://www.aptana.com/docs/index.php/Plugging_Aptana_into_an_existing_Eclipse_configuration#Instructions_For_Eclipse_3.2 – Aptana Plugin for Eclipse
  4. http://www.aptana.com/docs/index.php/Integrating_RadRails_with_Aptana#Aptana_M8a.2FEclipse_3.2.2FRails_plug-in_Instructions – RadRail Plugin for Eclipse
  5. http://www.aptana.com/docs/index.php/Aptana_System_Requirements - Aptana System Requirements

NetBeans

  1. http://www.netbeans.org/features/ruby/index.html - NetBeans Ruby Features
  2. http://www.netbeans.org/kb/docs/ruby/quickstart.html - NetBeans Quick Start Tutorial
  3. http://beans.seartipy.com/2008/06/09/setting-up-rails-development-environment-on-windows-vistaxp/ - Setting up Rails Development Environment
  4. http://wiki.netbeans.org/RubyDocumentation - NetBeans Ruby Documentation
  5. http://www.netbeans.org/community/releases/67/relnotes.html#system_requirements - NetBeans System Requirements

RubyMine

  1. http://www.jetbrains.com/ruby/features/index.html - RubyMine Features
  2. http://www.jetbrains.com/ruby/documentation/index.html - RubyMine Quick Start Tutorial
  3. http://www.jetbrains.com/ruby/webhelp/index.jsp - RubyMine Documentation
  4. http://www.jetbrains.com/ruby/download/index.html - RubyMine System Requirements