CSC/ECE 517 Fall 2009/wiki1a 6 22
What is Ruby?
Ruby is a general purpose programming language, invented by a Japanese programmer Yukihiro Matsumoto. The majority of design work was done back in 1990s, however, the language popularity took off only ten years later, in 2006, with Ruby gaining worldwide acceptance.
The official Ruby's website, http://www.ruby-lang.org, describes Ruby as "a dynamic, open source programming language with a focus on simplicity and productivity," adding that "it has an elegant syntax that is natural to read and easy to write."
No modern language can effectively be used without an Integrated Development Environment (IDE), and Ruby is no exception. Below is an overview of three popular IDE choices for Ruby language.
Overview of Ruby IDEs
There are three popular choices when it comes to Ruby IDEs: Aptana plugin for Eclipse, NetBeans for Ruby, and RubyMine. While all three bundles provide basic IDE functionality and offer seamless integration with Ruby's interpreter, there are many notable differences in their architectures, core features, and other aspects, as briefly summarized below.
Aptana (Eclipse Plug-in)
Unlike its competitors, Aptana is not a true IDE package, but is merely a plug-in for a very popular Eclipse platfrom. Installing Aptana is not as effortless as setting up the other two IDEs, simply because it must follow a successful Eclipse install. Once Eclipse is up and running, the plug-in can then be added.
Being an extremely lightweight platform, Eclipse has no official hardware requirements list. It is known to run on almost any hardware configuration while supporting dozens of OS platforms, from Windows to Linux to Mac OS. Consequently, a minimal hardware setup that is required to run Aptana is also very forgiving:
- Processor: Intel Pentium Intel Pentium IV or equivalent
- Memory: 512 MB
In order to take advantage of Aptana's features, one would need to switch Eclipse to a "Ruby prospective", therefore, letting Aptana to take control over the IDE. Among the features offered by the Aptana Studio package, its developers list the following:
- Full support of "Ruby on Rails and loads of popular gems"
- Instant Code Assist
- Syntax Highlighting
- Various Views
- And many other features...
NetBeans
NetBeans for Ruby is a free, cross-platform IDE based on customizable and easily expandable NetBeans framework by Sun Microsystems. This platform is known primarily for being a foundation of a very popular Java IDE bundle. Unlike Eclipse, which supports Ruby through plugins such as Aptana, Sun Micosystems decided to release a standalone Ruby-focused toolset.
The latest version of this IDE can be found at http://www.netbeans.org/downloads/index.html. The installation is very straightforward, given that your hardware meets the following modest hardware specifications:
- Processor: 800MHz Intel Pentium III or equivalent (2.6 GHz Intel Pentium IV or equivalent recommended)
- Memory: 512 MB (2 GB recommended)
- Disk space: 750 MB of free disk space (1 GB recommended)
According to [3], the following major components are included in the NetBeans for Ruby bundle:
- Ruby Source Code Editor
- Ruby and Rails Debugger
- Support for Ruby projects
- Ruby Gems Installation Manager
RubyMine
RubyMine is a Ruby IDE designed and developed by JetBrains. It is advertised as "The Most Intelligent Ruby IDE" due to a variety of offered features, focused solely on Ruby:
- Intelligent Editor, which supports code completion, automatic refactoring, and other techniques.
- Error-Free Coding, essentially an automatic code analysis performed during the code design phase.
- Advanced debugger
- Full Ruby on Rails support
- And more...
In order to have a trouble free experience, your computer should meet the below the minimal recommended specs:
- Processor: Intel Pentium III/800 MHz or higher (or compatible)
- Memory: 256 MB (1 GB RAM recommended)
Links
[2] http://en.wikipedia.org/wiki/Aptana
[3] http://www.jetbrains.com/ruby/index.html
[4] http://www.netbeans.org/features/ruby/index.html
[5] http://en.wikipedia.org/wiki/Ruby_%28programming_language%29