Webmaster

Ruby Nedir ?

Ruby Nedir – Neden Bu Kadar Polüler Oldu ? Ve Diğer Merak Edilenler.

Ruby’nin Neden bu kadar popüler olduğunu mu merak ediyorsunuz? Ruby sevenler, Ruby’yi güzel, sanatsal, becerikli ve pratik bir dil olarak tanımlarlar. Peki Ruby size neler vaad ediyor? Enine Boyune Ruby’i Ele Aldık.

Ruby Nedir

En Basit Anlatımı ile Ruby nesneye yönelik, dinamik, reflektif bir programlama dilidir. Ruby dili, Yukihiro Matsumoto tarafından Japonya’da tasarlanmaya ve geliştirilmeye başlanmıştır.
Özgür bir yazılım olan Ruby; GPL ve Ruby lisansı ile lisanslanmıştır.

Sözdizimi olarak

  • Ada
  • Perl
  • Smalltalk
  • Lisp
  • Eiffel

Gibi programlama dillerinden etkilenen Ruby; Python ile Benzer veya Ortaklaşa sözdizimi özelliklerine sahiptir. Fonksiyonel olarak, nesneye yönelik, dinamik, reflektif gibi çoklu programlama paradigmalarını destekler.

NOT: Sözdizimi Anlamı : Diğer bir deyişle sentaks, Yani Sözcükleri Cümlelerde kullandığımız kuraldır. Yukarıda Sözdizimi kullanmamızın Sebebi Ruby kodları tıpkı sözdizimi gibi kodlanırlar. P

Ruby Nedir Açıkladığımıza Göre Ruby Nerede Kullanabilirim. Nasıl Öğrenmeye başlarım, Ruby Neden ve Nasıl Geliştirildi ( Oluşturuldu ) Ve Webmaster‘lerin Ruby ile Kullanmak istediklerinde neler yapması gerektiğini Açıklayalım.

Tarihçe

Ruby dilinin temelleri 1993 yılında atılmıştır. Bu dönemde nesneye dayalı bir betik dili arayışı içinde olan Japon yazılımcı Yukihiro “Matz” Matsumoto; Perl, Python gibi mevcut programlama dillerini araştırmasına rağmen aradığını bulamayınca yeni bir programlama dili tasarlamaya başladı. Şubat 1993’te Matz, bir arkadaşı ile yaptığı çevrim içi sohbet esnasında arkadaşının bu yeni dil için önerdiği Ruby ismini uygun buldu ve bu isimle dili geliştirmeye başladı.

Aralık 1995’te Ruby’nin 0.95 ile ilk genel sürümü yayınlandı. Aynı ay içerisinde peş peşe 3 sürüm daha yayınlandı. Bu sürümler Japonya’da yerel haber gruplarında bile duyuruldu.

Beta sürümden tam bir yıl sonra, Aralık 1996’da Ruby 1.0 yayınlandı. Anavatanı Japonya’da hızla tanınan ve yayılan Ruby, 1999’da İngilizce yazıların yayınlanması ile tüm dünyaya Açıldı

2000 yılında Japonya’da Python’dan daha popüler bir dil haline gelen Ruby’nin İngilizce ile yazılan ilk kitabı , Programming Ruby adıyla Ekim ayında yayınlandı.

Özellikler

Ubuntu’da Ruby programlama dili
Nesne tabanlı programlama (kalıtsallık, mixin ve metaclass desteği)
4 farklı tipte değişken tanımlanabilir: Global, class, instance ve local
Her şey bir ifade ve aynı zamanda obje
Hata ve istisna yönetimi
Garbage collection (tr. Çöp toplama)
Yüksek taşınabilirlik
Geniş standart kütüphane desteği (YAML, JSON, XML, CGI, OpenSSL, HTTP, FTP, RSS)
Perl benzeri dil seviyesinde doğal düzenli ifade desteği
Rasyonel sayılar, çok büyük sayılar ile çalışabilme
Bununla beraber Ruby içindeki UTF-8 desteği sınırlıdır.

Sözdizimi ve yapısı

Ruby’nin sözdizimi günümüzde de yoğun olarak kullanılan Perl ve Python ile büyük benzerlikler gösterir. Sınıf ve metot tanımlamaları anahtar kelimelerle belirlenir. Ruby’de Perl’in aksine, değişken adlarının başında belirleyici karakterler ($, @@, % gibi) kullanmak bir zorunluluk değildir. Python’un tersine girintilerin dilin sözdiziminde bir etkisi yoktur.

Ruby, tek çoklu kalıtıma Java gibi izin vermemesine rağmen mixin adı verilen nesnelerle bir çeşit arayüz tanımlama imkânı verir. Ayrıca paketler üzerinden de bu sınırlama geçiştirilebilir.

Ruby’nin tasarımında dikkate alınan diller Ada, Eiffel, Lisp, Perl ve Smalltalk’dur. Dolayısıyla bir betik dili yapısına da sahiptir. Ruby, nesneye yöneliklilik açısından tamamen öyle olan Java ile Smalltalk arası olup yüzde yüz bu paradigmayı uygulamamaktadır.

