ABD Münbiçi bırakır mı ?

ABD, Münbiçin yarısı sizde yarısı bizde kalsın dedi

SON 20 YILDA OSCAR KAZANAN KADINLAR

Son 20 yılda En İyi Kadın Oyuncu kategorisinde Oscar kazanan oyuncuların listesi...

AFRİN HAREKATI

Zeytin Dalı Harekatında teröristlerden temizlenen bölge artıyor

Silkroad XIAN

Silkroad sevdalıları için bir server

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Ruby Hakkında

 
#1

Ruby’nin niçin bu kadar popüler olduğunu mu merak ediyorsunuz? Rubyseverler, Ruby’yi güzel, sanatsal, becerikli ve pratik bir dil olarak tanımlarlar. Peki Ruby size neler vaad ediyor?
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…
Buradan yola çıkarak Matz aşağıdakileri ekler:
Alıntı:Ruby tıpkı insan vücudu gibi, görünüşte basit, ama içinde çok kompleks bir yapıya sahiptir1.
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.
plot-rate.php?group=gmane.comp.lang.ruby...k+Activity
Ruby-Talk, en çok kullanılan Ruby e-posta listesigünde ortalama 200 mesaj trafiğine sahiptir.
Programlama dillerinin popülaritesini araştıran TIOBE istatistiklerine 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 Rails framework’ü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:
Kod:
5.times { print "Ruby'ti *seviyoruz* -- harika bir dil!" }

Çoğu dilde 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.
Ruby Esnektir
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ı (
Kod:
+

) operatörü ile yapıldığını biliyoruz. Ama eğer okunabilirlik amacıyla 
Kod:
topla

 gibi bir kelime kullanmak istiyorsanız Ruby’nin gömülü 
Kod:
Numeric

 sınıfına yeni bir metod ekleyebilirsiniz.
Kod:
class Numeric
 def topla(x)
   self.+(x)
 end
end

y = 5.topla 6
# y'nin değeri 11 oldu.

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 “Ruby kapamalarında, Lisp kültürüne saygı göstermek istedim3.” demiştir.
Kod:
search_engines =
 %w[Google Yahoo MSN].map do |engine|
   "http://www." + engine.downcase + ".com"
 end

Yukarıdaki kodda bir blok 
Kod:
do ... end

 yapıları içerisinde tanımlanıyor. 
Kod:
map

metodu 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 
Kod:
each

 metodunu gerçekleştiren her sınıf 
Kod:
Enumerable

modülünü de kendisine dahil edebilir, böylece döngülerde 
Kod:
each

 ile beraber kullanabileceği bir dizi metoda sahip olur.
Kod:
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.




Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  ruby kütüphaneler sempatik141 0 849 09-07-2017, Saat: 11:05
Son Yorum: sempatik141
  ruby belgeler sempatik141 0 915 09-07-2017, Saat: 11:03
Son Yorum: sempatik141
  Neden ruby sempatik141 0 1,026 09-07-2017, Saat: 10:23
Son Yorum: sempatik141

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2018 Tüm hakları saklıdır.