Задать вопрос

Чем RoR лучше PHP?

Расскажите, чем Рубби отличается от PHP и какие у кого преимущества?
  • Вопрос задан
  • 4342 просмотра
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 12
metamorph
@metamorph
RoR = Ruby on Rails - это фреймворк.
PHP - это язык программирования.
Вот и всё отличие.
Ответ написан
Комментировать
rumkin
@rumkin
Самое главное не слушайте этот бред про то что все одинаково. Ничего подобного! У ruby есть внятная философия, у php — нет. Это единственное и основное различие, которое, почему-то считают некритичным (тогда как же ruby стал так популярен). PHP развиваться-то начал активно, только после того, как почувствовал конкуренцию. И основная причина этого в том, что в php-сообществе слишком высока доля дилетантов, а Ruby изначально ставит высокую планку. Я разрабатывал на обоих языках, знаю о чем говорю.

RoR — это веб-фреймворк, так что сравнивать его с целым языком нельзя.
Но он не один на ruby написано множество приложений для комфортной разработки, работать с которыми поистине удобно: это Vagrant для управления VM, Rake для выполнения задач, Capistrano для деплоя, Chef для управления конфигурациями. Про основные особенности языка вы прочтете в wiki.

А так да и то, и то язык программирования, можно дальше жевать резину.
Ответ написан
Комментировать
AMar4enko
@AMar4enko
Окститесь, уж столько копий по этому поводу сломано в интернетах!
Ищите любой холивар на свой вкус и читайте.
Ответ написан
Комментировать
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
Задумались, на чём писать?
И судя по всему, вы еще не особо в теме, раз путаете фреймворк с языком.
Значит, самое время не сесть в лужу!
У PHP преимущество только в том, что, действительно, рынок полон вакансий и спецов (и "спецов").
Но из личного опыта - не изучайте PHP, возьмите лучше и правда Ruby, или вон Python - ну это, конечно, если выбирать при прочих равных условиях. Классному спецу место на рынке всегда найдется, хоть вы на Scheme пИшете.
Личный опыт, кстати - это жуткая ломка после перехода от пхп к питону (после 5+ лет кодирования). Может, это ненормально, но ломает от обиды за почти бесцельно прожитые годы.
Ответ написан
icelaba
@icelaba
Знаю и умею всё
Руководствуйтесь например вот этим
https://www.udemy.com/blog/modern-language-wars/
21% нанимателей ищут на работу php программиста
и 3% Ruby.

И относитесь скептически к НИЧЕМ не подтвержденным высказываниям @rumkin вроде этого: "Самый большой минус его в том, что в php-сообществе слишком высока доля дилетантов, а Ruby изначально ставит высокую планку"

Есть ли хоть одно исследование которое доказывает что средний уровень рубиста выше среднего уровня программиста любого из языков? Поверьте таких исследований нет. В моей памяти это первый язык и фреймворк программисты которого почему то свято верят что они выше других :-)
Ответ написан
Sanes
@Sanes
Ruby == язык программирования
PHP == язык программирования
RoR == фреймворк на Ruby

Так же полно фреймворков на любом другом языке. Фрейворк это просто набор компонетнов, полуфабрикат.
Вы сравниваете фреймворк и ЯП, что не корректно.
Ответ написан
Комментировать
@ruslite
Считаю изучи php. Пойми, что как работает. А то судя из темы, ты не отличаешь две разные вещи. @Assargin правильно сказал "Классному спецу место на рынке всегда найдется, хоть вы на Scheme пИшете." Все языки хороши, смотря откуда руки. Php меня лишь не устраивает в синхронной работе. Поэтому я стал изучать nodeJs, но и пользуюсь пхп. Здесь гавнят php, а за углом тот же нод, а за следующим еще что-нибудь. Всегда есть недовольные. Но, если быть честным, php пора в далекую дорогу. Но опять же зависит от твоих целей. А если ты еще ни с каким языком не работал, то начни с JS, потом подергай php. Как поймешь более менее что к чему, начинай изучать тот же руби, Python. А если и js хорошо освоишь, то также быстро освоишь nodejs. Почитай и про этот язык.
Ответ написан
Комментировать
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Как уже сотни раз написали немного некорректно сравнивать RoR и PHP. Другое дело Ruby и PHP, но и то с натяжкой.

