İNTERNET TABANLI PROGRAMLAMA Dersi Ruby ve Ruby On Rails soru detayı:
SORU:
Ruby dilinin temel özellikleri nelerdir?
CEVAP:
• Tamamen nesne yönelimli bir dildir: Ruby,
tamamen nesne yönelimli bir dil olarak
tasarlanmıştır. Ruby içerisinde her şey bir
nesnedir ve kendisine ait özellikleri ve metotları
bulunmaktadır. Programcının fazladan bir şeyler
yapmasına gerek duyulmadan “sarmalama”
ilkesinin gereği olarak nesnelere ait özelliklerin
ve metotların dış ortamdan gizlenmesine imkân
tanır.
• Çok sayıda programlama paradigmasını
destekler: Ruby nesne yönelimli özelliklerinin
yanında fonksiyonel, zorunlu (imperatif) ve
yansıtıcı (reaktif) programlama paradigmalarını
da destekleyen bir yapıya sahiptir.
• Yorumlanan bir dildir: Yorumlanan programlama
dillerinde yazılmış olan bir kodun çalıştırılması
bilgisayarda yer alan yorumlayıcı adında bir
yazılım sayesinde gerçekleştirilir. Bu yazılım
derlenen dillerin aksine kodumuzun tamamını tek
seferde makine diline dönüştürmek yerine; bu
dönüştürme işlemini satır satır
gerçekleştirmektedir. Yine derlenen dillerde
kodumuzda yapacağımız en ufak bir değişiklik
bütün program kodunun tekrar derlenmesi
anlamına gelmektedir ki bu da geliştirme sürecini
oldukça yavaşlatmaktadır. Yorumlanan dillerde
ise bu durumun aksine yapılan değişiklik
herhangi bir zaman kaybına yol açmaz.
• Platform bağımsız bir dildir: Yorumlanan dillerin
en büyük artılarından birisi de makine kodunun
çalışma zamanında oluşturulması sayesinde
herhangi bir platforma bağlı kalma
zorunluluğunun ortadan kalkmasıdır. Yani Ruby
hemen hemen tüm platformlarda sorunsuz
çalışabilmektedir.
• Dinamik ve güçlü tiplemeli bir dildir: Ruby
çalışma zamanında değişkenlerin tipini kendi
başına belirleyebilmektedir. Böylece herhangi bir
tip tanımlamasına ihtiyaç duyulmamaktadır.
Ayrıca programın çalışması sırasında bir
değişkene atanan değer veya bir metodun geriye
döndürdüğü değer gibi tipler de değiştirilebilir.
Ruby veri türleri konusundaki bu üstün
esnekliğinin yanında hatalı kullanımın da önüne
geçebilmek adına güçlü tipleme sistemi
kullanmaktadır. Bu sayede birbiriyle işleme
sokulamayacak olan bazı tipler arasında işlem
yapılması gibi hataların oluşması da
engellenmektedir.