Presented By
Download
1 / 14

Presented By Carl Zumbano and Sui Cheng - PowerPoint PPT Presentation


  • 275 Views
  • Uploaded on

Presented By Carl Zumbano and Sui Cheng. CS151 – Object Oriented Programming May 10, 2001. 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)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Presented By Carl Zumbano and Sui Cheng' - charlie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Slide1 l.jpg

Presented By

Carl Zumbano and Sui Cheng

CS151 – Object Oriented Programming

May 10, 2001


Ruby an introduction l.jpg
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.


Ruby an introduction3 l.jpg
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.


Ruby the language l.jpg
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.


Ruby the language5 l.jpg
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.


Ruby a demonstration l.jpg
Ruby: A Demonstration

#Person Class

class Person

attr_accessor :name, :age

def initialize(name, age)

@name = name

@age = age.to_i

end

def inspect

"[email protected] ([email protected])"

end

end

#Usage of the class

p1 = Person.new('elmo', 4)

p2 = Person.new('zoe', 7)

#Results

p1 # -> elmo (4)

p2 # -> zoe (7)


Ruby a demonstration7 l.jpg
Ruby: A Demonstration

Now let’s take a look at Ruby in action…


Ruby vs java c l.jpg

Ruby

“Ruby”.length

-5.0.abs

C++ / Java

strlen(“Ruby”);

s.length();

abs(-5.0);

number = Math.abs(number);

Ruby Vs Java / C++


Advantages using ruby against java and c l.jpg
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


Advantages continue l.jpg
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


Disadvantages using ruby against java and c l.jpg
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 [email protected]


Disadvantages continue l.jpg
Disadvantages (continue)

  • Potential thread starvation in multi-threading

    • Use in-process thread [non-native]

    • However, it is lightweight and efficient


Closing l.jpg
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


Ruby references l.jpg
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.


ad