Чем хорош Ruby?

Последнее время часто слышу о Ruby.
Чем отличается от PHP или Python? Лучше или хуже?
В чем его фишка так сказать?
  • Вопрос задан
  • 8393 просмотра
Решения вопроса 2
sdevalex
@sdevalex
> echo str_repeat("trollface.jpg", 100500);

Ну, если вы так... то Ruby может так.
p 'Ruby рулит!' * 100500

> Чем отличается от PHP или Python? Лучше или хуже? В чем его фишка так сказать?
Краткость, лаконичность и хорошее сообщество. А, ещё любовь к тестам, большая часть рубистов пишет тесты + ещё 30% из низ используют TDD... сначала тесты, потом код. Попробуйте заставить писать PHP-программиста тесты, легче пристрелить.
Ответ написан
AMar4enko
@AMar4enko
Во-первых rubygems.
Во-вторых пример из жизни - есть gem. С десяток классов, все друг друга используют.
Возникла необходимость чуть-чуть изменить поведение пары методов одного из классов - так бывает.
Что вы будете делать в случае с php? Вы сделаете локальную копию библиотеки, поломаете методы так, как вам нужно.
В случае с ruby вы можете:
1. Полностью изменить реализацию одного метода конкретного класса
2. Обернуть существующую реализацию своим кодом, с помощью сохранения старого метода под новым именем с помощью alias_method
В-третьих - метапрограммирование. Хотя по значимости это стоило на первое место поставить. Именно благодаря метапрограммированию код на Ruby лаконичен и легко читаем.
В-четвертых, мне просто приятно иметь возможность писать конструкции типа 2.hours.ago - догадаетесь, чего она делает?
Ответ написан
Пригласить эксперта
Ответы на вопрос 8
@Masterme
Это как слепому объяснить, чем радуга лучше полутени.
Как вы хотите чтобы вам это объяснили? Привели примеры из жизни, где питон берёт в рот, а руби справляется на отличненько? Такие примеры, конечно, есть, например, лямбды, но вы всё равно не въедете, если до сих пор не поняли, что такое семантика языка и почему она важна. Вы могли взять питон, взять руби, изучить каждый из них пару недель и сделать выводы. Вместо этого вы ждёте пока вам в мозг положат готовое решение. Этого не произойдет. Вам скорее хуй в рот положат, так же как если бы вы были слепы - вам не стали бы объяснять разницу между радугой и полутенью, а дали бы под дых и отобрали бы мелочь.
Вы, тупицы, думаете, что познание языков программирования - это нечто внешнее, что можно повторить, сымитировать. Вам сказали - вы повторили - и вроде как знаете тот или иной ЯП. В действительности же, познание языков программирования - это большая внутренняя работа, которую человек проделывает с абстракциями в своей голове. И только если человек способен к абстрактному мышлению - только тогда он, помножив эту способность на знание языков, может понять разницу между ними. Для остальных порог вхождения высок, и, честно говоря, я этому рад.
Ответ написан
anathem
@anathem
Если очень кратко, то:
100500.times { puts 'Ruby рулит!' }
Попробуйте на php воспроизвести запись 100500 раз :)))

А подробнее на такой вопрос Гугл или поиск по ресурсу даст ответ.
Ответ написан
Лаконичен, читабелен... Но это не повод переходить на Руби. А вот Рельсы - действительно повод. После того-же ZF рельсы очень впечатляют. Посмотрите видео Creating a blog in 15 minutes with Rails
Ответ написан
OnYourLips
@OnYourLips
Рельсы.
Однако первое время позволяет отстрелить себе ноги невообразимым количеством способов.
Ответ написан
Bandicoot
@Bandicoot
Вась-программист
Рубик хорош, чтобы поиграться, пописать несложные вещи. Войти в вкус, так сказать) Но при работе на рынок, особенно российский, я бы не стал его использовать. А так он хорош, да
Ответ написан
Kaaboeld
@Kaaboeld
Web-разработчик
Я чуть выше уже отписался в Коментарии к "ответу", но немного повторюсь:
В плане рынка вы например сможете себе найти работу разработчика серверной части MMO-игровых проектов.
Вы так же в какой-то степени будите "универсальны" так как на нем пишут как десктоп так и веб приложения.
Как и с рядом других, например nodejs - вы сможете многократно ускорить процесс разработки(по сравнению с php уж точно).
Вы сможете очень просто "из коробки" переиспользовать наработки других разработчиков по средствам "менеджера пакетов".
Про синтаксис уж и говорить не стоит, но в итоге все зависит от сферы применения, задач и времени - выбирайте оптимальный инструмент. Если вы обрисуете чуть подробнее "вашу ситуацию" может, что и посоветую.
Ответ написан
chaynik
@chaynik Автор вопроса
Добавлю, что появление нового языка это всегда некая своя философия, и всегда есть свои приверженцы и противники. Я же призываю не устраивать "холивар", а подойти к этому вопросу более рационально и практично. И писать только про свой опыт, и о том что сделал для вас Ruby :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы