CSC/ECE 517 Fall 2011: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(130 intermediate revisions by 75 users not shown)
Line 1: Line 1:
* [[CSC/ECE 517 Fall 2010/ch1 1a ms]]
[[Link title]]
----
*[[CSC/ECE 517 Fall 2011/Table of Contents]]
=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?=
*[[CSC/ECE 517 Fall 2011/ch1 1a ms]]


An IDE is a software application which provides comprehensive facilities to maximize computer programmers' productivity. An IDE consists of:
*[[CSC/ECE 517 Fall 2011/ch1 1a cs]]


* A source code editor.
*[[CSC/ECE 517 Fall 2011/ch1 1a ri]]
* 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.
*[[CSC/ECE 517 Fall 2011/ch1 1a lj]]


=What is RUBY and its features?=
*[[CSC/ECE 517 Fall 2011/ch1 1b sa]]


RUBY is a dynamic, reflective, general-purpose object-oriented programming language.
*[[CSC/ECE 517 Fall 2011/ch1 1b ds]]


Ruby supports multiple programming paradigms, including:
*[[CSC/ECE 517 Fall 2011/ch1 1b tj]]


*Functional: Computation is evaluation of a mathematical function.
*[[CSC/ECE 517 Fall 2011/ch1 1c cm]]
*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.
*[[CSC/ECE 517 Fall 2011/ch1 1c sj]]


= Comparison =
*[[CSC/ECE 517 Fall 2011/ch1 1c ka]]


= System requirements =
*[[CSC/ECE 517 Fall 2011/ch1 1d sr]]


*[[CSC/ECE 517 Fall 2011/ch1 1e vs]]


'''General'''
*[[CSC/ECE 517 Fall 2011/ch1 1e aa]]
{| 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
|}


*[[CSC/ECE 517 Fall 2011/ch1 1a sc]]


=General=
*[[CSC/ECE 517 Fall 2011/ch1 1e dm]]


*[[CSC/ECE 517 Fall 2011/ch1 1e an]]


{| class="wikitable" border="1"
*[[CSC/ECE 517 Fall 2011/ch1 1e sa]]
|-
!
! 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=
*[[CSC/ECE 517 Fall 2011/ch1 1e lm]]


*[[CSC/ECE 517 Fall 2011/ch1 1g vn]]


{| class="wikitable" border="1"
*[[CSC/ECE 517 Fall 2011/ch1 1f rs]]
|-
!
! 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


|}
*[[CSC/ECE 517 Fall 2011/ch1 1f sv]]


=Version Control Integration=
*[[CSC/ECE 517 Fall 2011/ch1 1g jn]]


All the IDE support SVN, Git, CVS control version systems.
*[[CSC/ECE 517 Fall 2011/ch1 1h ps]]
 
*[[CSC/ECE 517 Fall 2011/ch1 1e sm]]
 
*[[CSC/ECE 517 Fall 2011/ch1 1i zf]]
 
*[[CSC/ECE 517 Fall 2011/ch1 1g rn]]
 
*[[CSC/ECE 517 Fall 2011/ch1 1i cl]]
 
*[[CSC/ECE 517 Fall 2011/ch1 1d ss]]
 
*[[CSC/ECE 517 Fall 2011/ch1 1i lj]]
 
*[[CSC/ECE 517 Fall 2011/ch1 1h hs]]
 
*[[CSC/ECE 517 Fall 2011/ch1 1d gs]]
 
*[[CSC/ECE 517 Fall 2011/ch1 2b ns]]
 
*[[CSC/ECE 517 Fall 2011/ch1 2b jp]]
 
*[[CSC/ECE 517 Fall 2011/ch1 2a av]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2f jm]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2e ad]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2e kt]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2e gp]]
 
*[[CSC/ECE 517 Fall 2011/ch1 2b qu]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2c bs]]
 
*[[CSC/ECE 517 Fall 2011/ch1 2c rs]]
 
*[[CSC/ECE 517 Fall 2011/ch1 2a ca]]
 
*[[CSC/ECE 517 Fall 2011/ch1 2b rv]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2c ds]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2b sa]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2f mm]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2f vh]]
 
*[[CSC/ECE 517 Fall 2011/ch2 2e ps]]
 
*[[CSC/ECE 517 Fall 2011/ch3 3a oe]]
 
*[[CSC/ECE 517 Fall 2011/ch3 3h rr]]
 
*[[CSC/ECE 517 Fall 2011/ch3 3h ss]]
 
*[[CSC/ECE 517 Fall 2011/ch3 4b js]]
 
*[[CSC/ECE 517 Fall 2011/ch3 4b ms]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4b ds]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4i aa]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4i sd]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4d mt]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4d ls]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4d ch]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4c ap]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4h sv]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4e cl]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4e gs]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4a ga]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4f sl]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4i js]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4f ss]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4c dm]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4g as]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4g nv]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4g ms]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4h kp]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4h as]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4j fw]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4f rs]]
 
*[[CSC/ECE 517 Fall 2011/ch4 4i lc]]
 
*[[CSC/ECE 517 Fall 2011/ch17 5b uo]]
 
*[[CSC/ECE 517 Fall 2011/ch17 5b br]]
 
*[[CSC/ECE 517 Fall 2011/ch5 5d he]]
 
*[[CSC/ECE 517 Fall 2011/ch5 6d ny]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6d sk]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6e ch]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6b ss]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6b ra]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6c sj]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6a am]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6e zj]]
 
*[[CSC/ECE_517_Fall_2011/ch6 6e gm]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6f jd]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6f va]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6c p]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6e gm]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6c sm]]
 
*[[CSC/ECE 517 Fall 2011/ch18 6a sc]]
 
*[[CSC/ECE 517 Fall 2011/ch18 6d na]]
 
*[[CSC/ECE 517 Fall 2011/ch6 6a pc]]
 
*[[CSC/ECE 517 Fall 2011/ch7 7a or]]
 
*[[CSC/ECE 517 Fall 2011/ch7 7a kr]]
 
*[[CSC/ECE_517_Fall_2011/ch7 7f bn]]
 
*[[trial]]
 
*[[CSC/ECE 517 Fall 2011/WIKI Article Template]]
 
*[[CSC/ECE 517 Fall 2011/WIKI Features]]

Latest revision as of 01:17, 14 October 2012

Link title