Programlama dili Kotlin 1.8, eski alışkanlıkları ortadan kaldırır ve hata ayıklamayı genişletir
JetBrains, programlama dilinin Aralık ayında GitHub’da yayınlanan güncel sürümünün ardından Kotlin 1.8’in yayınlandığını resmen duyurdu. Yeni özellikler, hata ayıklamayı daha temiz hale getirmek için optimizasyonları devre dışı bırakan yeni bir derleyici parametresini içerir. Dizinleri yinelemeli olarak silmek veya kopyalamak için iki deneysel işlev de vardır.
Kotlin 1.8 ayrıca iki eski sorundan kurtulur. Bir yandan, 1.5 sürümünden beri kullanımdan kaldırılan eski arka uç artık mevcut değil. O sırada JetBrains, Kotlin’in tüm çoklu platform hedefleri için JVM IR (Ara Temsil) arka ucuyla Java Virtual Machine (JVM), JavaScript ve yerel uygulamalar için yeni bir ortak orta katmanı stabilize etmişti.
Eski JDK’lardan uzaklaşın
Öte yandan, Kotlin 1.8 artık güncelliğini yitirmiş JVM hedefleri 1.6 ve 1.7, yani sırasıyla JDK 6 ve 7 ile çalışmıyor. Dilin standart kitaplıkları artık JDK 8 için tek tip olarak derleniyor. kotlin-stdlib, kotlin-reflectve kotlin-script-* JDK 6 için derlendi. Daha güncel bir JDK için değişkenlere ihtiyacınız varsa, Bağımlılığı açıkça kullanmanız gerekiyordu. kotlin-stdlib-jdk7 veya kotlin-stdlib-jdk8 belirtmek. Bu girişler artık tutarlı olmalıdır kotlin-stdlib Değiştirilmek.
İşlevin performansının muhtemelen olumlu bir yan etki olduğu kanıtlanmıştır. typeOf() içinde kotlin-reflect önbelleğe alma artık dahili olmadığı için önemli ölçüde iyileştirildi, ancak ClassValue Takip eder.
Hata ayıklama için derleyici parametreleri
Yeni bir parametre, kodda hata ayıklamayı kolaylaştırmak için derleyicinin belirli iyileştirmeleri atlamasına neden olur. İlk adımda devre dışı bırakıldı -Xdebug değişkenleri potansiyel olarak engelleme işlevleriyle bağlantılı olarak kullanan eşyordamlar için yalnızca sözde “En İyileştirildi” özelliği (suspend Fonksiyonlar) optimize edildi.
Şu anda hala deneysel olarak işaretlenen, dizinlerin yinelemeli olarak silinmesi ve kopyalanmasıdır. deleteRecursively() sırasıyla copyToRecursively() için uzantı işlevleri olarak java.nio.file.Path. Deneysel özelliği etkinleştirme ve hata işleme ile ilgili ayrıntılar için Kotlin belgelerine bakın.
Apple dilleriyle etkileşim
JVM’si olmayan uygulamalar için Kotlin/Native, öncelikle Swift ve Objective-C’ye bağlanmayı amaçlayan birkaç ekleme getiriyor. Yeni tanıtılan ek açıklama @ObjCName diğer şeylerin yanı sıra, Kotlin belgelerindeki aşağıdaki örnekte gösterildiği gibi, işlevler ve yöntemler için Kotlin adının ötesinde Swift veya Objective-C için kendi adınızı tanımlamanıza olanak tanır:
@ObjCName(swiftName = "MySwiftArray")
class MyKotlinArray {
@ObjCName("index")
fun indexOf(@ObjCName("of") element: String): Int = TODO()
}
// Usage with the ObjCName annotations
let array = MySwiftArray()
let index = array.index(of: "element")
Ayrıca yeni açıklama @HiddenFromObjC Objective-C API’sinden bir Kotlin bildirimini tamamen gizler. Sonunda yönlen @ShouldRefineInSwift Apple’ın makrosuna NS_REFINED_FOR_SWIFT Swift’deki bir sarıcının orijinal bildirimi değiştirmesi gereken işlevler için. Kotlin ek açıklaması, bir işlevin şu şekilde olmasını sağlar: swift_private işaretlenir.
JetBrains orijinal olarak Java Virtual Machine (JVM) için Kotlin programlama dilini geliştirdi. Google, 2017’de Java’ya alternatif olarak Android Studio’ya resmi olarak dahil ettiğinden ve iki yıl sonra mobil işletim sistemi için ilk tercih ilan ettiğinden, özellikle Android’de başarılı oldu. Ancak bu arada, programlama dili çeşitli platformlar için tasarlandı: Kotlin/Native, özellikle iOS gibi yerleşik bir JVM’ye sahip olmayan platformları kapsayacak şekilde sanal makine olmadan yürütmeye olanak tanıyor.
Kotlin/JS ile JavaScript bağlantısı da mevcuttur ve Kotlin 1.2’den beri JVM ve JavaScript’i bir kod tabanı ile kapsayan çok platformlu projeler oluşturmak mümkündür. Bu ülkedeki forumlarda trolleri kendine çekmeyi seven isim, dilini St. Petersburg açıklarındaki bir adaya borçlu. Oradaki JetBrains ekibi başlangıçta Kotlin’i önemli ölçüde geliştirdi. Mart 2022’de JetBrains, Rusya’nın Ukrayna’daki saldırı savaşına yanıt olarak tüm Rusya şubelerini kapattı ve çalışanlarını diğer ülkelere taşıdı.
2020’de JetBrains, Kotlin için birleşik bir sürüm döngüsü başlattı: Şirketin her altı ayda bir 1.x sürümüyle bir özellik sürümü yayınlaması planlanıyor. 1.x.y0 (1.8.10, 1.8.20, …) sürüm numaralı artımlı sürümler, her iki ila üç ayda bir ve 1.x.yz (1.8.21 , 8) sürüm numaralı hata düzeltme sürümlerinin yayınlanması planlanmıştır. /1/22, …).
Kotlin 1.8’deki diğer yeni özellikler Kotlin blogunda bulunabilir. Değişikliklerin tam listesi GitHub deposunda bulunabilir.
(rm)
Haberin Sonu