CSC/ECE 517 Fall 2009/wiki1a 6 22: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
mNo edit summary
 
(50 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__FORCETOC__
__TOC__
 
== Introduction ==
 
Today's programming languages are becoming more and more complex. In most cases, a developer relies on an [http://en.wikipedia.org/wiki/Integrated_development_environment Integrated Development Environment (IDE)] which can assist with tasks such as editing, debugging, version control, etc. Programming in [http://en.wikipedia.org/wiki/Ruby_%28programming_language%29 Ruby language] is no exception. Below is an overview of three popular IDE choices for Ruby.


== What is Ruby? ==
== 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.
[http://en.wikipedia.org/wiki/Ruby_%28programming_language%29 Ruby] is a general purpose programming language, invented by a Japanese programmer [http://en.wikipedia.org/wiki/Yukihiro_Matsumoto Yukihiro "Matz" Matsumoto]. The majority of design work was done back in 1990s, however, the language popularity took off 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."
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 ==
== Overview of Ruby IDEs ==


There are three popular choices when it comes to Ruby IDEs: Aptana plugin for Eclipse,   
There are three popular choices when it comes to Ruby IDEs: Aptana plug-in 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.
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) ==
== 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.
[[Image:Eclipse.png|250px|thumb|Aptana 1.5 in Microsoft Windows XP]]
 
 
'''Developed by:''' Aptana, Inc.<br>
'''Current Version:''' 1.5<br>
'''License:''' GPL (free), Proprietary<br>
'''Operating System:''' Cross-platform<br>
'''Website:''' http://www.aptana.com/<br>
 
 
Unlike its competitors, Aptana is not a true IDE package, but is merely a plug-in for a very popular Eclipse platform. 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:  
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:
'''Processor:''' Intel Pentium Intel Pentium IV or equivalent<br>
'''Memory:''' 512 MB<br>
 
 
In order to take advantage of Aptana's features, one would need to switch Eclipse to a "Ruby perspective", 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"
*Full support of "Ruby on Rails and loads of popular gems"
Line 29: Line 43:
*Syntax Highlighting
*Syntax Highlighting
*Various Views
*Various Views
*And many other features
*And many other features...
 
Aptana Studio is an excellent IDE choice, and is a "Winner of the 2006 EclipseCon community award for Best Open-Source Eclipse-based tool." [9] It is especially effective if, in addition to using it for Ruby development, you plan on using Eclipse with other programming languages.


== NetBeans ==
== NetBeans ==
[[Image:NetBeans.png|250px|thumb|NetBeans 6.7 in Microsoft Windows XP]]
'''Developed by:''' Sun Microsystems<br>
'''Current Version:''' 6.7<br>
'''License:''' CDDL (free)<br>
'''Operating System:''' Cross-platform<br>
'''Website:''' http://www.netbeans.org/features/ruby/<br>


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.
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.
Line 37: Line 64:
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:
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:
'''Processor:''' Intel Pentium III 800MHz or equivalent (Intel Pentium IV 2.6 GHz recommended)<br>
'''Memory:''' 512 MB (2 GB recommended)<br>
'''Disk space:''' 750 MB of free disk space (1 GB recommended)<br>
 
 
According to NetBeans.org, the following major components are included in the NetBeans for Ruby bundle:


*Ruby Source Code Editor
*Ruby Source Code Editor
Line 47: Line 76:
*Support for Ruby projects
*Support for Ruby projects
*Ruby Gems Installation Manager
*Ruby Gems Installation Manager
This option is a great choice when one plans on sticking with Ruby projects. One downside of this environment is that it may feel a little sluggish on slow computers due to its high hardware requirements. However, it should work just fine on the majority of modern PCs.


== RubyMine ==
== RubyMine ==


*Processor: Intel Pentium III/800 MHz or higher (or compatible)
*Memory: 256 MB 1 GB RAM recommended)


facilities,  
[[Image:RubyMine.png|250px|thumb|RubyMine 1.1.1 in Microsoft Windows XP]]
ease of use,  
 
