Репост из: Jakhongir Rakhmonov - IT
Keyingi o’rganishingiz kerak bo’lgan dasturlash tili
2020chi yili Discord jamoasi Go tilida yozilgan bir servisini Rustda yozib chiqishgani haqida va bu ularga tezlik va resurslar tarafdan juda katta foyda olib kelgani haqida yozishgan ekan: https://discord.com/blog/why-discord-is-switching-from-go-to-rust. Bu postda yozilganki Goda kamida har 2 minutda avtomatik tarzda bajariladigan “Garbage Collection” operatsiyasi (yani ishlatilmayotgan obyektlarni hotiradan tozalash) millionlab odamlar ishlatadigan servisning tezligiga salbiy tasir qilayotgan ekan. Rustda esa garbage collection yo’q. Rust endi keraksiz bo’lgan obyektlardan qutulishni boshqa usulda yechgan (ownership deyiladi). Shu sababli Discordning bu servisining Rustda yozilgan varianti tezlikni ancha oshirib yuborgan. Undan tashqari CPU kabi resurlar ham kamroq ishlatilishni boshlagan. Bu degani resurslar uchun kamroq $ ishlatiladi degani.
Yaqinda esa Microsoft ham Windowsning asosiy qismlarini Rustda qayta yozib chiqishni boshlashgani haqida yozishgan: https://www.theregister.com/2023/04/27/microsoft_windows_rust/. Windows kabi sistemalar asosan C va C++da yoziladi. Lekin bu tillarda xotiraga aloqasi bo’lgan “bug”lar yani xatoliklar chiqish ehtimoli juda katta. Chunki xotirani dasturchilar boshqaradi. Rustda esa bunday muammo yo’q. Tepada aytib o’tganimizdek Rust xotiraga umuman boshqacha usulda yondashgan. Natijada xotiraga aloqasi bor buglar chiqishi deyarli mumkin emas. Microsoft Azure CTOsi Mark Russinovich yangi loyihalar C/C++ da emas Rustda yolishi kerak deb e’lon qilgan xatto.
Huddi shu sababga ko’ra, Google ham o’zining Android operatsion tizimining qaysidir qismlarini Rustda yozishayotganini 2021chi yilda yozgan ekan: https://security.googleblog.com/2021/04/rust-in-android-platform.html. Postda aytilishicha C va C++da yozilgan loyihalarda xotiraga aloqasi bor buglar bu eng qiyin buglardan ekan va ular umumiy buglarning 70%ni tashkil qilar ekan. Rustda esa, yana bir bor aytaman, bunday buglar chiqishi juda juda qiyin. Tassavvur qilinga, shuchaki boshqa tilda yozganingiz uchun 70% buglar yo’qolib qolsa.
Men hozir Amazon Web Services kompaniyasida ishlayman va 2 haftacha oldin biz ishlayotgan yangi serviceni ishga tushirdik: https://aws.amazon.com/verified-permissions/. Endi AWSga kirsangiz EC2, S3 kabi legenda xizmatlari orasida kamina ishlagan AVP ham bir qatorda turadi 😌. Uzr, chalg’ib ketdim. Hullas bu servisni ham biz Rust tilida yozganmiz va AWS ichida Rustning obro’si kun sari ortib bormoqda.
Facebookda ham shu ahvol: https://engineering.fb.com/2021/04/29/developer-tools/rust/. Appleda ham shu ahvol: https://twitter.com/oskargroth/status/1301502690409709568.
Men bu postim bilan Rust eng zo’r til demoqchi emasman. Shuchaki trendga e’tiboringizni qaratmoqchiman.
Bu til qiyin tilligini ham hisobga olib qo’yishimiz kerak. Birinchi til sifatida juda qiyinlik qiladi menimcha. Shuning uchun ham mening maslahatim agar siz dasturchi bo’lsangiz va ishdan so’ng nimani o’rganishni bilmayotgan bo’lsangiz, Rustni o’rganib qo’yish menimcha zarar qilmaydi.
@jakhonrakhmonov
2020chi yili Discord jamoasi Go tilida yozilgan bir servisini Rustda yozib chiqishgani haqida va bu ularga tezlik va resurslar tarafdan juda katta foyda olib kelgani haqida yozishgan ekan: https://discord.com/blog/why-discord-is-switching-from-go-to-rust. Bu postda yozilganki Goda kamida har 2 minutda avtomatik tarzda bajariladigan “Garbage Collection” operatsiyasi (yani ishlatilmayotgan obyektlarni hotiradan tozalash) millionlab odamlar ishlatadigan servisning tezligiga salbiy tasir qilayotgan ekan. Rustda esa garbage collection yo’q. Rust endi keraksiz bo’lgan obyektlardan qutulishni boshqa usulda yechgan (ownership deyiladi). Shu sababli Discordning bu servisining Rustda yozilgan varianti tezlikni ancha oshirib yuborgan. Undan tashqari CPU kabi resurlar ham kamroq ishlatilishni boshlagan. Bu degani resurslar uchun kamroq $ ishlatiladi degani.
Yaqinda esa Microsoft ham Windowsning asosiy qismlarini Rustda qayta yozib chiqishni boshlashgani haqida yozishgan: https://www.theregister.com/2023/04/27/microsoft_windows_rust/. Windows kabi sistemalar asosan C va C++da yoziladi. Lekin bu tillarda xotiraga aloqasi bo’lgan “bug”lar yani xatoliklar chiqish ehtimoli juda katta. Chunki xotirani dasturchilar boshqaradi. Rustda esa bunday muammo yo’q. Tepada aytib o’tganimizdek Rust xotiraga umuman boshqacha usulda yondashgan. Natijada xotiraga aloqasi bor buglar chiqishi deyarli mumkin emas. Microsoft Azure CTOsi Mark Russinovich yangi loyihalar C/C++ da emas Rustda yolishi kerak deb e’lon qilgan xatto.
Huddi shu sababga ko’ra, Google ham o’zining Android operatsion tizimining qaysidir qismlarini Rustda yozishayotganini 2021chi yilda yozgan ekan: https://security.googleblog.com/2021/04/rust-in-android-platform.html. Postda aytilishicha C va C++da yozilgan loyihalarda xotiraga aloqasi bor buglar bu eng qiyin buglardan ekan va ular umumiy buglarning 70%ni tashkil qilar ekan. Rustda esa, yana bir bor aytaman, bunday buglar chiqishi juda juda qiyin. Tassavvur qilinga, shuchaki boshqa tilda yozganingiz uchun 70% buglar yo’qolib qolsa.
Men hozir Amazon Web Services kompaniyasida ishlayman va 2 haftacha oldin biz ishlayotgan yangi serviceni ishga tushirdik: https://aws.amazon.com/verified-permissions/. Endi AWSga kirsangiz EC2, S3 kabi legenda xizmatlari orasida kamina ishlagan AVP ham bir qatorda turadi 😌. Uzr, chalg’ib ketdim. Hullas bu servisni ham biz Rust tilida yozganmiz va AWS ichida Rustning obro’si kun sari ortib bormoqda.
Facebookda ham shu ahvol: https://engineering.fb.com/2021/04/29/developer-tools/rust/. Appleda ham shu ahvol: https://twitter.com/oskargroth/status/1301502690409709568.
Men bu postim bilan Rust eng zo’r til demoqchi emasman. Shuchaki trendga e’tiboringizni qaratmoqchiman.
Bu til qiyin tilligini ham hisobga olib qo’yishimiz kerak. Birinchi til sifatida juda qiyinlik qiladi menimcha. Shuning uchun ham mening maslahatim agar siz dasturchi bo’lsangiz va ishdan so’ng nimani o’rganishni bilmayotgan bo’lsangiz, Rustni o’rganib qo’yish menimcha zarar qilmaydi.
@jakhonrakhmonov