Будущее,  Ожидание vs Реальность,  Разработка

2018: Ruby или PHP?

Ruby или PHP в 2018 году?

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

В статье мы сравним Ruby и PHP в 2018 и рассмотрим важнейшие «за» и «против» критических аспектов обеих технологий. Приведенная ниже статистика актуальна на июнь 2018.

Ruby и PHP уже более 20 лет используются для разработки программных продуктов, поэтому можно считать их «зрелыми» и проверенными технологиями. Посмотрим на их развитие с самого начала.

История

PHP, выпущенный в 1994 году как скриптовый язык программирования для генерации HTML-страниц на стороне веб-сервера, теперь является надежной веб технологией, используемой для различных назначений. Зато Ruby был выпущен в 1995 как объектно-ориентированный язык общего назначения, но сейчас, в общем, используется в веб разработке через успех Ruby on Rails .

Хотя первоначальное назначение обоих языков отличается, сегодня они высококонкурентным на сцене веб-разработки.

Философия

Одним из основных отличий между Ruby и PHP является их философия.

Основными принципами Ruby были производительность и удовольствие разработчиков, работающих со стильной, элегантной и гибкой языке.

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

Таким образом, синтаксис этого языка элегантный и красивый. Разработчики получают удовольствие от программирования с Ruby.

Вернемся к PHP, который был создан для личных нужд Размуса Лердорфом, его создателя. Сначала он хотел подсчитать количество посещений его онлайн резюме.

Я не планировал создавать PHP. Я думал с точки зрения решения проблемы, а не программного проекта. На самом деле, я ненавижу программирования, но получаю удовольствие от решения проблем.

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

Таким образом, многие разработчики предпочли Ruby или Python.

список сравнений

В статье сравним следующие аспекты обоих веб-технологий:

  • сложность изучения
  • фреймворки
  • Популярность
  • Сообщество
  • стоимость разработчиков
  • Скорость и производительность

Начнем наш небольшой обзор.

1. Сложность изучения

Оба языка относительно несложные в усвоении. Существует множество интерактивных учебных онлайн материалов, например Learn PHP или Try Ruby .

Пример кода на Ruby:

Пример кода на PHP:

Как видим, в примере с PHP открытый тег <?php. Теперь разработчики не объединяют другие части кода (например, HTML или CSS), но до сих пор должны использовать такой открытый тег в начале файла. Такое поведение позволяет поддерживать совместимость со старыми версиями языка.

В отличие от языков, знание фреймворков накапливаются труднее. Даже опытным разработчикам достаточно сложно оперировать несколькими фреймворками одновременно.

2. Фреймворки

Посмотрим на веб-фреймворки.

В таблице можно найти основные фреймворки обоих языков и количество звезд на Github. Как видно, Rails является лидером в мире Ruby, а в мире PHP — Laravel.

фреймворки Ruby Звезды на Github фреймворки PHP Звезды на Github
Ruby on Rails 39 тыс. Laravel 43 тыс.
Sinatra 10 тыс. Symfony 17 тыс.
Hanami 4 тыс. CodeIgniter 16 тыс.
Padrino 3 тыс. Yii2 12 тыс.
Phalcon 8 тыс.

В то время как Rails доминирует над фреймворками Ruby, конкуренция между фреймворками РНР намного сильнее, ведь он получил известность задолго до того, как это сделали другие языки веб разработки.

С другой стороны, Rails завоевал славу первого массового MVC фреймворка в интернете.

3. Популярность

Существует множество онлайн ресурсов, которые предоставляют статистические данные о распространенности обоих языков программирования.

3.1 Сайты, написанные на Ruby и PHP

Как цитирует W3Techs statistic , PHP — абсолютный лидер по количеству написанных на нем сайтов.

site statistic

Общий процент использования РНР составляет 85.5%. Однако следует признать, что большую часть рынка РНР составляют такие CMS, как WordPress, Drupal и Joomla.

3.2 Сайты, созданные с помощью фреймворков

BuiltWith.com показывает, что Rails фреймворк более популярен по сравнению с фреймворками РНР.

фреймворк Топ 10 тыс. Сайтов Топ 100 тыс. Сайтов Топ миллион сайтов Интернет
Ruby on Rails 850 4184 13641 1883369
Laravel 118 792 5438 573932
CodeIgniter 32 376 4154 408429
CakePHP 41 194 1024 90979

Как видим, наибольшее количество сайтов во всех категориях было построено на Ruby on Rails.

3.3 Рейтинг языков программирования

