Розвінчування міфів про Ruby

Ми чули та читали багато критики на адресу Ruby та Ruby on Rails, починаючи з 2010 року, коли ми почали з ними працювати. У цьому пості ми спробуємо розвіяти чотири поширені міфи про Ruby.

Трохи контексту

Ruby — це інтерпретована мова, створена з акцентом на простоту та продуктивність. Це означає, що передусім мова була розроблена з орієнтацією на зручність для програмістів, а не для оптимізації роботи комп'ютера.

З урахуванням цього, ось список особливостей, які Matz (створювач Ruby) передбачав для Ruby:

  • Чиста об'єктно-орієнтована мова: все є об'єктом.
  • Гнучка мова: дозволяє розробникам вільно змінювати її складові.
  • Виразна мова: блоки Ruby є джерелом великої гнучкості.
    Розробники можуть прикріпити блок до будь-якого методу, що дозволяє методам поводитися по-різному в залежності від цього блоку.
  • Міксини: потужний механізм для інтеграції модулів у класи Ruby.
  • Візуальна привабливість.
  • Портативність.
  • Незалежне від операційної системи багатозадачність.
  • Розширення на основі C та Rust.

Ruby з самого початку орієнтувалася на досвід розробника.

Ruby повільний і витратний щодо ресурсів

Коли виник цей міф — невідомо, але його легко спростувати. Порівняно з чим він повільний і витратний щодо ресурсів? Якщо порівнювати Ruby з будь-якою іншою компільованою мовою (такою як C або Rust), вона, безумовно, буде повільною та витратною щодо ресурсів, але причина в тому, що ми порівнюємо компільовану мову з інтерпретованою.
Порівняно з іншими інтерпретованими мовами з подібними можливостями, такими як Python, PHP, або Perl, ми можемо побачити, що продуктивність та використання ресурсів Ruby схожі на них:

Проте важливо зазначити, що це лише точка відліку. В кінцевому підсумку, ваша застосунка є остаточним еталоном, і вимірювання не є пророцтвом.

Ruby on Rails повільний для вебу

Цей підміф є дуже популярним.
Твердження полягає в тому, що Ruby on Rails є повільним фреймворком порівняно з іншими фреймворками, такими як Django, Express, та Laravel. Насправді, це несправедливе порівняння, оскільки всі ці фреймворки є різними. Хоча Ruby on Rails і Django можна порівняти, оскільки вони дуже схожі, Express — це мікрофреймворк, який, після налаштування для роботи як повноцінний фреймворк, як і Rails, працює подібно.

Також, якщо ми говоримо про веб-додатки, оптимізація ресурсів — це лише мала частина всього обсягу роботи, яку виконують комп'ютери для відображення сторінки на екранах користувачів. Не має значення, як швидка ваша серверна мова, якщо відправка і отримання даних з сервера займає 2 секунди, а обробка всього HTML, CSS та JS на телефонах користувачів займає ще чотири секунди.
Ви не досягнете швидкості більш ніж 6 секунд, що вже є досить великим часом (цифри наведені лише для ілюстрації).

Це не Ruby, і це не зовсім Rails.

Ruby непопулярний

Ruby, зовсім не є непопулярним. На момент написання цього поста, Ruby знаходиться в топ-20 індексу TIOBE та топ-10 мов програмування на GitHub.

Більше того, розробники Ruby on Rails були в високому попиті минулого року.

У Ruby немає документації

Цей міф важко зрозуміти. Ruby має одну з найбільш документованих кодових баз.
До того ж, більшість з RubyGems мають чудову документацію.

У будь-якому разі, все залежить від того, де шукати документацію. І якщо документації для певного Ruby гему бракує, то код на Ruby зазвичай легко зрозуміти і слідкувати за ним.

Ruby мертвий

ЛОЛ. Ruby далека від того, щоб бути мертвою. Можливо, вона була популярніша в минулому, ніж зараз, з кількох причин, але безсумнівно вона буде ще популярнішою в майбутньому.

Ми завжди раді обговорити Ruby та Ruby on Rails. Зв'яжіться з нами, якщо хочете дізнатися більше!

Перекладено з: Debunking myths about Ruby

Leave a Reply

Your email address will not be published. Required fields are marked *