Почему я перешел с PHP на Ruby on Rails?

17 июля 2009

Короткий ответ такой: я перешел с PHP на Ruby on Rails, потому что Rails позволяет мне делать все, что я делал на PHP, и получать от этого больше удовольствия. А я не представляю себе программирования без удовольствия.

Потом, не путай понятия: работая с Ruby on Rails, ты получаешь опыт разработки на одном из самых удобных языков современности – Ruby. То, что PHP и Rails ставят в один ряд, подчеркивает, что Ruby способен на большее, чем просто создание сайтов.

У PHP как языка сейчас подростковый кризис: появляется много новых возможностей, но библиотекам приходится обеспечивать совместимость со старыми версиями языка. Это вполне понятно, ведь множество PHP-сайтов работают на shared-хостинге, где у разработчика нет возможности управлять установленной версией языка и приходится жить с тем, что дают.

Вот бы зендовцы создали новую спецификацию языка, скажем, PHP++, и добавили туда законченную ОО-модель, обеспечив достаточно простую миграцию с PHP. Но нет же, миграция на ООП происходит «на живую», язык, а вместе с ним и сообщество, превращается в хаос, а сайты продолжают работать на совершенно разных версиях PHP.

Объектно-ориентированная модель PHP продолжает выглядеть надстройкой, а не естественной возможностью языка.

Разумеется, в Ruby on Rails вообще регулярно происходят существенные изменения, которые ломают совместимость, и приложения приходится либо исправлять, либо оставлять на неподдерживаемой версии фреймворка. До зрелости ему еще ой как далеко.

Зато Ruby находится на гораздо более высокой ступени развития, чем PHP. Он гораздо удобнее и приятнее в использовании. Этим (и еще умелым маркетингом и позиционированием, ха-ха) и объясняется успех Rails – неуклюжие клоны рельсов на PHP демонстрируют, что язык разработки все-таки имеет  значение.

P.S. И перестаньте вы придираться к моему ZCPE. Он вообще-то не обязывает посвятить жизнь PHP. Зато он избавил меня от нескольких нудных собеседований, на которых проверяют, знаю ли я, как сделать в PHP цикл и все такое.



Двенадцать комментариев. Напиши еще один
  1. C13375ba1016846e39bc0e48260d0bb1 # 17 июля 2009 Sam (rmcreative.ru) написал:

    Короткий ответ понравился больше, чем длинный… длинный с оттенком рекламируемой в сообществах Ruby и Python незаслуженной неприязни к PHP.

    1. 777894ea5153122bfa6b83f5bbf23622 # 17 июля 2009 Леонид Шевцов (автор) написал:

      О. А я старался ее избежать. :)

  2. 86601e5039ba231c5e529f29c56f86c2 # 17 июля 2009 Василий написал:

    Да не придираюсь я) За статью спасибо. Я и сам как бы объяснял на городском форуме товарищу одному об ущербности пыха по сравнению с питоном/руби. Но сам упорно продолжаю быдлокодить на пыхе, потому как сейчас это связано с работой.

    Для завершенности не хватает кусочков кода из этих 2 языков, илюстрирующих такое превосходство.

  3. C13375ba1016846e39bc0e48260d0bb1 # 17 июля 2009 Sam (rmcreative.ru) написал:

    На самом деле неуклюжие клоны рельсов на PHP демонстрируют только то, что авторы клона вдвойне неправы: во-первых в том, что вообще начали слепо клонировать, во-вторых в том, что сделали это неуклюже.

    В последнее время Djang-исты начали жаловаться на жуткий наплыв новичков их сообществе. И эти новички пишут отборнейший говнокод… на очень стройном и прекрасном питоне.

    Так что всё дело в людях.

  4. 93684ddffdd81c5b1f760978401b0cbf # 21 июля 2009 Origasan (origasan.in.ua) написал:

    Я совершенно поддерживаю ваш выбор и как специалист в подборе айти специалистов, в том числе и по новоизбранной вами технологии, хотела бы с вами более детально пообщаться о вашей любви к RoR и о возможности применения вашего опыта на выгодных и перспективных условиях…

  5. 1c32748a6abc14bfb10b9630d8edec37 # 24 июля 2009 Сергей Герасимов (artde.co.ua) написал:

    Дабы поспособствовать переходу как можно большего количества разработчиков на руби (и рельсы в частности) и specially for Валисий выкладываю две книги, которые как раз и посвящены переходу с php на ruby:
    http://artde.co.ua/output/rails_php_books.zip

  6. 86601e5039ba231c5e529f29c56f86c2 # 27 июля 2009 Василий написал:

    спасибо, полистаю в свободное время. Но я пока что не определился: Phyton-Django/Ruby-RoR

  7. 82896ae7662ba5391678578911d5a9b4 # 20 августа 2009 mikhailov (railsgeek.com) написал:

    не надо путать язык и фреймворк, ZendPHP тоже позволяет получить фан от разработки. Преимущества не в этом.
    Есть набор типовых задач, которые рельсами решаются просто великолепно, большое комьюнити, количество бесплатных решений (на .Net, например, нет хорошей социальной сети в виде готового решения, на рельсах – полно).
    Тем не менее главное – сэкономленные деньги заказчика и твои нервы.

    1. 777894ea5153122bfa6b83f5bbf23622 # 20 августа 2009 Леонид Шевцов (автор) написал:

      Почему же, преимущество и в том, что на Ruby писать гораздо удобнее и приятнее (и веселее), чем на PHP, без всяких фреймворков.

  8. 51752f31a94ea75970f2640423ed8ce0 # 26 октября 2011 dmsoh написал:

    Леонид, я бы тоже на ROR хотел перейти. Но мне все время кажется, что сайты на ROR жутко тормозные. Опять же твитер изначально на ROR был, сейчас ушли с него.

    1. 777894ea5153122bfa6b83f5bbf23622 # 26 октября 2011 Леонид Шевцов (автор) написал:

      Этот блог на RoR, причем даже (тсс) никакого кеширования страниц я еще не сделал. И он не тормозной.

      У твиттера все на RoR, кроме обмена сообщениями – такой объем информации типичные сайты не обрабатывают.

      Какой еще пример привести… ну вот Mapia.ua, они тоже на рельсах.

      Это миф, что сами по себе рельсы делают сайт медленным. Кроме того, основания для этого мифа (незрелый интерпретатор, например) уже несколько лет как устарели.

      1. 51752f31a94ea75970f2640423ed8ce0 # 26 октября 2011 dmsoh написал:

        Ясно, вопрос снят.

        Конечно, еще смущает и то, что вижу мало вакансий на ROR , т.е. сделав проект, получив опыт, как ты советуешь, можно столкнутся с тем, что негде его применить.

        Я вот к Windows привык, я так понял ROR под Windows экзотика. Как лучше всего настроить это дело?
        И собственно может посоветуешь литературу, сайты для начала.

(нужна разметка?)

  • **жирный**
  • > цитата

отменить