Carl%20Zumbano%20and%20Sui%20Cheng - PowerPoint PPT Presentation

About This Presentation
Title:

Carl%20Zumbano%20and%20Sui%20Cheng

Description:

Exception handling, like Java. Any class or instance can be extended anytime (even during runtime) ... Free download for Unix/Windows. Applications includes: ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 15
Provided by: carlzu
Category:

less

Transcript and Presenter's Notes

Title: Carl%20Zumbano%20and%20Sui%20Cheng


1
Presented By Carl Zumbano and Sui Cheng
CS151 Object Oriented Programming May 10, 2001
2
Ruby An Introduction
  • Created by Yukihiro Matsumoto in 1993 (named
    after his birthstone)
  • Inspired (in part) by Eiffel and Ada
  • Pure OO language (even the number 1 is an
    instance of a class)
  • Highly portable, works on Linux, UNIX, DOS,
    Windows 95/98/NT/2K, Mac, etc.

3
Ruby An Introduction
  • Freely available and open-source.
  • More popular than Python in Japan, probably b/c
    it handles mutibyte character sets so easily.
  • Syntax is readable and easy to learn.
  • Being used for text processing, web apps, general
    system administration, and AI and math research.

4
Ruby the Language
  • No multiple inheritance, but modules allow the
    importing of methods.
  • Has garbage collection.
  • Exception handling, like Java.
  • Any class or instance can be extended anytime
    (even during runtime)
  • Allows operator overloading.

5
Ruby the Language
  • Can be extended with Ruby or low-level C.
  • No type declaration.
  • Has iterators, methods which accept blocks for
    user-defined control structures (like loops)
  • Emacs, TextPad, and Vim all have support
    available for Ruby.

6
Ruby A Demonstration
Person Class class Person attr_accessor name,
age def initialize(name, age) _at_name name
_at_age age.to_i end def inspect "_at_name
(_at_age)" end end Usage of the class p1
Person.new('elmo', 4) p2 Person.new('zoe', 7)
Results p1 -gt elmo (4) p2 -gt zoe (7)
7
Ruby A Demonstration
Now lets take a look at Ruby in action
8
Ruby Vs Java / C
  • Ruby
  • Ruby.length
  • -5.0.abs
  • C / Java
  • strlen(Ruby)
  • s.length()
  • abs(-5.0)
  • number Math.abs(number)

9
Advantages using Ruby against Java and C
  • Allow pass by code block
  • Support Regular Expression
  • Cleaner code
  • No need to declare variables
  • Simple syntax (semi-colon is optional)
  • Every thing is an object, even a number. No need
    to call separate function.
  • Simple object get/set methods declaration

10
Advantages (continue)
  • Classes and modules are never closed.
  • Better Access Control
  • Dynamic access control
  • Private methods never accessible directly by
    another object
  • Portable and extensible with third-party library
  • Interactive environment

11
Disadvantages using Ruby against Java and C
  • No multiple inheritance
  • However, Ruby offers multiple-inheritance-like
    capabilities
  • Ruby is a scripting language
  • However, Ruby can access to OS features, do same
    thing as Perl and Python
  • Different syntax and method definition style
  • Return statement is optional
  • Use of expression interpretation
  • Braces not needed in control statements (if,
    while)
  • Instance variable must preceded by _at_

12
Disadvantages (continue)
  • Potential thread starvation in multi-threading
  • Use in-process thread non-native
  • However, it is lightweight and efficient

13
Closing
  • Free download for Unix/Windows
  • Applications includes
  • X11 window manager, GUIs, managing server
    machines and databases.
  • Want to know more
  • Visit http//www.ruby-lang.org

14
Ruby References
  • The Ruby Programming Language by Yukio Matsumoto
    Addison Wesley Professional, 2000.
  • Programming Ruby A Pragmatic Programmer's Guide
    by David Thomas and Andrew Hunt Addison-Wesley
    Pub Co, 2000.
Write a Comment
User Comments (0)
About PowerShow.com