Ruby - мультипарадигмальный язык, то есть язык, поддерживающий много разных (порой противоречащих) парадигм (стилей) программирования. У автора возможно и не было намерений сделать крутой язык для web-разработки. Соответственно, встроенная библиотека чуть обширней, но нет "из коробки" некоторых вещей. Впрочем, ruby - это целая экосистема для разработки и поддержки проектов, так что этот "вброс" сильно натянут - пара команд и проблемы как не бывало.
PHP - бывший темплейтор для отображения динамических web-страниц. Соответственно, его спецификация намного ближе к web-разработке. И не смотря на PHP-Qt или phalanger, PHP очень редко используется для Desktop-приложений.

Примечательно, что у обоих общее начало - Perl. Если первый хоть и разрабатывался с нуля, многие вещи были вдохновлены именно Perl'ом. И это чувствуется - именно поэтому он так хорошо подходит к web-разработке. Второй же вырос из набора скриптов на Perl для отображения динамического контента.

Плюсы и минусы... Я не профессионал ни в одной из экосистем. Впрочем, вот личные наблюдения:
Плюсы PHP:
+ огромнейшее сообщество от мала до велика, от дилетантов до спецов; от сюда и минус: по правилу 95% - 95% дилетанты, отсюда весьма странная репутация у илиты.
+ отличная производительность, конечно, он не сравниться с C++ или Java, да и с .NET тоже вряд ли сравнится, особенно с C#, но всё же производительность на уровне с тем же Ruby или Python, к тому же есть туча инструментов, позволяющие ускорить код буквально двумя телодвижениями: kPHP (правда потребуется своеобразный стиль программирования), phalanger (бонусом будет простейшая интеграция с .NET-инфраструктурой и/или -экосистемой) и прочие.
+ невероятная популярность у работодателей - программисты PHP, наверное, самые востребованные в IT-индустрии, отчасти потому, что очень много приходиться отсеивать из-за сильной некомпетентности, отчасти потому, что он очень прост для старта и на всю работает вирусный-маркетинг; забавно, но это первый ЯП, про который я услышал.
+ встроенный в синтаксис PHP html-темплейтор, хотя, вроде, пользоваться им моветон =/ ну или целый обряд его использования есть, честно - я так и не понял.
Минусы PHP:
- отсутствует какой-бы то ни был единый дизайн или guidelines, так что разработка сродни свободному полёту - пока летишь, всё хорошо, но если нет парашюта - падать больно, если не смертельно.
- языком программирования он стал далеко не сразу, так что есть определённые рудименты, не очень приятные.
- далеко не самая лаконичная запись, всё же использовать Си-стайл, так изящно изуродованный невероятно большим количество знаков доллара, что порой читать PHP-код ну очень сложно, особенно человеку, который редко за него садиться (в то же время, python-код может прочитать даже человек, который вообще очень редко программирует, лишь с минимальными комментариями особо сахарных мест).
- личная неприязнь, непонятно с чем связанная.

нечто вроде P.S. минусы у PHP кажутся слишком... субъективными; так оно и есть, и связано это с тем, что именно по этим субъективным причинам я его бросил


Плюсы Ruby:
+ невероятное и очень сильное сообщество: лично мне всегда помогали и направляли к дзену.
+ шикарнейшая магия, недоступная простым смертным (язык невероятно сахарен, и в то же время всё очень лаконично, написать гавно-код на нём довольно сложно, при этом возможностей язык предоставляет предостаточно)
+ очень сильная встроенная библиотека, наверно имеющая возможности чуть ли не на все случаи жизни.
+ весьма и весьма лаконичная запись, всё лучшее из Си, Паскаля, Пайтона, Perl'а и Smalltalk'а.
+ то же самое про остальные аспекты языка: производительность (в 1.9 её очень сильно подняли), мощь, сжатость, ООП.
+ наконец, шикарная экосистема: это и rake, capistrano, gems и другие, с ними разработка очень проста, а идут они во многих дистрах linux'а одним пакетом, да и на винды с макосями аналогично: можно считать, что из коробки.
Из минусов Ruby:
- огромнейшее количество магии: без [stroked]крабовой[/stroked] магической палочки
и ста грамм [stroked]водки[/stroked] эликсира маны не разберёшь.
- своеборазный стиль кода: пусть он и лаконичный, но с наскока некоторые вещи совсем неочевидны.
- до 1.9 в производительности проигрывала всем, даже черепахам аля 1С-битрикс, хотя работала стабильней многих.
- в какой-то степени навязанная экосистема - если привыкли пилить свои велосипеды на каждый чих, первое время будет странное смешанное чувство комфорта и неуюта.