Рейтинг Spectrum «Лучшая язык программирования» указывает, что показатель применения Ruby для веб разработки выше, чем РНР.

rating

(Данные актуальны на июль 2017)

Согласно отчету Github, Ruby был более популярен чем РНР по количеству пул реквестив в 2017.

github-report

В целом, хотя РНР более популярен среди всех сайтов, Ruby (и Rails) преобладает над РНР по размеру активности на Github и сайтах, построенных на фреймворка.

Многие РНР проектов ранее было написано без каких-либо фреймворков или переустановлен как копии Joomla, WordPress и Drupal систем.

4. Сообщество

Сообщество, построенная вокруг языка программирования, является отличной поддержкой для разработчиков.

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

В общем, можно выделить три ветви РНР сообщества:

  • Разработчики, работающие с Laravel, Symfony и другими фреймворками и создают проекты с нуля.
  • Программисты, которые проектируют исключительно в системах Joomla, WordPress или Drupal.
  • Разработчики, которые нацелены на обслуживание и поддержку веб-сайтов, написанных до появления современных РНР фреймворков.

В связи с этим справедливо будет сравнить Rails разработчиков и РНР разработчиков, работающих с фреймворками. Следовательно, количество разработчиков, работающих, например с Laravel меньше, чем Rails программистов.

К тому же мы не можем недооценивать широкую общественность Ruby on Rails, сложившуюся на Github. Вместе они нацелены на надежную и качественную разработку, внося значительный вклад в общие усилия.

5. Стоимость разработчиков

Существует мнение, что РНР разработчики дешевле, и их можно найти легче чем Ruby (Rails) разработчиков.

Правда заключается в том, что цена на услуги разработчиков зависит от их квалификации, поэтому высококвалифицированные разработчики хорошо оплачиваются независимо от языка программирования.

На данный момент термина «РНР разработчик» не существует как такового. Сейчас мы можем говорить, например, о Symfony или Drupal разработчиков. А стоимость Rails и Laravel / Symfony разработчиков примерно одинакова.

Ниже приведена действительно статистика , основанная на размещении вакансий разработчиков обеих технологий.

job-statistic

(Данные действительны на июль 2017)

Как видно, уровень спроса на программистов обоих языков был практически одинаковым.

В то же время уровень спроса на Rails разработчиков выше, чем на Laravel, топовый РНР фреймворк.

Скорость и производительность

Проанализировав историю, можем сделать вывод, что Ruby и PHP имели примерно одинаковую скорость на определенных этапах. Теперь же производительность PHP 7.2 значительно улучшилась: он намного быстрее предыдущих версий. Поэтому, 1: 0 в пользу РНР.

Выпустив Ruby 2.5 в декабре 2017, сообщество представила улучшение производительности до 10% по сравнению с Ruby 2.4 и представила много других значительных обновлений. Не менее важна инициатива Ruby 3×3 , которая нацелена на утроение производительности Ruby в третьей версии.

Хотя разработчики стремятся улучшить производительность технологий, это не причина выбирать какой-либо язык только по критерию скорости. Более практичным решением этой проблемы было бы обновление аппаратного обеспечения.

преимущества

Каждая из представленных языков программирования имеет свои уникальные аспекты и особенности, служат цели, ради которой они были созданы. Посмотрим на их сильные стороны.

Ruby PHP
Открытый исходный код Открытый исходный код
Скорость в изучении Скорость в изучении
Активное сообщество разработчиков Огромное сообщество разработчиков
Отличный дизайн языка Много доступных фреймворков
Rails — фреймворк №1 PHP7 очень быстрый
Много доступных информационных ресурсов Много доступных информационных ресурсов

недостатки

Но всегда есть свои подводные камни, и языки программирования — не исключение. В любом случае, еще есть над этим поработать:

Ruby PHP
Скорость выполнения могла бы быть лучше Слабый дизайн языка
Доминирование Rails ослабляет конкуренцию между другими фреймворками Проблемы с обслуживанием устаревших приложений

итог

Выбирая между РНР и Ruby, вы не найдете однозначного ответа язык программирования является лучшей. Оба языка имеют свои преимущества и недостатки.

Сейчас РНР имеет улучшенную производительность, но его дизайн остается слабым. Ruby же требует некоторого увеличения скорости, зато имеет элегантный дизайн и синтаксис. Оба языка позволяют создавать современные и надежные веб-приложения.

0 голосов (0 баллов в среднем)
0
Поделиться

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

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *