Почему стоит переходить на Ruby и Rails

От автора и предисловие:

Доброго времени суток всем постоянным и не постоянным читателям блога bitby.net. Хочу поздравить вас со сменой дизайна, по мне, так он стал лучше и текст стал более легко воспринимаемым.

Я являюсь новичком в Ruby, тем не менее я имею достаточный опыт программирования на PHP. От того, чтобы я стал php-гуру меня спас один мой друг — опытный программист на php, Python, Ruby, который и посоветовал мне Ruby. Я долго сомневался, а стоит ли браться за изучение чего-то нового, отправлять те знания и опыт, которые у меня уже имеются в топку и заниматься изучением нового языка программирования. Тем не менее аргументы в пользу Ruby и Rails были очень убедительными и вот я стал Рубистом. В помощь себе и другим людям желающим изучить Ruby и Rails я создал блог Разработка на Ruby и Ruby on Rails с нуля, надеюсь он сослужит добрую службу всем новичкам.Кстати, для желающих изучить работу в Rails я начал готовить учебник Ruby on Rails, пока что на основе переводных статей.

В этом посте я хочу познакомить вас с Ruby и Rails и рассказать, почему стоит выбрать именно этот язык программирования и этот веб-фреймворк.

Что такое Ruby и Ruby on Rails

Ruby – сверх динамический, объектно-ориентированный язык программирования, который был создан опираясь на утверждение «Язык программирования должен быть удобен для человека, а не для машины!» Таким образом, Якихиро Мацумото в 1995 году явил миру первую публичную версию Ruby. На данный момент Ruby дорос до версии 1.9.2 и имеет множество отличительных черт и достоинств, которые делают Ruby весьма мощным и удобным языком программирования, позволяющим создавать достойные приложения в разы быстрее, чем при использовании языков программирования более низкого уровня.
Ruby on Rails – великолепный веб-фреймворк написанный Девидом Хэйнемеером-Хенсcоном на Ruby, за что DHH (так прозвали Девида в Ruby-сообществе) получил в OSCON звание «Hacker of the Year». Фреймворк Rails сочетает в себе все передовые технологии, идеи и паттерны проектирования, благодаря чему разработка на нем становится в разы проще и быстрее. В конце 2008 года команда разработчиков другого мощного фреймворка на Ruby – Merb объединилась с командой Rails для совместной работы над проектом Rails 3. На данный момент уже выпущен релиз-кандидат Rails 3. Rails3, по заявлению авторов, должен был вобрать в себя все лучшие стороны Merb, например, модульность, гибкость, расширяемость. Судя по тому, что нам представляется в релиз-кандидатах Rails3, можно сказать, что авторам Rails и Merb удалось сделать Rails3 модульным и более удобным для разработчиков.

Почему стоит переходить на Ruby и Ruby on Rails

1. Агресивность рынка веб-разработки. В последнее время рынок веб-разработки очень сильно вырос, выросла и конкуренция. Rails позволяет разработчику в разы быстрее выполнять заказ, при этом экономятся человеко-часы и значительно снижается себестоимость. Благодаря этому разработчики за то же время могут выполнить большее количество работы (заказов), и снизить цену не в ущерб качеству работы.

2. Весьма большое, развивающееся сообщество. Стоит признать, что сообщество Ruby не такое большое, как у Python и тем более PHP. Однако профессионализм членов сообщества впечатляет. Не стоит бросаться туда, где больше людей, стоит идти туда, где люди лучше. Не стоит идти на поводу известной пословицы: «Миллиарды мух не могут ошибаться, в PHP все-таки что-то есть» (пословицу я немножко перефразировал).

3. Огромное количество готовых библиотек и кода. На данный момент Ruby отлично обеспечен библиотеками для работы со сторонними разработками, такими как базы данных: MySQL, PostgreSQL, MongoDB, SQLite и т.д., различные веб и не-веб сервера, библиотеки для работы с графикой, звуком, видео и т.д. Ruby не просто язык написания скриптов — это полноценный язык программирования. На данный момент сообществом создано более 900000 gem’ов (GEM – так называются расширения Ruby), которые значительно ускоряют и упрощают разработку, ведь возникшую у вас проблему, уже кто-то решил до вас, причем с 99.99% вероятностью, что решение этого человека значительно лучше того, что могли бы предложить вы. Стоит упомянуть о множестве gem’ов и плагинов созданных специально для Rails, это опять-таки позволяет вам экономить время на разработку и собственные нервы на написание велосипедов.

4. Ето же Rails! Ruby on Rails, или просто RoR – это самый популярный Ruby –фреймворк для разработки веб-приложений. Множество программистов завидуют ruby’стам за то, что те имеют такой мощный, и в тоже время, простой инструмент. Не стоит забывать о том, кто является разработчиками Rails!

5. Ruby – это не только Rails! У новичков часто слаживается впечатление о том, что Rails – это единственное преимущество Ruby над PHP, Perl, Python, Java… На самом делеэто не так! Ruby используется в администрировании, в прототипировании, в научных исследованиях, в разработке игр и различных приложений как язык написания скриптов и т.д. Ruby используют такие компании: Microsoft, HP, NASA, Cisco и т.д.

6. Ruby 1.9! Ruby не лишен недостатков и основным недостатком была крайне низкая скорость работы и большой объем потребляемых ресурсов. С каждой новой версией Ruby оптимизировался и боролся со своими недостатками, и в версии 1.9 мы видем много значительных улучшений. Например, Ruby 1.9 обогнал по производительности PHP, Perl, Python3 (из доклада Ехуды Каца), оставив впереди лишь Python 2. Ruby 1.9 более удобен, разумен и быстр.

Так уж сложилось, что большая часть веб-проектов разработывается на PHP, именно по этой причине я хочу раскрыть вам несколько причин того, почему стоит переходить c PHP на Ruby.

Почему PHP sucks, а Ruby — мечь Дао веб-разработки

1. Ruby язык общего назначения, а PHP – нет! Ruby используется во множестве областей разработки и научных исследований, моделировании и т.д., а PHP годится лишь для разработки веб-приложений. PHP написан, если не ошибаюсь, на Си, а Ruby по-большей части на Ruby… PHP работает под различными вебсерверами от сторонних разработчиков типа Apache и nginx, а Ruby имеет несколько веб-серверов написанных на самом Ruby, но отлично работает и на Apache, и на nginx, и на LightHTTPd.

2. Ruby более легкий, чем PHP и имеет более понятный синтаксис, обладает множеством встроенных в сам язык паттернов программирования и различными удобными конструкциями, как, например итераторы, которые не доступны разработчикам на PHP.

3. У Ruby очень быстрые темпы развития, у PHP – нет… Новые версии Ruby имеют заметные преимущества над предыдущими, а в PHP 5.3 был добавлен никому не нужный GOTO=)))

4. Создатели Ruby – опытные программисты со всего мира, а создатели PHP – опытные программисты из Zend. Zend нацелены на получение прибыли с PHP (дорогущая ZendStudio и т.д., странно, как это ZendFramework не стал платным, но думаю, это дело времени), разработчики Ruby – безумные фанатики занятые разработкой оружия порабощения всего мира!=)

5. Ruby on Rails vs ZendFramework. Сами понимаете … CakePHP, Lithium Framework – жалкие попытки создать Rails на PHP. CI, Kohana, Yii – недоZendFramework.

6. Сообщество Ruby – в большинстве своем опытные программисты с желанием и возможностью помочь новичкам. Сообщество PHP – 80% школота, 19% — программисты среднего уровня из мелких и среднего размера студий. Коду на Ruby можно доверять, код на PHP необходимо тщательно проверять.

7. PHP –разработчики аргументируют то, что PHP лучше тем, что на PHP написано множество огромных проектов с чуть-ли не миллиардными аудиториями. На самом деле стоит понимать, что при разработке таких проектов используется целый зоопарк языков программирования. Vkontakte и Facebook можно было бы написать на Ruby в несколько раз быстрее, а узкие места также оптимизировать на Си, Erlang’е и т.д.

Кстати, на Ruby были разработаны: Twitter, Scribd, YellowPages, Groupon, а из русского: серверная часть приложения Вконтакте – ЛицеМер, которое находится на 2м месте по популярности, соцcеть LookAtMe и многое другое. Стоит упомянуть, что ориентировочно, каждый 2й стартап в США создается на Ruby on Rails, здесь Ruby и PHP идут практически вровень.

Недостатки Ruby по сравнению с PHP: малое количество документации на русском языке и маленькое русскоязычное сообщество. Тем не менее, существует русский перевод отличной книги «Programming Ruby», а также перевод книги «The Ruby Way» — “Программирование на языке Ruby” авторства Хэла Фултона. Еще один перевод замечательной книги, но уже совсем для новичков, доступен онлайн: «Learn to Program«. Учите английский и читайте мой блог Разработка на Ruby и Ruby on Rails с нуля =)

Комментарии — 37 комментариев

  1. #16817 SideWinder в 22:15, 20 июня 2012:

    Ответить | Цитировать

    Странно что нет ни одного коммента про Симфони )
    Попытался перейти с Симфони на Рейлз.. так в Рейлзе нет и половины того что есть в Симфони ))
    Руби и Рейлз не ругаю — для меня это всего лишь другой инструмент. Для разных гвоздей — разные молотки.

  2. #18695 Sp-man в 9:56, 11 августа 2012:

    Ответить | Цитировать

    Здравствуйте.
    Я чиатал что PHP появился и развивался на начальных стадиях в большей степени из за того, что не хватало производительности Perl. Эпоха расцвета Perl в сети прошла как таковая. Это были 90, начало 2000 когда достойной конкуренции данному языку не было.

    Теперь насчёт производительности. Поищите в интернете » нагрузочное тестирование» и другое тестирование крупных компаний и авторитетных источников. По производительности выходит следующее:
    Наименее производительный PHP.
    Потом идёт Ruby on Rails.
    Самый производительный Django.

    При этом стоит брать в расчёт что на Ruby on Rails обычно выстаиваются различные ограничения для стабильности работы, и по «дефолту» они включены. На конкурсах по программированию опытные программисты переконфигурировают Ruby и RoR для определённых задач. Таким образом производительность некоторых важных операций повышается, тогда как другие операции (к примеру не задействованные данной в программе) будут выполняться относительно долго и возможно с ошибками.

    Работу PHP также можно увеличивать различными способами, даже сторонними продуктами.

  3. #21768 RoR в 15:51, 30 июля 2013:

    Ответить | Цитировать

    Класс!! вот это статья… вот это комментарии…
    Пусть говорят! =D

  4. #25498 Алексей в 13:19, 5 марта 2014: (подписался)

    Ответить | Цитировать

    Помоему все гайды по руби отпугивают. Человеку с почти нулевым (Pascal) знанием программирования вроде меня просто срется кирпичами при виде этих гайдов. И улыбка дьявольски растяивается при виде фраз «просто» , «это же так легко». Недоступный язык програмирования — так было бы вернее написать. Искал фреймворк, а нарвался на руби, где почитав руководство для новичка понял, что даже в блокноте с нуля было бы проще сделать нормальный сайт с адаптивной версткой чем с помощью руби. В гневе.

  5. #64171 Паша в 23:02, 15 января 2017: (подписался)

    Ответить | Цитировать

    А сейчас как обстоят дела с ruby и рельсами?
    Фрилансеру стоит переходить с пхп на руби?

  6. #69003 Anton в 13:54, 26 июля 2017:

    Ответить | Цитировать

    У вас редиректы сломались

  7. #70024 vanoID в 10:10, 3 сентября 2017:

    Ответить | Цитировать

    Вы про что?

Добавить комментарий

имя:

e-mail:

сайт:

текст:

Subscribe without commenting