Отличия Ruby от php

PHP, Ruby, Программирование

27.12.2007 04:25 4 года, 4 месяца назад

30 похожестей и разностей

С одной стороны, вроде как письку с пальцем сравнивают.

Хорошо, давайте переведу, но опять же – критикуйте, я сам боюсь.

только от себя – в гугле php лучше запросы смотрятся – искать легче.

Схожести:

1. Ruby is dynamically typed, like in PHP, so you don’t need to worry about having to declare variables
Ruby – это не строго типизируемый язык, не мучьтесь по поводу объявления переменных.
Да ладно, это давно уже анекдот.

2. Ruby has try/catch/throw style exception handling like PHP5
Это бля вообще пиздец – Ruby имеет try/catch/throw как php5.
Я бы тут промолчал, кто и кого имеет.

3. Ruby has classes and access modifiers (public, protected & private)
Это мы понимаем. Это как у всех нынче. Тон статьи начинает напрягать.

4. A Ruby class can have only one method with a given name
Клеточку нарисовать

5. Supports single inheritance, not multiple
1. extends becomes < – class User < Person
Это вообще пошлятина.

6. Invoke the parent method of an inherited class with super
super()

7. Ruby has heredoc syntax
Давайте кавычки обзовём вот так. Это ерунда.

8. You can include files with the load method
Охренеть.

9. You can require files with the require method
1. loads any given file only once (like require_once) – load ‘filename.rb’
2. no extension necessary – require ‘filename’
Ну да, да, проехали – абсолютная идентичность

10. true and false are the same as in PHP
Да Вы чо!

11. the equivalent to null is nil
Аз есьм.

12. String concatenation is joining of two strings, using the + operator
не понял, а как же точка?

13. Constants begin with capital letters. Example PI, Length
Это Вы к похожести? Хочу Ваших грибов. У php вообще бардак! Php им гордится!

14. You can always see what object you are in (current object) by using the special variable self
Эээ, self::это как бы у всех.

15. Comparing two strings for equality can be done by == or .eql? (for identical content) and .equal? (for identical objects).
Ну это вообще детский сад. Какашки можно отличить потому, что они похожи на какашки.

16. instance_of? returns true if object is an instance of the given class
объектный примитив, детский сад

Differences
Разница, что то я уже пожалел, что ввязался в это дело, ну да ладно

1. No semicolons ; required after statements. A statement can end with a carriage return or a semi-colon if you choose. Semi-colons are generally used when you wish to have more than one statement per line
; после конца строки, в принципе, это сильное различие, даже не знаю хорошо это или плохо.

2. The increment and decrement operators (++ and –) are not available in Ruby, neither in “pre” nor “post” forms
Это типа правда = x.succ! = это только для строк (немного разочарован)

3. When calling a method you don’t have to use parentheses
1. foobar
foobar()
foobar(a, b, c)
foobar a, b, c

Тут вообще полная свобода – не понял, что имеют в виду, или сам недопонял.

4. You can use variables in your Ruby programs without any declarations. Variable name itself denotes its scope (local, global, instance, etc.)
Это я и в php могу – объявлять переменные просто так. Проще говоря – э
то не strict language. Со всеми сборщиками мусора.

1. Normal local variables are plain strings, global variables include a dollar sign at the beginning, and class variables begin with the at-symbol. This is definitely a departure from php in which every variable has a dollar sign
Ну тут всё просто – переменные с долларом ($fuck) есть глобальные – забавно, правда гыыы?

2. Ruby has 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
Всё объект!
Это просто я хочу строчку – пишу 5.to_s – тогда это будет строка. Или “5″.to_i это будет integer, хотя в ruby integer понятие относительное – ruby умеет вообще забыть о tiny int или big int (если мы вспомним как оно хранится) Забудьте об этом, руби пофигу на размер числа и на то как оно хранится – всё это объект, попробуйте вычислить на php действительно крупное число=). Уже проходили. php тут сосёт.

5. Blocks of code can use curly braces “{ }” or the “begin … end” keywords. I normally use begin and end, and as such I will through the rest of the tutorial, but just remember you can use braces instead if you like.
Это вообще Вам как паскалю предлагают, или как обычно, {}, цените, смерды.

6. Instead of naming conditions, like underscores, the standard library and extensions are organized in modules and classes
Я иногда не догоняю, но в NetBeans IDE кликну на функции – и вот оно. И написано на Ruby, опять же.
Тут просто всё.

7. While the return statement does exist and works like you would expect, it is not required and a function will return the last expression it evaluated
любая def от руби всегда что-то возвращает, без return, а просто так

8. Ruby also has a negated form of the if statement, the unless end
Всего лишь одно из условий, ерунда

9. You can access an array beyond its boundary limits; it will return nil
Тоже ерунда, в php этого нет, да и не надо особо, вернули nil – значит попа.
10. Reflection is an inherent capatibility of objects, you don’t need to use Reflection classes like in PHP 5
Тут пропущу
11. Ruby has no abstract or interface classes
А потому, что всё объект, это вообще смешно – всё объект и похуй
12. In Ruby, everything from an integer to a string is considered to be an object
Бля, повторение пройденного, всё объект
13. hashes and arrays are not interchangable
Это абсолютно разные вещи, хэши – это массивы с ключами, у хешей нет упорядоченности.

14. PHP does not officially support namespaces (yet) and Ruby does
Скоро у php буду namespaces.

PHP или Ruby или Python – эмоциональный выбор падонка (часть 1)

PHP, Ruby, Программирование

18.04.2007 00:08 5 лет, 1 месяц назад

провокация на news2.ru

http://tips.xet.ru/archives/php-ili-ruby-ili-python-emotsionalnyiy-vyibor-padonka-chast-1

Занятная игрушка для Rails любителей

Ruby, Программирование

06.04.2007 21:59 5 лет, 1 месяц назад

http://goldberg.240gl.org/

visual Rails=)

по поводу ruby

Ruby, Программирование

12.02.2007 21:54 5 лет, 3 месяца назад

Вот что меня в ruby настораживает. Это умный язык, стремящийся к простоте. Для того, чтобы писать простые вещи в этом случае нужно быть очень умным. И вот тут есть опасность разрыва с реальностью. Вот php – отличный простой язык, на котором можно делать сложные вещи. Плюсы очевидны: во время тупокодинга, а его 80 процентов от времени – продумывается перспектива, обсасывается интерфейс. Может я и не хочу так быстро написать? С идеей же нужно переспать. И 9 программистов не родят 9 чад за 1 месяц. Есть опасность отрыва от социума, от простых желаний людей, которые за свои заботы и готовы перечислить e-деньги, но если это не особо запарно. PHP в этом смысле – неплохой компромисс понимания проекта на любой его стадии, даже после передачи.

а тем временем

Ruby

20.11.2006 20:40 5 лет, 6 месяцев назад

ruby проникает на мобильные платформы, чтобы дотянуться до web 3.0

кусочки Ruby vs PHP

PHP, Ruby, Программирование

11.10.2006 13:20 5 лет, 7 месяцев назад

Ruby:

irb(main):001:0> a = 1;b = 2;c = a + b;print c3

PHP:

$a = 1;$b = 2; $c = $a + $b; print $c;


Ruby:

irb(main):001:0> lang = Hash["Ruby" => "Because it's great", "PHP" => "It's terrible"] => {"Ruby"=>"Because it's great", "PHP"=>"It's terrible"}irb(main):002:0> lang["Ruby"]=> "Because it's great"

PHP:

$cms = array("Drupal" => "Because it's great","Nuke" => "It's terrible"); echo $cms["Drupal"];$cms = array("Drupal" => array("Because it's great","1","2"),"Nuke" => "It's terrible"); echo $cms["Drupal"][0];

Ruby:

count's from 0->100 by 5'sirb(main):003:0> 0.step(100,5) { |i| print i, " "}0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 => 0

PHP:

