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).