Apple kompaniyasi Swift 5.2 dasturlash tilini taqdim etdi

Olma e'lon qilindi dasturlash tilini chiqarish Swift 5.2. Rasmiy qurilishlar tayyorlangan Linux (Ubuntu 16.04, 18.04) va macOS (Xcode) uchun. Manba matnlari tarqaldi Apache 2.0 ostida litsenziyalangan.

Yangi nashrni tayyorlashda asosiy e'tibor kompilyatorda diagnostika vositalarini kengaytirish, disk raskadrovka ishonchliligini oshirish, paketlar menejerida bog'liqlik bilan ishlashni yaxshilash va LSP (Language Server Protocol) qo'llab-quvvatlashini kengaytirishga qaratildi. Tilni qo'llab-quvvatlash qo'shildi qiymatlar deb ataladi ΠΈ imkoniyat funksiya sifatida β€œ\Root.value” kabi ifodalardan foydalanish.

Eslatib o'tamiz, Swift tili C va Objective-C tillarining eng yaxshi elementlarini meros qilib oladi va Objective-C bilan mos ob'ekt modelini taqdim etadi (Swift kodini C va Objective-C kodlari bilan aralashtirish mumkin), lekin avtomatik tillardan foydalanishda farqlanadi. xotirani ajratish va o'zgaruvchilar va massivlarning to'lib ketishini nazorat qilish, bu kodning ishonchliligi va xavfsizligini sezilarli darajada oshiradi. Swift shuningdek, yopishlar, umumiy dasturlash, lambda ifodalari, kortejlar va lug'at turlari, tezkor yig'ish operatsiyalari va funktsional dasturlash elementlari kabi ko'plab zamonaviy dasturlash usullarini taklif etadi. Linux versiyasi Objective-C Runtime bilan bog'lanmagan, bu tilni Objective-C-ni qo'llab-quvvatlamaydigan muhitlarda ishlatishga imkon beradi.

Swift ilovasi bepul LLVM loyihasi texnologiyalaridan foydalangan holda qurilgan. Yuqori samaradorlikni ta'minlash uchun Swift dasturlari Apple testlarida Objective-C kodidan 30% tezroq ishlaydigan mahalliy kodga kompilyatsiya qilinadi. Axlat yig'uvchi o'rniga Swift ob'ektga havolalarni hisoblashdan foydalanadi. Paketga paket menejeri kiradi Swift paket menejeri, Swift tilida kutubxonalar va ilovalar bilan modullar va paketlarni tarqatish, bog'liqliklarni boshqarish, avtomatlashtirilgan yuklash, komponentlarni qurish va ulash uchun vositalarni taqdim etadi.

Manba: opennet.ru

a Izoh qo'shish