Ruby — yapon dasturchisi Yukihiro Matsumoto (Matz nomi bilan ham tanilgan) tomonidan 1995-yilda taqdim etilgan, dinamik tiplangan va obyektga yo’naltirilgan dasturlash tili. Matsumoto tilni yaratishda ochiq e’lon qilingan maqsadi — “dasturchining baxtini” birinchi o’ringa qo’yish, ya’ni kodni yozish jarayonini iloji boricha yoqimli va tabiiy qilish bo’lgan.
Dasturchi baxti falsafasi
Ruby’da deyarli hamma narsa — hatto sonlar va mantiqiy qiymatlar ham — obyekt hisoblanadi, bu esa tilga izchil va bashorat qilinadigan xarakter beradi. Til sintaksisi ingliz tiliga yaqinlashtirilgan bo’lib, masalan takrorlash konstruksiyasi 5.times { puts "salom" } shaklida yozilishi mumkin — bu klassik for siklidan farqli, o’qish osonroq uslub hisoblanadi.
Ruby on Rails ta’siri
2005-yilda Devid Xeynemeyer Xansson tomonidan yaratilgan Ruby on Rails veb-freymvorki Ruby tilining mashhurligini keskin oshirdi. Rails “konventsiya konfiguratsiyadan ustun” tamoyiliga asoslanib, dasturchilarga ko’plab standart qarorlarni qayta-qayta yozishdan ozod qildi. Twitter, GitHub va Shopify kabi xizmatlar dastlab aynan Rails asosida qurilgan.
Moslashuvchan sintaksis
Ruby metaprogramming — ya’ni dastur ishlash vaqtida o’z-o’zini o’zgartirish yoki yangi metodlar yaratish imkoniyatini kuchli darajada qo’llab-quvvatlaydi. Bu xususiyat domenga xos til (DSL) yaratishni osonlashtiradi — masalan, Rails’dagi ma’lumotlar bazasi migratsiyalari oddiy Ruby kodi ko’rinishida, ammo o’ziga xos, o’qish oson sintaksis bilan yoziladi.
Qo’llanilish doirasining o’zgarishi
2010-yillar o’rtalarida Ruby on Rails veb-ishlab chiqishda dominant kuch bo’lgan bo’lsa, keyinchalik Node.js, Django va boshqa freymvorklarning kuchayishi bilan Ruby’ning nisbiy ulushi kamaydi. Shunga qaramay, til hamon startaplar orasida tezkor prototiplash uchun qadrlanadi, chunki Rails kam kod bilan to’liq ishlaydigan veb-ilova yaratish imkonini beradi.
Gem’lar ekotizimi
Ruby kutubxonalari “gem” deb ataladi va RubyGems tizimi orqali tarqatiladi, Bundler esa loyihaning bog’liqliklarini boshqarish uchun ishlatiladi. Bu ekotizim autentifikatsiya (Devise), fon vazifalarni bajarish (Sidekiq) kabi keng tarqalgan muammolarga tayyor yechimlar taqdim etadi, bu esa Rails loyihalarini tezroq ishga tushirish imkonini beradi.
Bog’liq tushunchalar
Ruby on Rails, Gem, MVC arxitekturasi, Dinamik tiplash, Metaprogramming, Veb-freymvork, Konventsiya konfiguratsiyadan ustun