Ruby’nin Yaratıcısının İdealleri

Ruby dengenin dilidir. Ruby’nin yaratıcısı Yukihiro “Matz” Matsumoto en sevdiği dillerin (Perl, Smalltalk, Eiffel, Ada, ve Lisp) en iyi özelliklerini harmanlayarak fonksiyonel programlama ile imperativ programlamaya dayanan yeni bir dil yaratmayı amaçlamıştır.

Matz, her zaman “Ruby’yi basit değil, doğal yapmaya çalıştığını” vurgulamıştır, tıpkı yaşam gibi…

Ruby’nin Büyüme Hızı

Ruby 1995’te halka duyurulduğundan beri, dünya çapında programcıların dikkatini çekmeye başlamıştır. 2006 Ruby’nin altın yılı olmuştur. Dünyanın en büyük şehirlerinde aktif kullanıcı grupları ve Ruby ile ilgili konferanslar gerçekleştirilmiştir.

Ruby-Talk, en çok kullanılan Rubye-posta listesi günde ortalama 200 mesaj trafiğine sahiptir.

Programlama dillerinin popülaritesini araştıran TIOBEistatistiklerine göre, Ruby dünya çapında en çok kullanılan 10.cu dil haline gelmiştir. Ruby’nin bu hızlı büyümesinde Ruby on Railsframework’ünün hatırı sayılır etkisi bulunmaktadır.

Ruby aynı zamanda tamamen özgür bir dildir. Ruby size yalnızca sorumluluk anlamında bir özgürlük değil, aynı zamanda kullanma, kopyalama, düzenleme ve dağıtma özgürlüğü de sunar.

Herşey Bir Nesnedir

Matz yeni bir dil yaratmadan önce ideal sözdizimini bulmak için diğer programlama dillerini incelemiş ve araştırmasının sonunda “Perl’den daha güçlü ama Pyton’dan daha nesneye yönelik bir betik dili2” istediğini söylemiştir.

Ruby’de herşey bir nesnedir. Gördüğünüz en ufak bilgi parçası ve kod kendi özelliklerine ve olaylarına sahiptir. Özellikleri isimle çağırma örnek değişkenler,olaylar da metotlar olarak isimlendirilir. Ruby’nin yüzde yüz saf nesneye yönelik bir dil olduğunun en iyi ispatı bir kod parçası ile bir sayıya olay vererek yapılır:

1.times { print "Ruby *kullanıyoruz* -- harika bir kod!" }

Çoğu Kodlama dilinde sayılar ve diğer ilkel tipler nesne değildir. Ruby tüm tiplerine metotlar ve örnek değişkenler verme geleneğini Smalltalk’tan miras almıştır.

Esnek Kodlama Yapısına Sahiptir

Ruby kullanıcılara istediği kısımları değiştirebilme imkanı sunduğu için esnek bir dildir. İsteğe bağlı olarak Ruby’nin esaslı kısımları bile kaldırılabilir, yeniden tanımlanabilir ya da yeni kısımlar eklenebilir. Ruby programıcıyı kısıtlamamayı amaçlamaktadır.

Örneğin toplama işleminin artı (+) operatörü ile yapıldığını biliyoruz. Ama eğer okunabilirlik amacıyla topla gibi bir kelime kullanmak istiyorsanız Ruby’nin gömülü Numeric sınıfına yeni bir metod ekleyebilirsiniz.

class Numeric
  def topla(kum-tanesi)
    self.+(kum-tanesi)
  end
end

kum = 100.topla 1000
# kum değeri 1100 oldu. 
Ruby Nedir
Ruby Nedir

Ruby’nin operatörleri sözdizimsel olarak esnektir, yeniden tanımlamanıza olanak sağlar.

Bloklar, Tam Anlamıyla Etkileyici Bir Özellik

Ruby’nin esnek bir dil olarak anılmasının en önemli sebeplerinden biri de bloklardır.Bir kapamayı (closure) herhangi bir metoda ataçlayabilir ve metodun nasıl tepki vereceğini belirleyebilirsiniz. Kapamalar, bloklar olarak anlandırırlırlar ve PHP ya da Visual Basic gibi imperativ dillerden Ruby’ye geçenler arasında en popüler özelliğe dönüşmüştür.

Bloklar fonksiyonel dillerden esinlenilerek Ruby’ye getirilmiştir. Matz Bu Konuda “Ruby kapamalarında, Lisp kültürüne saygı göstermek istedim.” demiştir.

search_engines =
  %w[Google Yahoo MSN].map do |engine|
    "http://www." + engine.downcase + ".com"
  end

Yukarıdaki kodda bir blok do ... end yapıları içerisinde tanımlanıyor. mapmetodu bloğa bir kelime listesi ile çalıştığını bildiriyor. Ruby’de bunun gibi bir çok metod programcıya kendi bloklarını yazıp, metodu istediği gibi şekillendirmesine izin vermektedir.

Ruby ve Mixin’ler

Pek çok nesneye yönelik dilin aksine, Ruby özellikle yalnızca tekil mirası destekler. Çünkü Ruby modül konseptini (Nesnesel-C’de Kategoriler) kullanır ve modüller metodların bir koleksiyonundan ibarettir.

