Ми чули та читали багато критики на адресу 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