|
|
Line 1: |
Line 1: |
| * [[CSC/ECE 517 Fall 2010/ch1 1a ms]] | | *[[CSC/ECE 517 Fall 2010/ch1 1a vc]] |
| ----
| |
| =Introduction=
| |
| This article is trying to analyze and compare different Integrated Development Environments(IDE) that are in use for software development in Ruby. We will be comparing Aptana RadRails, Ruby Mine, Eclipse and NetBeans.
| |
| | |
| =What is an IDE?=
| |
| | |
| An IDE is a software application which provides comprehensive facilities to maximize computer programmers' productivity. An IDE consists of:
| |
| | |
| * A source code editor.
| |
| * A compiler and/or an interpreter.
| |
| * Build automation tools.
| |
| * A debugger.
| |
| | |
| The aim is to abstract the configuration necessary to piece together command line utilities in a cohesive unit. Most IDE's are graphical to improve interaction.
| |
| | |
| =What is RUBY and its features?=
| |
| | |
| RUBY is a dynamic, reflective, general-purpose object-oriented programming language.
| |
| | |
| Ruby supports multiple programming paradigms, including:
| |
| | |
| *Functional: Computation is evaluation of a mathematical function.
| |
| *Object oriented: Data structures consisting of data fields and methods are used.
| |
| *Imperative: Computation in terms of statements that change the program stare.
| |
| *Reflective: Computer program can evaluate and modify its structure.
| |
| | |
| Additionally, it has a dynamic type system and automatic memory management.
| |
| | |
| = Comparison =
| |
| | |
| = System requirements =
| |
| | |
| | |
| '''General'''
| |
| {| class="wikitable" border="1"
| |
| |-
| |
| |
| |
| ! Eclipse
| |
| ! NetBeans
| |
| ! Aptana RadRails
| |
| ! RubyMine
| |
| |-
| |
| ! Version
| |
| ! Eclipse
| |
| | NetBeans 7.0.1
| |
| | Aptana 2.0.5
| |
| | RubyMine 3.2.3
| |
| |-
| |
| ! Windows XP/Vista/7
| |
| | Windows XP/Vista/7
| |
| | Windows XP/ more
| |
| | Windows 2003/XP/Vista/7
| |
| |-
| |
| ! Windows Processor
| |
| | 500 MHZ Intel Pentium 3
| |
| | Pentium Level 4
| |
| | Intel Pentium 3 or higher.
| |
| |-
| |
| ! RAM
| |
| | 1 GB*
| |
| | 2GB
| |
| | 512 MB
| |
| | 2GB RAM recommended.
| |
| |-
| |
| ! Disk Space
| |
| | 150 MB free disk space.
| |
| | 1GB free disk space.
| |
| | 71.9MB for an Eclipse Plugin
| |
| | 91.5MB or more.
| |
| |-
| |
| ! Mac OS X
| |
| |
| |
| | Mac OS 10.5 Intel
| |
| | Mac OS 10.4 +
| |
| | Mac OS 10.5 or higher
| |
| |-
| |
| ! Processor
| |
| |
| |
| | Dual Core Intel(32 or 64 bit)
| |
| | Power PC G4/G5
| |
| | 1.42GHz Intel based Mac recommended.
| |
| |-
| |
| ! RAM
| |
| |
| |
| | 512 MB RAM
| |
| | 512 MB RAM
| |
| | 2GB RAM recommended
| |
| |-
| |
| ! Disk Space
| |
| | 650MB of free disk space.
| |
| | 71.9MB for an Eclipse Plugin
| |
| | 84.7MB or more.
| |
| |-
| |
| ! Linux
| |
| |
| |
| | Ubuntu 9.10
| |
| | No preferences mentioned
| |
| | GNOME or KDE Desktop
| |
| |-
| |
| ! Processor
| |
| |
| |
| | 800MHz Intel Pentium III or equivalent
| |
| | Pentium 4-level processor
| |
| | Intel Pentium III 800 MHz or higher
| |
| |-
| |
| ! RAM
| |
| |
| |
| | 512 MB RAM
| |
| | 512 MB RAM
| |
| | 2GB RAM recommended
| |
| |-
| |
| ! Disk Space
| |
| |
| |
| | 650 MB of free disk space
| |
| | 71.9 MB for an Eclipse Plugin
| |
| | 82.1MB or more
| |
| |}
| |
| | |
| | |
| =General=
| |
| | |
| | |
| {| class="wikitable" border="1"
| |
| |-
| |
| !
| |
| ! Netbeans
| |
| ! RadRails
| |
| ! Rubymine
| |
| ! IDEA IntelliJ
| |
| |-
| |
| | Statements and keyword completion
| |
| | YES
| |
| | NO
| |
| | YES
| |
| | YES
| |
| |-
| |
| | Generate Type Constructor
| |
| | NO
| |
| | YES
| |
| | YES
| |
| | NO
| |
| |-
| |
| | Override Method
| |
| | NO
| |
| | YES
| |
| | YES
| |
| | NO
| |
| |-
| |
| | Code Formatting
| |
| | Yes
| |
| | YES
| |
| | YES
| |
| | YES
| |
| |-
| |
| | Brace Matching
| |
| | YES
| |
| | YES
| |
| | YES
| |
| | YES
| |
| |-
| |
| | Go to symbol
| |
| | NO
| |
| | NO
| |
| | YES
| |
| | YES
| |
|
| |
| |}
| |
| | |
| =Refactoring=
| |
| | |
| | |
| {| class="wikitable" border="1"
| |
| |-
| |
| !
| |
| ! Netbeans
| |
| ! RadRails
| |
| ! Rubymine
| |
| ! IDEA IntelliJ
| |
| |-
| |
| | Rename
| |
| | YES
| |
| | YES
| |
| | YES
| |
| | YES
| |
| |-
| |
| | Convert Local variable to field
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Encapsulate field
| |
| | NO
| |
| | YES
| |
| | YES
| |
| | NO
| |
| |-
| |
| | Extract Method
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Inline Class
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Inline Local Variable
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Inline Method
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Merge Class Parts in file
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Merge with external Class Parts
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Move Field
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Move Method
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Push Down
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| |-
| |
| | Split Local Variable
| |
| | NO
| |
| | YES
| |
| | NO
| |
| | NO
| |
| | |
| |}
| |
| | |
| =Version Control Integration=
| |
| | |
| All the IDE support SVN, Git, CVS control version systems.
| |