| 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 | 4.0 (25 Aralık 2025)[1]) |
| Önemli uygulamaları | Ruby MRI, YARV, JRuby, Rubinius, Maglev, IronRuby, MacRuby, HotRuby, RubyMotion, mruby |
| Etkilendikleri | Smalltalk, Perl, Lisp, Scheme, Python, CLU, Eiffel, Ada, Dylan, C++ |
| Etkiledikleri | Clojure, D dili,[2] Groovy, Nu, Falcon, Ioke, Mirah, Elixir, Julia dili, Swift |
| İşletim sistemi | Çapraz platform yazılımları |
| Lisans | Ruby Lisansı veya GNU Genel Kamu Lisansı v2 |
| Olağan dosya uzantıları | .rb, .rbw |
| Web sitesi | www.ruby-lang.org |
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.
Sözdizimi olarak, Ada, Perl, Smalltalk, Lisp, Eiffel[3] 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 Ruby lisansı[4] ile lisanslanmıştır.
Tarihçe#edit
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.[5]
İ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ı.[6]
Özellikler#edit

- 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ı#edit
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.[7]
Örnekler#edit
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#edit

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#edit
- ^ "Ruby 4.0.0 Released". Ruby Programming Language. 25 Aralık 2025 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Aralık 2025.
- ^ "Intro - D Programming Language 1.0 - Digital Mars". 25 Aralık 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Temmuz 2014.
- ^ "About Ruby". 9 Ekim 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ekim 2014.
- ^ "Contents of /trunk/COPYING". 20 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2014.
- ^ "RubyConf: History of Ruby". 5 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2014.
- ^ "Foreword". 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#edit
Dış bağlantılar#edit
- Ruby24 Ocak 2008 tarihinde Wayback Machine sitesinde arşivlendi., Ana sayfa (İngilizce)
- Ruby17 Şubat 2008 tarihinde Wayback Machine sitesinde arşivlendi., Ana sayfa (Türkçe)
- Ruby belgelendirme sayfası26 Eylül 2020 tarihinde Wayback Machine sitesinde arşivlendi.
Ruby programlama dili
TürevleriIDE Komodo Edit; NetBeans; RadRails; RubyMine Uygulamalar Capistrano; Chef; Discourse; GitLab; Hackety Hack; Homebrew; Interactive Ruby Shell; Pry; Puppet; Rake; Redmine; RSpec; RubyGems; RVM Kütüphaneler ve çatılar Adhearsion; Camping; eRuby (RHTML); Gosu; Hobo; Merb; Padrino; RailsBricks; RubyCocoa; Ruby on Rails; Ramaze; Shoes; Sinatra; QtRuby Sunucu arayüzleri mod_ruby; Mongrel; Phusion Passenger (mod_rails/mod_rack); Rack; WEBrick Kişiler Yukihiro Matsumoto; David Heinemeier Hansson; why the lucky stiff Diğer Application Archives; Document format; why's (poignant) Guide to Ruby; Ruby Central; RubyKaigi; RubyForge; Ruby License
This article is mirrored from “Ruby” on Türkçe Wikipedia, revision 37921658, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.
Synced with Wikipedia revision 37921658 · just now