CSC/ECE 517 Fall 2009/wiki1a 11 f1,: Difference between revisions

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


===Functions and methods ===
===Functions and methods ===
There are no separate functions and methods in Ruby; all of them are methods.  
In Ruby, there are no separate functions and methods; all of them are methods.  
Ruby:
<pre>
<pre>
string = 'Hello world'
string = 'Hello world'
Line 23: Line 22:
</pre>
</pre>
In Python, there are separate methods and functions as shown in the example below.
In Python, there are separate methods and functions as shown in the example below.
Python
<pre>
<pre>
string = 'Hello world'
string = 'Hello world'

Revision as of 05:00, 5 September 2009

Ruby and Python are both scripting languages whose popularity has sky rocketed in recent years. Both languages are High-Level, Garbage-collected, and Dynamically-typed. Both provide an interactive shell, standard libraries, and persistence support. So, what are the differences?

Points of comparison:

  • Language Features
  • Web programming environments
  • Features exclusive to each
  • Advantages of each over statically typed languages
  • Projects environments suited to each

Language Features

Private methods and variables

To make methods and instance variables private in Python, one always needs to write __ in front of the name. In Ruby, instance variables are private by default. Methods defined after the method call private are private.

Functions and methods

In Ruby, there are no separate functions and methods; all of them are methods.

string = 'Hello world'
puts string.count('o'), string.length  # prints 2, 11

In Python, there are separate methods and functions as shown in the example below.

string = 'Hello world'
print string.count('o'), len(string)  # prints 2, 11 – why not string.len()?

Ruby has reference to class in class body

Ruby:

class MyClass
    initialize_magick()
end

Python:

class MyClass:
    pass
initialize_macgick(MyClass)