system requirements,  
 
and support for the Ruby way of thinking.
'''Developed by:''' JetBrains<br>
'''Current Version:''' 1.1.1<br>
'''License:''' Proprietary<br>
'''Operating System:''' Windows, Mac OS X, Linux<br>
'''Website:''' http://www.jetbrains.com/ruby<br>
 
 
RubyMine is a proprietary Ruby IDE that is being developed by JetBrains. It is advertised as "The Most Intelligent Ruby IDE" due to a variety of offered features, focused solely on Ruby. Here are a few of its key components:
 
*Intelligent Editor, supporting code completion, automatic refactoring, and other techniques.
*Error-Free Coding, essentially an automatic code analysis performed during the code design phase.
*Advanced debugging tool
*Full Ruby on Rails support
*And more...
 
In order to have a trouble free experience, your computer should meet minimal recommended specs outlined below:
 
 
'''Processor:''' Intel Pentium III 800 MHz or equivalent<br>
'''Memory:''' 256 MB (1 GB RAM recommended)<br>
 
 
Similarly to NetBeans, RubyMine is a good pick as a primary Ruby IDE. Just like the other IDEs, it is written in Java, so one would need to keep in mind that a speedy PC is a must, to be able to run JVM comfortably. Another downside is that it is offered under a proprietary license, costing $99 per license.
 
== Side-by-Side Comparison ==
 
