CSC/ECE 517 Fall 2011/ch1 1a lj: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 38: Line 38:


NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python, Groovy, C, C++ ,Ruby and others. NetBeans IDE is a free, open-source Integrated Development Environment for software developers. All the tools needed to create professional desktop, enterprise, web, and mobile applications with the Java platform, as well as with C/C++, PHP, JavaScript and Groovy. Noting that in NetBeans IDE 7.0, support for Ruby and Ruby on Rails is no longer available in the standard NetBeans IDE build. [6] In the following comparison we will use NetBeans IDE 6.9.
NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python, Groovy, C, C++ ,Ruby and others. NetBeans IDE is a free, open-source Integrated Development Environment for software developers. All the tools needed to create professional desktop, enterprise, web, and mobile applications with the Java platform, as well as with C/C++, PHP, JavaScript and Groovy. Noting that in NetBeans IDE 7.0, support for Ruby and Ruby on Rails is no longer available in the standard NetBeans IDE build. [6] In the following comparison we will use NetBeans IDE 6.9.
=Comparison of Different IDEs for Ruby=


=Comparison of Different IDEs for Ruby=
=Comparison of Different IDEs for Ruby=
Line 46: Line 48:
|
|
! Eclipse
! Eclipse
! RubyMine
! Aptana RadRails
! NetBeans
! NetBeans
! Aptana RadRails
! RubyMine
|-
|-
! Refactor Support
! Refactor Support
Line 70: Line 72:
! Change Method Signature
! Change Method Signature
| Yes
| Yes
| Yes
| No
| Yes
| Yes
| Yes
| Yes
Line 100: Line 102:
! Convert Anonymous Class to Nested
! Convert Anonymous Class to Nested
| Yes
| Yes
| Yes
| Yes?
| Yes
| Yes
| Yes
| Yes
Line 106: Line 108:
! Move Type to New File
! Move Type to New File
| Yes
| Yes
| Yes
| Yes?
| Yes
| Yes
|-
! Convert Local Variable to Field
| Yes
| Yes
| Yes
| Yes
| Yes
| Yes
Line 146: Line 142:
| Yes
| Yes
|-
|-
! Extract Class
! Extract Module
| Yes
| Yes
| Yes
| Yes
Line 160: Line 156:
! Introduce Indirection
! Introduce Indirection
| Yes
| Yes
| Yes
| Yes?
| Yes
| Yes
| Yes
| Yes
Line 166: Line 162:
! Introduce Factory
! Introduce Factory
| Yes
| Yes
| Yes
| Yes?
| Yes
| Yes
| Yes
| Yes
Line 184: Line 180:
! Generalize Declared Type
! Generalize Declared Type
| Yes
| Yes
| Yes
| Yes?
| Yes
| Yes
| Yes
| Yes
|-
|-
! Infer Generic Type Arguments
! Infer Generic Type Arguments
| Yes
| Yes
| Yes
| Yes
|-
! Migrate JAR File
| Yes
| Yes
| Yes
| Yes
|-
! Create Script
| Yes
| Yes
| Yes
| Yes
|-
! Apply Script
| Yes
| Yes
| Yes
| Yes

Revision as of 02:52, 8 September 2011

CSC/ECE 517 Fall 2010/ch1 1a lj


Introduction

In this Wiki, several kinds of IDEs for Ruby language is shown and their features are compared carefully.

What is Ruby

Ruby is a dynamic, reflective, general-purpose object-oriented programming language. Ruby supports multiple programming paradigms, including functional, object oriented, imperative and reflective. It also has a dynamic type system and automatic memory management.

What is an IDE

An integrated development environment (IDE) (also known as integrated design environment, integrated debugging environment or interactive development environment) is an application software that provides comprehensive facilities to computer programmers for software development. [1] An IDE normally consists of:

  • a source code editor
  • a compiler and/or an interpreter (computing)|interpreter
  • build automation tools
  • a debugger

Popular IDEs for Ruby

Eclipse

Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy and Scheme. [2]

Aptana RadRails

Aptana RadRails is a Rapid Application Development IDE for the Ruby on Rails framework. The goal of RadRails is to provide Ruby on Rails developers with everything they need to develop, manage, test and deploy their applications. Features include source control, code assist, refactoring, debugging, WEBrick servers, generator wizards, syntax highlighting, data tools, and much more. [3] RadRails is now included as part of Aptana Studio 3. [4]

RubyMine

JetBrains RubyMine IDE provides a comprehensive Ruby code editor aware of dynamic language specifics and delivers smart coding assistance, intelligent code refactoring and code analysis capabilities. Easy project configuration, automatic Ruby Gems management, Rake support. [5]

NetBeans IDE

NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python, Groovy, C, C++ ,Ruby and others. NetBeans IDE is a free, open-source Integrated Development Environment for software developers. All the tools needed to create professional desktop, enterprise, web, and mobile applications with the Java platform, as well as with C/C++, PHP, JavaScript and Groovy. Noting that in NetBeans IDE 7.0, support for Ruby and Ruby on Rails is no longer available in the standard NetBeans IDE build. [6] In the following comparison we will use NetBeans IDE 6.9.

Comparison of Different IDEs for Ruby

Comparison of Different IDEs for Ruby

Refactor

Eclipse RubyMine Aptana RadRails NetBeans
Refactor Support Yes Yes Yes Yes
Rename Yes Yes Yes Yes
Move Yes Yes Yes Yes
Change Method Signature Yes No Yes Yes
Extract Method Yes Yes Yes Yes
Extract Local Variable Yes Yes Yes Yes
Extract Constant Yes Yes Yes Yes
Inline Yes Yes Yes Yes
Convert Anonymous Class to Nested Yes Yes? Yes Yes
Move Type to New File Yes Yes? Yes Yes
Extract Superclass Yes Yes Yes Yes
Extract Interface Yes Yes Yes Yes
Use Supertype Where Possible Yes Yes Yes Yes
Push Down Yes Yes Yes Yes
Pull Up Yes Yes Yes Yes
Extract Module Yes Yes Yes Yes
Introduce Parameter Object Yes Yes Yes Yes
Introduce Indirection Yes Yes? Yes Yes
Introduce Factory Yes Yes? Yes Yes
Introduce Parameter Yes Yes Yes Yes
Encapsulate Field Yes Yes Yes Yes
Generalize Declared Type Yes Yes? Yes Yes
Infer Generic Type Arguments Yes Yes Yes Yes
History Yes Yes Yes Yes

Summary

References


[1] http://en.wikipedia.org/wiki/Integrated_development_environment

[2] http://en.wikipedia.org/wiki/Eclipse_(software)

[3] http://en.wikipedia.org/wiki/RadRails

[4] http://www.aptana.com/products/radrails

[5] http://www.jetbrains.com/ruby/features/index.html

[6] http://netbeans.org/features/index.html