Ruby, nesneye yönelik, dinamik, reflektif ve esnek bir programlama dilidir. Ruby dili, Yukihiro Matsumoto tarafından Japonya'da tasarlanmaya ve geliştirilmeye başlanmıştır.
Paradigması | çok paradigmalı: nesneye yönelik, fonksiyonel, reaktif |
---|---|
İlk çıkışı | 1995 |
Tasarımcı | Yukihiro Matsumoto |
Geliştirici | Yukihiro Matsumoto ve diğerleri |
Kararlı sürüm | 3.3.0 (25 Aralık 2023 | ) )
, , | |
Ruby MRI, YARV, JRuby, Rubinius, Maglev, , , , RubyMotion, mruby | |
Etkilendikleri | Smalltalk, Perl, Lisp, Scheme, Python, , , Ada, , |
Etkiledikleri | Clojure, D dili,Groovy, , , , , Elixir, , Swift |
İşletim sistemi | Çapraz platform yazılımları |
Lisans | veya GNU Genel Kamu Lisansı v2 |
Olağan dosya uzantıları | .rb, .rbw |
Web sitesi | www.ruby-lang.org |
Sözdizimi olarak, Ada, Perl, Smalltalk, Lisp, gibi programlama dillerinden etkilenen Ruby; Python ile kimi ortak sözdizimi özelliklerine sahiptir. Fonksiyonel, nesneye yönelik, dinamik, reflektif gibi çoklu programlama paradigmalarını destekler.
Özgür bir yazılım olan Ruby; GPL ve ile lisanslanmıştır.
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ığı çevrimiç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 duyuruldu.
İlk genel 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çılma olanağına kavuştu.
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 aynı yılın Ekim ayında yayınlandı.
Özellikler
- 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 (, 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 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, , 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.
Örnekler
puts 'Merhaba Dünya'
puts 'Bir sayı girin.' sayi = gets.chomp puts sayi.to_i cikti_sayi = number.to_i + 1 puts cikti_sayi .to_s + 'daha büyük bir sayı.'
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:
Kaynakça
- ^ "Ruby 3.3.0 Released". Ruby Programming Language. 25 Aralık 2023 tarihinde kaynağından . Erişim tarihi: 25 Aralık 2023.
- ^ "Intro - D Programming Language 1.0 - Digital Mars". 25 Aralık 2018 tarihinde kaynağından . Erişim tarihi: 25 Temmuz 2014.
- ^ "About Ruby". 9 Ekim 2014 tarihinde kaynağından . Erişim tarihi: 12 Ekim 2014.
- ^ "Contents of /trunk/COPYING". http://svn.ruby-lang.org/. 20 Mart 2017 tarihinde kaynağından . Erişim tarihi: 18 Kasım 2014.
|eser=
dış bağlantı () - ^ . http://blog.nicksieger.com/. 5 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2014.
|eser=
dış bağlantı () - ^ . Programming Ruby. 3 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2014.
- ^ 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, p. 7)
Ayrıca bakınız
Dış bağlantılar
- Ruby24 Ocak 2008 tarihinde Wayback Machine sitesinde ., Ana sayfa (İngilizce)
- Ruby17 Şubat 2008 tarihinde Wayback Machine sitesinde ., Ana sayfa (Türkçe)
- Ruby belgelendirme sayfası26 Eylül 2020 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Ruby nesneye yonelik dinamik reflektif ve esnek bir programlama dilidir Ruby dili Yukihiro Matsumoto tarafindan Japonya da tasarlanmaya ve gelistirilmeye baslanmistir RubyParadigmasicok paradigmali nesneye yonelik fonksiyonel reaktifIlk cikisi1995TasarimciYukihiro MatsumotoGelistiriciYukihiro Matsumoto ve digerleriKararli surum3 3 0 25 Aralik 2023 6 ay once 2023 12 25 Ruby MRI YARV JRuby Rubinius Maglev RubyMotion mrubyEtkilendikleriSmalltalk Perl Lisp Scheme Python Ada C EtkiledikleriClojure D dili Groovy Elixir SwiftIsletim sistemiCapraz platform yazilimlariLisansveya GNU Genel Kamu Lisansi v2Olagan dosya uzantilari rb rbwWeb sitesiwww ruby lang org Sozdizimi olarak Ada Perl Smalltalk Lisp gibi programlama dillerinden etkilenen Ruby Python ile kimi ortak sozdizimi ozelliklerine sahiptir Fonksiyonel nesneye yonelik dinamik reflektif gibi coklu programlama paradigmalarini destekler Ozgur bir yazilim olan Ruby GPL ve ile lisanslanmistir TarihceRuby dilinin temelleri 1993 yilinda atilmistir Bu donemde nesneye dayali bir betik dili arayisi icinde olan Japon yazilimci Yukihiro Matz Matsumoto Perl Python gibi mevcut programlama dillerini arastirmasina ragmen aradigini bulamayinca yeni bir programlama dili tasarlamaya basladi Subat 1993 te Matz bir arkadasi ile yaptigi cevrimici sohbet esnasinda arkadasinin bu yeni dil icin onerdigi Ruby ismini uygun buldu ve bu isimle dili gelistirmeye basladi Aralik 1995 te Ruby nin 0 95 ile ilk genel surumu yayinlandi Ayni ay icerisinde pes pese 3 surum daha yayinlandi Bu surumler Japonya da yerel haber gruplarinda duyuruldu Ilk genel surumden tam bir yil sonra Aralik 1996 da Ruby 1 0 yayinlandi Anavatani Japonya da hizla taninan ve yayilan Ruby 1999 da Ingilizce yazilarin yayinlanmasi ile tum dunyaya acilma olanagina kavustu 2000 yilinda Japonya da Python dan daha populer bir dil haline gelen Ruby nin Ingilizce ile yazilan ilk kitabi Programming Ruby adiyla ayni yilin Ekim ayinda yayinlandi OzelliklerUbuntu da Ruby programlama diliNesne tabanli programlama kalitsallik mixin ve metaclass destegi 4 farkli tipte degisken tanimlanabilir Global class instance ve local Her sey bir ifade ve ayni zamanda obje Hata ve istisna yonetimi Garbage collection tr Cop toplama Yuksek tasinabilirlik Genis standart kutuphane destegi JSON XML CGI OpenSSL HTTP FTP RSS Perl benzeri dil seviyesinde dogal duzenli ifade destegi Rasyonel sayilar cok buyuk sayilar ile calisabilme Bununla beraber Ruby icindeki UTF 8 destegi sinirlidir kaynak belirtilmeli Sozdizimi ve yapisiRuby nin sozdizimi gunumuzde de yogun olarak kullanilan Perl ve Python ile buyuk benzerlikler gosterir Sinif ve metot tanimlamalari anahtar kelimelerle belirlenir Ruby de Perl in aksine degisken adlarinin basinda belirleyici karakterler gibi kullanmak bir zorunluluk degildir Python un tersine girintilerin dilin sozdiziminde bir etkisi yoktur Ruby tek coklu kalitima Java gibi izin vermemesine ragmen adi verilen nesnelerle bir cesit arayuz tanimlama imkani verir Ayrica paketler uzerinden de bu sinirlama gecistirilebilir Ruby nin tasariminda dikkate alinan diller Ada Lisp Perl ve Smalltalk dur Dolayisiyla bir betik dili yapisina da sahiptir Ruby nesneye yoneliklilik acisindan tamamen oyle olan Java ile Smalltalk arasi olup yuzde yuz bu paradigmayi uygulamamaktadir Orneklerputs Merhaba Dunya puts Bir sayi girin sayi gets chomp puts sayi to i cikti sayi number to i 1 puts cikti sayi to s daha buyuk bir sayi Kullanilabilecegi dizgelerRuby yorumlayicisi bircok isletim sistemi icin yazilmistir Hemen hemen tum isletim sistemlerinde calisabilir Bunlardan bazilari sunlardir Neredeyse tum Unix turevleri Microsoft platformlari DOS Windows 95 98 XP NT 2000 2003 Vista 7 8 8 1 10 Mac OS X BeOS Amiga OS 2 SymbianKaynakca Ruby 3 3 0 Released Ruby Programming Language 25 Aralik 2023 tarihinde kaynagindan Erisim tarihi 25 Aralik 2023 Intro D Programming Language 1 0 Digital Mars 25 Aralik 2018 tarihinde kaynagindan Erisim tarihi 25 Temmuz 2014 About Ruby 9 Ekim 2014 tarihinde kaynagindan Erisim tarihi 12 Ekim 2014 Contents of trunk COPYING http svn ruby lang org 20 Mart 2017 tarihinde kaynagindan Erisim tarihi 18 Kasim 2014 eser dis baglanti yardim http blog nicksieger com 5 Mayis 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 18 Kasim 2014 eser dis baglanti yardim Programming Ruby 3 Haziran 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 18 Kasim 2014 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 p 7 Ayrica bakinizRuby on RailsDis baglantilarRuby24 Ocak 2008 tarihinde Wayback Machine sitesinde Ana sayfa Ingilizce Ruby17 Subat 2008 tarihinde Wayback Machine sitesinde Ana sayfa Turkce Ruby belgelendirme sayfasi26 Eylul 2020 tarihinde Wayback Machine sitesinde