Sınıflar bir modülü kendisine dahil ederse, onun tüm metodlarını da almış olur. Örneğin each metodunu gerçekleştiren her sınıf Enumerablemodülünü de kendisine dahil edebilir, böylece döngülerde each ile beraber kullanabileceği bir dizi metoda sahip olur.

class MyArray
  include Enumerable
end

Genelde Ruby’ciler bu yolu bazen çok karmaşıklaşan ve kısıtlayıcı olan çoklu mirastan daha temiz ve sağlam bir yöntem olarak görürler.

Ruby’nin Görselliği

Her ne kadar Ruby sınırlı sayıda noktalama işareti ve İngilizce anahtar kelimeler kullansa da, bazı noktalama işaretleri Ruby’yi dekore etmek için kullanılır. Ruby’de değişken tanımlamaları yoktur. Değişkenlerin faaliyet alanlarını belirlemek için basit noktalama işaretleri kullanılır.

  • var yerel bir değişken olabilir
  • @var bir örnek değişkendir.
  • $var bir global değişkendir.

Bu işaretlendirmeler sayesinde programcı her değişkenin rolünü kolayca görebilmektedir. Aynı zamanda her örnek değişken için self. kullanma külfetini ortadan kaldırmıştır.

Temel İşlevlerin Ötesinde

Ruby çok çeşitli özelliklere sahiptir, aşağıda bir kaçından bahsedilmiştir:

  • Ruby Java ya da Python gibi istisna yakalama mekanizmalarına sahiptir, hatalarla başetmek kolaylaşır.
  • Ruby tüm nesneleri için gerçek bir mark & sweep çöp toplayıcısı sunar. Eklenti kütüphanelerinde referans sayaçlarına gerek yok, Matz’ın dediği gibi: “Bu sizin sağlığınız için iyidir”.
  • C’den Ruby çağıran şık API’si sayesinde Ruby’de C eklentileri yazmak Perl ya da Python’dan daha kolaydır. Bu API aynı zamanda yazılımlara betik dili olarak Ruby’yi gömmek için gereken çağrıları da içerir. Ayrıca SWIG arayüzü de alternatif olarak sunulmaktadır.
  • İşletim sistemi izin verdiği sürece harici dinamik kütüphaneler yükleyebilirsiniz.
  • Ruby işletim sisteminden bağımsız iş parçacığı özelliği sunar.Yani işletim sisteminin desteklemesine bakmaksızın, MS-DOS üzerinde olsanız bile çoklu iş parçacıkları kullanabilirsiniz!
  • Ruby yüksek taşınabilirliğe sahiptir. GNU/Linux üzerinde geliştirilmiş olsa dahi, UNIX’in bir çok çeşidi, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, vb. üzerinde çalışmaktadır.

Kullanılabileceği dizgeler

Ruby yorumlayıcısı birçok işletim sistemi için yazılmıştır. Hemen hemen tüm işletim sistemlerinde çalışabilir. Bunlardan bazıları şunlardır:

Özellikle Ruby Nedir Sorusuna Cevap Verebilmek için Sizlere Türkçe olmayan kaynaklardan Bilgiler topladık ve Bunları Türkçe olarak yayınladık. Aşağıdaki Referans Ve kaynakların Her biri Araştırılıp konuya Dahil edilmiştir.

Ruby Nedir için Alınan Referanslar

1 Matz, Ruby-Talk e-posta listesi, 12 Mayıs, 2000.

2 Matz, Ruby’nin Yaratıcısı İle Bir Söyleşi, Kasım. 29th, 2001.

3 Matz, Ruby’de Bloklar ve Kapamalar, 22 Aralık, 2003.

Kaynaklar

  1. ^ “Ruby 2.2.3 Released”ruby-lang.org. Erişim tarihi: 2019/04/01
  2. ^ Intro – D Programming Language 1.0 – Digital Mars
  3. ^ About Ruby
  4. ^ “Contents of /trunk/COPYING”http://svn.ruby-lang.org/.
  5. ^ “RubyConf: History of Ruby”http://blog.nicksieger.com/.
  6. ^ “Foreword”Programming Ruby.
  7. ^ Ruby is obsessively object oriented. In fact, unless you have programmed in Smalltalk or Eiffel (languages which are even more obsessive than Ruby about objects), it is likely to be the most object oriented language you have ever used. (THE BOOK OF RUBY, HUW COLLINGBOURNE)

Ruby Nedir
Nerede Kullanılır
Kim Buldu
Tarihi
Kod Yapısı
Neler Vaat Ediyor Gibi Sorulara Cevap Verdik. Ruby hakkında Daha Fazla merak ettiğiniz Her ne varsa Yorum yapabilirsiniz. aynı Zamanda Fikir Ve Görüşlerinizi Bildirebilirsiniz.

CeNTiLMeN

Makalelerimi okurken umarım güzel vakit geçirirsiniz. Blog yazarlığı hayatında lütfen desteklerinizi esirgemeyin. Özellikle tavsiye ve eleştirilerinizi bekliyorum.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir