Rust (programlama dili)

Vikipedi, özgür ansiklopedi
Rust
Rust programming language black logo.svg
Resmi Rust logosu
Paradigması Fonksiyonel, imperative, yapısal
İlk çıkışı 7 Temmuz 2010 (11 yıl önce) (2010-07-07)
Tasarımcı Graydon Hoare
Geliştirici Rust Vakfı
Kararlı sürüm 1.58.0[1] Edit this on Wikidata
Tip sistemi Statik, Tip belirleme
Etkilendikleri Alef, C#, C++, Cyclone, Erlang, Haskell, Limbo, Newsqueak, OCaml, Ruby, Scheme, Standard ML, Swift
Etkiledikleri Crystal, Elm, Idris, Spark, Swift, Project Verona, Zig, PHP
Uygulama dili Rust
İşletim sistemi Çapraz platform
Lisans MIT Lisansı
Olağan dosya uzantıları .rs, .rlib
Web sitesi rust-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.58.0". 
  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. 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.