Пару слов о Ruby on Rails. Это дичайший Фреймворк. Самый большой Фреймворк для ruby. Пожалуй, именно с ним ruby получил невероятную популярность.
И вот что можно сказать о нём (RoR):
+ использует все сильные стороны ruby и старается (старался) завуалировать недостатки.
+ первое время была широчайшая свобода действия, сравнимая разве что с PHP, что на самом деле плохо, но даёт некое ощущение полёта.
+ в месте со свободой всё таки была дисциплина, сейчас она вышла на первое место.
+ если следовать всем правилам и best/good practice, то можно добиться невероятных результатов как в производительности труда, так и в качестве работы (читай продукта).
Минусы... Не знаю. Я не искал у него минусов.

Этот ответ сильно не полный, потому что я не знаю ни одного подобного Фреймворка для PHP. Слышал, что они существуют, но работать с ними не довелось.
Ответ написан
@Grag Автор вопроса
Ребят, я не просил многих ровнять мой вопрос с вопросом нуба. Я просто интересуюсь. И если я что-то сказал не так, то можно и поправить меня, а не прям в наглую наезжать. Я уверен на 99% что в моей профессии вы еле-еле 1% знаете (я дирижер, работаю в театре). По сему нормальным спасибо, а те кто только с сарказмом - ... вам тоже спасибо.
Ответ написан
Комментировать
В контексте вопроса ответ может быть таким... Сравните:
PHP - детали для сборки автомобиля с нуля
RoR - собранный по определенному чертежу автомобиль, который уже может ехать, но у него еще нет разных удобных и нужных вам опций.
Ответ написан
AdilA
@AdilA
Нравится кодить, изучаю go c echo
Зря вы этот вопрос подняли, это очень больная тема, ruby vs php, попробуйте на том и на этом пописать, и выберете что вам больше нравиться, ruby сложнее но кода там меньше писать и он во истину красив, ruby код легче читать если писал его не ты, и если поймешь что к чему в языке, и на нем быстрее писать, если все соблюдать BDD TDD DRY, php немного легче из за того что информации по нему много, очень много, и он более гибкий, говнокодить на нем легче. но в чужом коде очень сложно разбираться, иногда даже не возможно. Оба очень хорошие два языка! Но если нужна скорость то выбирайте ruby, правда заплатите тормознутостью сайта)
Ответ написан
Комментировать
@iammultic
Чего вы человека запутали абстрактными сравнениями??? Я на всех трех писала и даже больше. И точно могу сказать в чем разница. В ПХП действительно нет строгой стилистики и правил. Я с одним сотрудником борюсь уже несколько лет, чтобы он писал по регламенту. Потому что мало того, что его код - нечитабельное Г, так еще и дырявое. Руби и питон не даст вам так писать. Например: в питоне заложена стилистика в сам интерпретатор, отступ не сделал - типа, код не работает :-).... для сравнения. В руби строгая ООП структура. Руби это настоящий ООП, а не как Питон или уж тем более ПХП - надстройки, которые симулируют объектность. НО... Если сравнивать именно веб приложения... то на ПХП все же работает быстрее. Это если грамотно написано на всех трех языках. Все равно, сколько я не рассматривала модных разных ООП... в том числе C#, J2EE ...php оказался для сайтов самым быстрым и легким. И не спорьте лузеры, сначала попробуйте. Но, при больших нагрузках ПХП сдает позиции. Хотя тут еще многое зависит от железок и БД. Для консольных приложений ПХП не пригоден. Хотя в наше время это не особо нужно. Т.к. в больших корпорациях, так исторически сложилось, многие приложения написаны на разных языках, и тут как раз помогают уже существующие кроссплатформленные инструменты. На рынке их море. Миграция, репликация данных от разных источников, АПИшечки... а потом простое отображение данных в нужном формате на сайте ;-).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы