Swift
- Okunuşu
- svift
Kısaca
Swift, güvenlik ve hız için tasarlanmış, derlenen ve statik tipli bir dildir; çoğunlukla Apple platformları için uygulama geliştirmede kullanılır.
Swift programlama dili nedir?
Swift, Apple'ın 2014'te Objective-C'nin modern halefi olarak tanıttığı ve 2015'te açık kaynak yaptığı, genel amaçlı bir programlama dilidir. iPhone, iPad, Mac, Apple Watch ve diğer Apple platformlarında uygulama geliştirmenin ana dilidir; Linux ve Windows üzerinde de çalışır. Swift, varsayılan olarak güvenli, hızlı ve anlatımı güçlü olmayı hedefler; C'nin noktalama işaretlerinin çoğundan kaçınan temiz bir sözdizimi vardır.
Swift, tip çıkarımı olan statik tiplidir. Eksik olabilecek bir değer, Int? gibi bir isteğe bağlı (optional) tipe sahiptir ve kullanılmadan önce örneğin if let ile güvenli biçimde açılmalıdır; bu, beklenmeyen nil değerlerinin yol açtığı birçok çökmeyi önler. Swift değer tiplerini yoğun kullanır: struct ve enum değerleri atanırken kopyalanır, class örnekleri ise referansla paylaşılır. Swift 6'dan itibaren derleyici, eşzamanlı görevler arasındaki veri yarışlarını da derleme zamanında denetleyebilir.
Bellek, Otomatik Referans Sayımı (ARC) ile yönetilir. Her sınıf örneği kendisine kaç referans bulunduğunu sayar ve bu sayı sıfıra düştüğü anda serbest bırakılır; tıpkı içeride biri olduğu sürece ayrılmış kalan, son kişi çıkar çıkmaz boşalan bir toplantı odası gibi. ARC, iki nesnenin birbirine başvurduğu referans döngülerini temizleyemez; bu yüzden geliştiriciler bellek sızıntılarını önlemek için bir tarafı weak olarak işaretler.
ARC sıkça çöp toplamayla karıştırılır. Java, Go ya da C#'ta kullanılan izleyici (tracing) bir çöp toplayıcı kullanılmayan nesneleri bulmak için belleği periyodik olarak tarar; ARC ise referanslar eklenip kaldırıldıkça sayaçları günceller ve nesneleri deterministik olarak serbest bırakır. Swift ayrıca sıkça Kotlin ile kıyaslanır: ikisi de null güvenliği ve tip çıkarımı olan modern dillerdir, ancak Swift esas olarak Apple platformlarını hedeflerken Kotlin JVM ve Android merkezlidir.
Önemli noktalar
- Swift, Apple platformlarında uygulama geliştirmenin ana dilidir.
- Statik tiplidir ve isteğe bağlı tipleri (optional) sayesinde eksik değerler açıkça belirtilir.
- Bellek, izleyici bir çöp toplayıcıyla değil, Otomatik Referans Sayımı (ARC) ile yönetilir.
- Struct ve enum'lar paylaşılmak yerine kopyalanan değer tipleridir.
- Swift açık kaynaklıdır ve Linux ile Windows üzerinde de çalışır.
Örnek
struct Book {
let title: String
let rating: Int? // Optional: may be nil
}
let books = [Book(title: "Dune", rating: 5), Book(title: "Emma", rating: nil)]
for book in books {
// if let safely unwraps the optional before using it
if let rating = book.rating {
print("\(book.title): \(rating) stars")
} else {
print("\(book.title): not rated yet")
}
}Sık sorulan sorular
Swift yalnızca Apple cihazları için mi?
Swift çoğunlukla Apple platformlarında kullanılır, ancak dil açık kaynaklıdır ve Linux ile Windows üzerinde de çalışır; buralarda sunucu tarafı kodlarda ve komut satırı araçlarında kullanılır.
Swift ile Objective-C arasındaki fark nedir?
Objective-C, Apple platformları için C'nin üzerine mesaj iletme sözdizimiyle kurulmuş daha eski bir dildir. Swift daha yeni, daha güvenli ve daha özlüdür; ikisi aynı projede birlikte kullanılabilir.
Swift çöp toplama kullanır mı?
Hayır. Swift, hiçbir şey bir nesneye başvurmadığı anda onu serbest bırakan Otomatik Referans Sayımı'nı (ARC) kullanır. Referans döngülerini geliştiriciler, genellikle weak ya da unowned referanslarla kendileri kırmalıdır.
İlgili sayfalar
- KotlinProgramlama Dilleri, s. 18Kotlin, JVM üzerinde çalışan, Java ile sorunsuz uyum sağlayan, özlü ve statik tipli bir dildir; Android ve sunucu tarafı geliştirmede yaygın kullanılır.
- Memory Leakİşletim Sistemleri, s. 20Memory leak, bir programın artık ihtiyaç duymadığı belleği tutmayı sürdürdüğü hatadır; bellek kullanımı zamanla artar, sistem yavaşlayabilir ya da çökebilir.
- Çöp toplamaProgramlamanın Temelleri, s. 9Çöp toplama, dil çalışma zamanının programın artık kullanamadığı verileri bulup bu belleği yeniden kullanıma açtığı otomatik bellek yönetimidir.
- Tür çıkarımıProgramlamanın Temelleri, s. 53Tür çıkarımı, derleyicinin bir değişkenin ya da ifadenin türünü otomatik olarak belirlediği bir özelliktir; her tür bildirimini yazmanız gerekmez.
- OOPProgramlamanın Temelleri, s. 41OOP, yani nesne yönelimli programlama, kodu ilişkili verileri onlar üzerinde işlem yapan fonksiyonlarla birleştiren nesneler etrafında düzenleme yöntemidir.
- EşzamanlılıkProgramlamanın Temelleri, s. 19Eşzamanlılık, bir programın birden çok görevde örtüşen zaman dilimlerinde ilerleyebilme yeteneğidir; örneğin birçok kullanıcıya aynı anda hizmet vermek gibi.
- DartProgramlama Dilleri, s. 8Dart, Google'ın yerel koda ve JavaScript'e derlenen, statik tipli ve çöp toplamalı dilidir; en çok Flutter uygulamalarının dili olarak bilinir.
- Objective-CProgramlama Dilleri, s. 21Objective-C, Smalltalk tarzı mesajlaşma ekleyen nesne yönelimli bir C üst kümesidir ve Swift gelmeden önce macOS ile iOS uygulamalarının ana diliydi.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin