Oт Java към Ruby

Прилики

както в Java, така и в Ruby …

  • Паметта се управлява от виртуалната машина.
  • Обектите са strongly typed.
  • Съществуват public, private и protected методи.
  • Съществува програмка за вградена документация (в Ruby се казва RDoc). Генерираните документи с rdoc подобно на тези, генерирани с javadoc.

Разлики

За разлика от Java, в Ruby …

  • Не се налага да компилирате кода си.
  • Има различни GUI toolkits. Можете да прегледате WxRuby, FXRuby, Ruby-GNOME2, Qt, или вградената поддръжка на Ruby Tk.
  • В Ruby се използва end за край на дефиницията на класове, методи и условни изрази, вместо къдрави скоби около блока код.
  • Вместо import имаме require.
  • Всички член променливи са private. Отвън може да ги извикаме, покажем, трием и т.н с методи.
  • Скобите във викането на методи може да се пропусне.
  • Всяко нещо е обект, включително числа като 2 и 3.14159.
  • Няма проверка на типа.
  • Имената на променливите са като етикети. Не се нуждаят от асоцииран тип.
  • Липсва декларация на типа.
  • Няма кастване. Просто викаме методи.
  • It’s foo = Foo.new("hi") instead of Foo foo = new Foo("hi").
  • Конструктора е метод, наименован “initialize” вместо името на класа.
  • Имаме “mixin”-и вместо интерфейси.
  • YAML се предпочита пред XML.
  • Използваме nil вместо null.
  • == и equals() имат различно поведение в Ruby. == се използва за проверка на равенство (equals() в Java),а equal?() за проверка дали два обекта са еднакви (== в Java).