Scala (programlama dili): Revizyonlar arasındaki fark

[kontrol edilmemiş revizyon][kontrol edilmiş revizyon]
İçerik silindi İçerik eklendi
Falsisdev (mesaj | katkılar)
full sayfa değişikliği
Etiketler: Görsel Düzenleyici Anlam ayrımı bağlantıları
YBot (mesaj | katkılar)
1. satır:
'''Scala,''' hem [[Nesne yönelimli programlama dili|nesne yönelimli programlamayı]] hem de [[Fonksiyonel programlama|fonksiyonel programlamayı]] destekleyen, [[Statik (anlam ayrımı)|statik]] olarak yazılmış güçlü bir genel amaçlı [[Programlama dili|programlama dilidir.]] Kısa ve öz olacak şekilde tasarlanan '''Scala'''<nowiki/>'nın tasarım kararlarının çoğu [[Java (programlama dili)|Java]] eleştirilerini ele almayı amaçlıyor.
 
Scala kaynak kodu [[Java (programlama dili)|Java]] [[Bytecode|bayt koduna]] [[Derleyici|derlenebilir]] ve bir [[Java sanal makinesi|Java sanal makinesinde (JVM)]] çalıştırılabilir. '''Scala''' ayrıca bir [[Tarayıcı|tarayıcıda]] veya doğrudan yerel bir yürütülebilir dosyada çalıştırılmak üzere [[JavaScript]]'e derlenebilir. [[Java sanal makinesi|JVM]]'de '''Scala''', her iki dilde yazılmış kitaplıklara doğrudan '''Scala''' veya [[Java (programlama dili)|Java]] üzerinden ulaşılabilmesi için [[Java (programlama dili)|Java]] ile birlikte çalışabilirliği sağlar. [[Java (programlama dili)|Java]] gibi, '''Scala''' da [[Nesne yönelimli programlama|nesne yönelimli]]<nowiki/>dir ve [[C (programlama dili)|C dili]]<nowiki/>ne benzeyen [[küme ayracı]] olarak adlandırılan bir [[Sözdizim|sözdizimi]] kullanır. '''Scala 3'''<nowiki/>'ten beri, blokları yapılandırmak için girinti kullanma seçeneği de vardır ve kullanılması tavsiye edilir. [[Martin Odersky]], bunun '''Scala 3'''<nowiki/>'te sunulan en verimli değişiklik olduğunu söyledi.
 
[[Java (programlama dili)|Java]]'dan farklı olarak '''Scala''', [[:en:Currying|körleme]], [[:en:Immutability|değişmezlik]], [[:en:Lazy_evaluation|tembel değerlendirme]] ve [[:en:Pattern_matching|kalıp eşleştirme]] dahil olmak üzere [[Fonksiyonel programlama|fonksiyonel programlama dillerinin]] ([[Scheme]], [[Standart ML|Standard ML]] ve [[Haskell]] gibi) birçok özelliğine sahiptir. Ayrıca cebirsel veri türlerini, [[kovaryans]] ve [[kontravaryansı]], [[:en:Higher-order_type_operator|higher-order types]] (ancak [[:en:Parametric_polymorphism|higher-rank types]] değil), [[:en:Anonymous_type|anonim türler]]<nowiki/>i, [[:en:Operator_overloading|operatör aşırı yüklemesi]]<nowiki/>ni, isteğe bağlı parametreleri, [[:en:Named_parameter|adlandırılmış parametreleri,]] [[:en:Raw_string|ham dizeleri]] ve yalnızca deneysel bir istisnayı destekleyen gelişmiş bir tür sistemine sahiptir.
 
'''Scala''' adı, [[ölçeklenebilirlik]] ve dilin bir [[portmanteau]] olup, kullanıcılarının talepleriyle büyümek üzere tasarlandığını ifade eder.