Rust (programlama dili)

Vikipedi, özgür ansiklopedi
Rust
Resmi Rust logosu
ParadigmasıFonksiyonel, imperative, yapısal
İlk çıkışı7 Temmuz 2010 (13 yıl önce) (2010-07-07)
TasarımcıGraydon Hoare
GeliştiriciRust Vakfı
Kararlı sürüm1.77.2[1] Bunu Vikiveri'de düzenleyin
Tip sistemiStatik, Tip belirleme
EtkilendikleriAlef, C#, C++, Cyclone, Erlang, Haskell, Limbo, Newsqueak, OCaml, Ruby, Scheme, Standard ML, Swift
EtkiledikleriCrystal, Elm, Idris, Spark, Swift, Project Verona, Zig, PHP
Uygulama diliRust
İşletim sistemiÇapraz platform
LisansMIT Lisansı
Olağan dosya uzantıları.rs, .rlib
Web sitesirust-lang.org

Rust; açık kaynak kodlu, çoklu paradigmalı, ilk olarak Mozilla tarafından dizayn edilen ve Rust Foundation tarafından geliştirilmekte olan; performansa, güvenliğe ve eş zamanlı işlem yapabilmeye odaklanmış bir sistem programlama dilidir.[2] Rust, söz dizimi olarak C++ diline benzemektedir. Rust, "güvenli, pratik ve hızlı" bir dil ortaya koymak amacı ile tasarlanmıştır.[3][4][5][6]

Rust dili, Mozilla çalışanı Graydon Hoare'ın kişisel bir çalışması olarak başlarken, Mozilla bu projeye 2009 yılında sponsor olmuştur.[7] 15 Mayıs 2015 tarihinde ilk stabil sürümü 1.0 yayınlanmıştır.[8]

Rust, 2016 yılından beri Stack Overflow'un yazılımcıların en çok sevdiği yazılım dili sıralamasında ilk sıradadır.[9][10][11][12][13]

Tasarımı[değiştir | kaynağı değiştir]

Rust, yüksek derecede güvenli eşzamanlı sistemler geliştirmeye odaklanmış bir yazılım dilidir. Temel amaç sistem korunurluluğunu ve sürdürülebilirliğini sağlarken hız ve verimden ödün vermemektir. Sistem korunurluluğu, diğer dillerde örneğine az rastlanan bir bellek kontrol sistemi ile sağlanmaktadır. Bu sistemin içindeki önemli noktalara kaynak edinme başlatmadır (Resource acquisition is initialization), afin tip sistemi (Affine type System) ve mülkiyet sistemi[14] örnek verilebilir.[15][16] Projelerin sürdürülebilirliği, güçlü tip sistemi ve soyutlamalar ile sağlanmaktadır. Tip sisteminin önemli özellikleri cebirsel veri türleri (sum types) ve "trait" adı verilen güçlü arayüzlerdir. Rust dili, Python ve Java gibi dillerin aksine sınıflar veya nesne tabanlı programalama paradigmasını doğrudan destekleyen yapılar bulundurmaz, Go dilinde olduğu gibi dahil etme (composition) yöntemini tercih eder.

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ "Announcing Rust 1.77.2" (İngilizce). 9 Nisan 2024. Erişim tarihi: 11 Nisan 2024. 
  2. ^ Noel (8 Temmuz 2010). "The Rust Language". Lambda the Ultimate. 18 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Ekim 2010. 
  3. ^ "The Rust Programming Language". 18 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ekim 2012. 
  4. ^ "Doc language FAQ". 20 Temmuz 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ekim 2012. 
  5. ^ "Rust Programming Language". www.rust-lang.org (İngilizce). 4 Eylül 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ocak 2021. 
  6. ^ "github". 26 Haziran 2014 tarihinde kaynağından arşivlendi. 
  7. ^ "Project FAQ". 14 Eylül 2010. 20 Temmuz 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ocak 2012. 
  8. ^ "Release 1.0.0 · rust-lang/rust". github.com. 19 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mayıs 2015. 
  9. ^ Stack Overflow 2016 Anketi, 18 Mart 2016 tarihinde kaynağından arşivlendi, erişim tarihi: 8 Mart 2020 
  10. ^ Stack Overflow 2017 Anketi, 29 Mayıs 2019 tarihinde kaynağından arşivlendi, erişim tarihi: 8 Mart 2020 
  11. ^ Stack Overflow 2018 Anketi, 6 Mart 2020 tarihinde kaynağından arşivlendi, erişim tarihi: 8 Mart 2020 
  12. ^ Stack Overflow 2019 Anketi, 7 Mart 2020 tarihinde kaynağından arşivlendi, erişim tarihi: 8 Mart 2020 
  13. ^ "Stack Overflow Developer Survey 2020". Stack Overflow. 29 Ocak 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ocak 2021. 
  14. ^ "Understanding Ownership - The Rust Programming Language". doc.rust-lang.org. 22 Ocak 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ocak 2021. 
  15. ^ "RAII - Rust By Example". doc.rust-lang.org. 21 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ocak 2021. 
  16. ^ "The Pain Of Real Linear Types in Rust". gankra.github.io. 10 Ekim 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ocak 2021.