PHP е широко разпространен език за писане на интернет приложения/страници, но ако искате ползвате по-елегантен начин за програмиране в интернет или да използвате Ruby on Rails, Ruby заслужава внимание.
Прилики
Както в PHP, така и в Ruby…
- Не се налага декларирането на променливите
- Съществуват класове и може да контролирате достъпа до методите
(
public,protectedиprivate) - Някои променливи започват с $ (но не всички)
- Наличен е метода
eval - Можете да ползвате интерполиране на низове. Вместо
"$foo is a $bar", в Ruby това става така:"#{foo} is a #{bar}". Единичните скоби имат същото действие и не прилагат интерполация. - Съществуват heredocs
- Ruby разполага с изключения
- Съществува достатъчно голяма стандартна библиотека
- Масивите и хешовете работят еднакво като заменим
array()с{and}:array('a' => 'b')става{'a' => 'b'}. trueиfalseимат същото поведение, ноnullе нареченnilв Ruby
Разлики
За разлика от PHP, в Ruby…
- Ruby e strongly typed език. За това се налага използването на
to_s,to_iи т.н. за превръщане на низове, числа, вместо да разчитате интерпретатора да свърши това - Низовете, числата, масивите и хешовете са обекти. За това вместо abs(-1) ползваме -1.abs
- Не е задължителна употребата на скоби в извикването на методи
- Стандартната библиотека и разширенията са организирани в модули и класове
- Рефлексията е присъщо свойство на обектите, като не е нужна употребата
на
Reflectionкласове - Променливите са референции
- Липсват
абстрактникласове илиинтерфейси - Масивите и хешовете не са взаимозаменяеми
- Само
falseиnilса лъжа:0,array()и""са истина във всички условни изрази. - Почти всичко е извикване на метод, дори
raise(throwв PHP).