Ruby
- Okunuşu
- rubi
Kısaca
Ruby, geliştirici mutluluğu için tasarlanmış, okunaklı sözdizimi ve Ruby on Rails web çatısıyla tanınan, dinamik ve nesne yönelimli bir dildir.
Ruby nedir?
Ruby, Japonya'da Yukihiro "Matz" Matsumoto tarafından geliştirilen ve ilk kez 1995'te yayımlanan, genel amaçlı bir programlama dilidir. Belirtilen amacı programcıları mutlu etmektir; bu yüzden 3.times { puts "hi" } gibi doğal okunan kodu tercih eder. Ruby, 2000'li yılların ortasında, "yapılandırma yerine gelenek" (convention over configuration) fikrini yaygınlaştıran bir web çatısı olan Ruby on Rails sayesinde geniş çapta tanındı.
Ruby dinamik tiplidir ve derinlemesine nesne yönelimlidir: sayılar ve nil dahil her şey metotları olan bir nesnedir. Ördek tiplemeye (duck typing) dayanır; yani kod, bir nesnenin hangi sınıfa ait olduğuyla değil, bir metoda yanıt verip vermediğiyle ilgilenir. do...end ya da süslü parantezler arasındaki kod parçaları olan bloklar, each ve map gibi metotlara aktarılır; üst programlama (metaprogramming) ise kütüphanelerin program çalışırken metot tanımlamasına izin verir ve birçok anlatımı güçlü mini dil böyle kurulur. Standart gerçekleme CRuby (MRI olarak da bilinir), belleği bir çöp toplayıcıyla yönetir ve sık çalışan kod için isteğe bağlı bir tam zamanında derleyici içerir.
Ruby çoğunlukla web uygulamalarında ve API'lerde, ayrıca betik yazmada, otomasyonda ve geliştirici araçlarında kullanılır. Ruby okumak sıklıkla sade İngilizce okumaya benzetilir: metot adları empty? gibi sorular için ? ile, nesneyi yerinde değiştiren metotlar için ! ile bitebilir; bu da niyeti bir bakışta görünür kılar.
Ruby en sık Python ile kıyaslanır. İkisi de temiz sözdizimli, dinamik, çöp toplamalı, yorumlanan dillerdir; ancak Python "tek bir bariz yol" ilkesini tercih eder ve veri bilimi ile makine öğrenmesine hâkimdir, Ruby ise aynı fikri ifade etmenin birçok yolunu benimser ve web geliştirmede en güçlüdür. Ruby kodu ayrıca bloklara ve metot zincirlemeye yaslanırken, Python genellikle liste kapsamaları (comprehensions) ve açık döngüler kullanır.
Önemli noktalar
- Ruby, okunabilirlik ve geliştirici mutluluğuna odaklanan dinamik, nesne yönelimli bir dildir.
- Sayılar ve
nildahil Ruby'deki her şey bir nesnedir. - Bloklar ve üst programlama, özlü ve anlatımı güçlü kod yazmayı mümkün kılar.
- En bilinen kullanım alanı, Ruby on Rails çatısıyla web geliştirmedir.
Örnek
# Blocks pass behavior to methods like select and map
orders = [
{ item: "book", price: 12 },
{ item: "lamp", price: 45 },
{ item: "pen", price: 3 },
]
expensive = orders.select { |o| o[:price] > 10 }
.map { |o| o[:item].upcase }
puts expensive.inspect # ["BOOK", "LAMP"]
puts "Total: #{orders.sum { |o| o[:price] }}" # Total: 60Sık sorulan sorular
Ruby bugün hâlâ kullanılıyor mu?
Evet. Ruby aktif olarak geliştiriliyor, her Aralık ayında yeni bir sürüm çıkıyor ve uzun soluklu birçok web uygulaması ile yeni girişimler Ruby on Rails üzerinde inşa etmeyi sürdürüyor.
Ruby ile Ruby on Rails arasındaki fark nedir?
Ruby programlama dilidir. Ruby on Rails ise Ruby ile yazılmış, web uygulamalarını hızla geliştirmek için yönlendirme, veritabanı erişimi, şablonlar ve diğer araçları sunan bir web çatısıdır.
Ruby, Python'dan hızlı mı yavaş mı?
Performans iş yüküne ve sürüme büyük ölçüde bağlıdır ve ikisi de genellikle Go ya da Java gibi derlenen dillerden yavaştır. Aralarındaki seçim genellikle ekosisteme, kütüphanelere ve ekip tercihine bağlıdır.
İlgili sayfalar
- PythonProgramlama Dilleri, s. 26Python, okunaklı sözdizimiyle bilinen; veri bilimi, otomasyon ve web arka uçlarında yaygın kullanılan, genel amaçlı ve dinamik tipli bir programlama dilidir.
- OOPProgramlamanın Temelleri, s. 41OOP, yani nesne yönelimli programlama, kodu ilişkili verileri onlar üzerinde işlem yapan fonksiyonlarla birleştiren nesneler etrafında düzenleme yöntemidir.
- Çöp toplamaProgramlamanın Temelleri, s. 9Çöp toplama, dil çalışma zamanının programın artık kullanamadığı verileri bulup bu belleği yeniden kullanıma açtığı otomatik bellek yönetimidir.
- YorumlayıcıProgramlamanın Temelleri, s. 55Yorumlayıcı, tüm programı önce ayrı bir çalıştırılabilir dosyaya çevirmek yerine kaynak kodu doğrudan, adım adım çalıştıran bir programdır.
- FrameworkProgramlamanın Temelleri, s. 22Framework, bir uygulamanın yapısını sağlayan, yeniden kullanılabilir kod, araç ve kural temelidir; geliştiriciler yalnızca kendi mantıklarını doldurur.
- PerlProgramlama Dilleri, s. 22Perl, metin işleme ve yerleşik düzenli ifadeleriyle ünlü, olgun ve dinamik bir betik dilidir; uzun süre sistem yönetiminde ve web betiklerinde kullanıldı.
- Ruby on RailsBackend ve API'ler, s. 40Ruby on Rails, yapılandırma yerine kuralı öne çıkaran, Ruby için tam yığın web framework'üdür; veritabanı destekli web uygulamaları onunla hızla kurulabilir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin