Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
40 lines (35 sloc) 1.83 KB

PHP is in widespread use for web applications, but if you want to use Ruby on Rails
or just want a language that’s more tailored for general use, Ruby is worth a look.

Similarities

As in PHP, in Ruby…

  • Ruby is dynamically typed, like in PHP, so you don’t need to worry about having to
    declare variables.
  • There are classes, and you can control access to them like in PHP 5 (public,
    protected and private)
  • Some variables start with $, like in PHP (but not all)
  • There’s eval, too.
  • You can use string interpolating. Instead of doing “$foo is a $bar”, you can do
    “#{foo} is a #{bar}” — like in PHP, this doesn’t apply for single-quoted strings.
  • There’s heredocs
  • Ruby has exceptions, like PHP 5
  • There’s a fairly large standard library
  • Arrays and hashes work like expected, if you exchange array() for { and }:
    array('a' => 'b') becomes {'a' => 'b'}.
  • true and false behave like in PHP, but null is called nil

Differences

Unlike in PHP, in Ruby…

  • There’s strong typing. You’ll need to call to_s, to_i etc. to convert between
    strings, integers and so on, instead of relying on the language to do it
  • Strings, numbers, arrays, hashes, etc. are objects. Instead of calling abs(-1)
    it’s -1.abs
  • Parentheses are optional in method calls, except to clarify which parameters go to
    which method calls
  • Instead of naming conventions, like underscores, the standard library and extensions
    are organized in modules and classes
  • Reflection is an inherent capability of objects, you don’t need to use Reflection
    classes like in PHP 5
  • Variables are references.
  • There’s no abstract classes or interfaces
  • Hashes and arrays are not interchangeable
  • Only false and nil are false: 0, array() and "" are all true in conditionals.
  • Almost everything is a method call, even raise (throw in PHP).