{| border="1" cellpadding="2"
!width=160|Product
!width=140|Developed By
!width=130|License
!width=60|Cost
!width=100|Current Version
!width=130|Platform
!width=80|Debugger
!width=80|Refactoring
!width=100|Version Control
|-style="text-align: center; font-size:90%;"
|[http://en.wikipedia.org/wiki/Aptana#RadRails Aptana Plug-in for Eclipse]|| [http://en.wikipedia.org/wiki/Aptana Aptana, Inc.] || [http://en.wikipedia.org/wiki/GPL GPL], [http://en.wikipedia.org/wiki/Proprietary_software Proprietary] || Free || 1.5 || [http://en.wikipedia.org/wiki/Cross-platform Cross-platform] || Yes || Yes || CVS, SVN
|-style="text-align: center; font-size:90%;"
|[http://en.wikipedia.org/wiki/NetBeans#NetBeans_IDE_Bundle_for_Ruby NetBeans for Ruby]|| [http://en.wikipedia.org/wiki/Sun_microsystems Sun Microsystems] || [http://en.wikipedia.org/wiki/Common_Development_and_Distribution_License CDDL] || Free|| 6.7.1 || [http://en.wikipedia.org/wiki/Cross-platform Cross-platform] || Yes || Yes || CVS, SVN, Mercurial, Clearcase
|-style="text-align: center; font-size:90%;"
|[http://en.wikipedia.org/wiki/RubyMine RubyMine]|| [http://en.wikipedia.org/wiki/JetBrains JetBrains] || [http://en.wikipedia.org/wiki/Proprietary_software Proprietary] || $99 || 1.1.1 || [http://en.wikipedia.org/wiki/Windows Windows], [http://en.wikipedia.org/wiki/Linux Linux], [http://en.wikipedia.org/wiki/Mac_OS_X Mac OS X] || Yes || Yes || SVS, Git, Perforce, CVS
|}
<br>
 
== Conclusion ==
Even though this review did not reveal a clear winner, one may want to begin exploring Ruby with an award-winning Aptana RadRails plug-in. RubyMine and NetBeans are also excellent IDE choices and should not be underestimated. Finally, all three products can be easily be installed side-by-side for a thorough comparison.


==Links==
==Links==
Line 73: Line 148:


[7] http://www.aptana.com/studio#content_ajax
[7] http://www.aptana.com/studio#content_ajax
[8] http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Ruby
[9] http://aptana.com/docs/index.php/RadRails

Latest revision as of 17:45, 16 September 2009

Introduction

Today's programming languages are becoming more and more complex. In most cases, a developer relies on an Integrated Development Environment (IDE) which can assist with tasks such as editing, debugging, version control, etc. Programming in Ruby language is no exception. Below is an overview of three popular IDE choices for Ruby.

What is Ruby?

Ruby is a general purpose programming language, invented by a Japanese programmer Yukihiro "Matz" Matsumoto. The majority of design work was done back in 1990s, however, the language popularity took off 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."

Overview of Ruby IDEs

There are three popular choices when it comes to Ruby IDEs: Aptana plug-in 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)

Aptana 1.5 in Microsoft Windows XP


Developed by: Aptana, Inc.
Current Version: 1.5
License: GPL (free), Proprietary
Operating System: Cross-platform
Website: http://www.aptana.com/


Unlike its competitors, Aptana is not a true IDE package, but is merely a plug-in for a very popular Eclipse platform. 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 perspective", 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...

Aptana Studio is an excellent IDE choice, and is a "Winner of the 2006 EclipseCon community award for Best Open-Source Eclipse-based tool." [9] It is especially effective if, in addition to using it for Ruby development, you plan on using Eclipse with other programming languages.

NetBeans

NetBeans 6.7 in Microsoft Windows XP


Developed by: Sun Microsystems
Current Version: 6.7
License: CDDL (free)
Operating System: Cross-platform
Website: http://www.netbeans.org/features/ruby/


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: Intel Pentium III 800MHz or equivalent (Intel Pentium IV 2.6 GHz recommended)
Memory: 512 MB (2 GB recommended)
Disk space: 750 MB of free disk space (1 GB recommended)


According to NetBeans.org, 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

This option is a great choice when one plans on sticking with Ruby projects. One downside of this environment is that it may feel a little sluggish on slow computers due to its high hardware requirements. However, it should work just fine on the majority of modern PCs.

RubyMine

RubyMine 1.1.1 in Microsoft Windows XP


Developed by: JetBrains
Current Version: 1.1.1
License: Proprietary
Operating System: Windows, Mac OS X, Linux
Website: http://www.jetbrains.com/ruby


RubyMine is a proprietary Ruby IDE that is being developed by JetBrains. It is advertised as "The Most Intelligent Ruby IDE" due to a variety of offered features, focused solely on Ruby. Here are a few of its key components:

  • Intelligent Editor, supporting code completion, automatic refactoring, and other techniques.
  • Error-Free Coding, essentially an automatic code analysis performed during the code design phase.
  • Advanced debugging tool
  • Full Ruby on Rails support
  • And more...

In order to have a trouble free experience, your computer should meet minimal recommended specs outlined below:


Processor: Intel Pentium III 800 MHz or equivalent
Memory: 256 MB (1 GB RAM recommended)


Similarly to NetBeans, RubyMine is a good pick as a primary Ruby IDE. Just like the other IDEs, it is written in Java, so one would need to keep in mind that a speedy PC is a must, to be able to run JVM comfortably. Another downside is that it is offered under a proprietary license, costing $99 per license.

Side-by-Side Comparison

Product Developed By License Cost Current Version Platform Debugger Refactoring Version Control
Aptana Plug-in for Eclipse Aptana, Inc. GPL, Proprietary Free 1.5 Cross-platform Yes Yes CVS, SVN
NetBeans for Ruby Sun Microsystems CDDL Free 6.7.1 Cross-platform Yes Yes CVS, SVN, Mercurial, Clearcase
RubyMine JetBrains Proprietary $99 1.1.1 Windows, Linux, Mac OS X Yes Yes SVS, Git, Perforce, CVS


Conclusion

Even though this review did not reveal a clear winner, one may want to begin exploring Ruby with an award-winning Aptana RadRails plug-in. RubyMine and NetBeans are also excellent IDE choices and should not be underestimated. Finally, all three products can be easily be installed side-by-side for a thorough comparison.

Links

[1] http://aptana.com/

[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

[6] http://www.ruby-lang.org/en/

[7] http://www.aptana.com/studio#content_ajax

[8] http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Ruby

[9] http://aptana.com/docs/index.php/RadRails