for ($i=0;$<=100;$i+=5); echo $i; done

Ruby:

takes a string of 5 numbers, puts it into an array. a[3] calls the 4th element and you get an output of 4 :)

irb(main):008:0> a = "1 2 3 4 5".split.map { |s| s.to_i };a[3]=> 4

PHP:

Each string is an array of it’s own ofcourse in php

$a = "1 2 3 4";list($b[],$b[],$b[],$b[]) = split(" ",$a); echo $b[3];

Ruby:

irb(main):009:0> a = ('a'...'z');a.each { |char| print char + "\s" }a b c d e f g h i j k l m n o p q r s t u v w x y => "a"..."z"

PHP:

for ($i=a;$<=z;$i+1); echo $i; done

Ruby:

3.5.round=> 4irb(main):002:0> 3.4.round=> 3a=["foo","bar"]; 4.times{print "#{a.reverse![0]}\s"}=> bar foo bar foo

PHP:

$a=array('foo', 'bar'); while ($i++<4){ echo $a[0]; $a=array_reverse($a);}$a=array('foo','bar');while($i++<4){echo"$a[0] ";$a=array_reverse($a);}

неплохо программер устроился

Ruby, Программирование

12.09.2006 12:58 5 лет, 8 месяцев назад

http://penso.info/auth_generator

Хорошая система под ключ для rails – авторизация, права, группы… Удобно настраивать, а он может написать (так пишет, на самом деле модуль этот у него уже есть) модуль под апач, который делает авторизацию для статичных страниц. То есть сама модель интересная – типа юзайте мой опен сорс, но если нужно круто доделать, то всегда доступен for hire. То есть модуль написать, хотя де факто – просто продать.

жёсткий мега облом

Ruby, Программирование

11.09.2006 15:25 5 лет, 8 месяцев назад

На rails написано уже 50% проекта. И тут я сталкиваюсь с тем, что начинаю жестко тупить. То есть есть теги/таги, каталоги, всякие upload images в разных вариантах (кстати в rails они через imagemagick и качество реально превосходит GD по мыльности). И вот начались трудности из за молодости в языке и фреймворке. В views начало скапливаться чудовищное количество _partials или других… Как то интуитивно чувствуется, что это надо организовать по папкам. Начал запутываться. И именно на вещах, связанных с языком, а не фреймворком. Например, создание массива с индексами ["ab"=>1] так вот этот ab никак не хочет создаваться. и Array.new с параметрами и доки не помогают, сразу становится понятно, что тут лучше серъёзно потеоретизировать, а потом писать мощный проект. Это ж просто бесит, ну куда сразу полез? Где Rails помогает простыми строчками через кучу доков, там язык пока тянет вниз. Хотя понятно, что язык ruby мощнее php в разы. Даже просто достаточно почитать мануал по массивам. (и не хватает комментов к функциям, как в php доках) Поэтому принял сложное решение теоретизировать в rails на другом проекте, на чём нибудь более невинном. Переношу логику в php обратно. Уже за вчера перенёс много, и даже думаю, что писать стало проще – думаю не как, а что, будто скинул груз ответственности. Времени в итоге уходит меньше, просто кодить тупо больше, но зато в уме можно выстраивать логику. Ладно, ещё вернусь, точно знаю, там глубоко можно копать.

опять пропёрся, что за утро!

Ruby, Программирование

01.09.2006 03:50 5 лет, 8 месяцев назад

Волшебство, недосказанная сказка! Опять Rails порадовали. Плагин под RoR – deprecated.
http://nubyonrails.com/pages/deprecated
как видно из названия, по команде rake deprecated следит за кодом, чтобы там не использовалось устаревших выражений. Услужливо подсказывает, а не строго имеет в попу. Но пока есть один недостаток – работает только под *nix, ибо ему нужен grep.

722

Ruby, Программирование, Сайты

19.08.2006 06:03 5 лет, 9 месяцев назад

таговый чат на Rails – Lingr! Сделано клёво.

Группы взаимопомощи пациентов