Go dasturlash tili
go-lang.uz — Go dasturlash tilini o‘zbek tilida o‘rganish uchun tayyorlangan qo‘llanma. Ushbu sahifada Go qanday paydo bo‘lgani, nima sababdan ishlab chiqilgani va bugun qayerlarda ishlatilishi haqida tanishamiz.
Go tarixi
Go tarixi 2007-yilda Google’da boshlangan. Robert Griesemer, Rob Pike va Ken Thompson katta dasturiy loyihalarda uchraydigan muammolarni hal qilish uchun yangi dasturlash tili ustida ishlay boshlagan.
Til 2009-yil noyabr oyida ochiq kodli loyiha sifatida ommaga taqdim etildi. Go 1 versiyasi esa 2012-yil mart oyida chiqarildi. Shu versiyadan boshlab tilning asosiy qoidalari barqaror saqlanib kelmoqda.
Go Google’da ishlab chiqilgan bo‘lsa ham, u faqat Google’ga tegishli ichki vosita bo‘lib qolmadi. Ochiq kodli loyiha sifatida uning rivojlanishida turli kompaniya va mustaqil dasturchilar ham qatnashadi.
Go nima sababdan ishlab chiqilgan?
2000-yillarning oxiriga kelib Google’dagi dasturlar va ularning kod bazasi juda kattalashgan edi. Ayrim loyihalarni kompilyatsiya qilish ko‘p vaqt olar, bitta dastur ustida esa yuzlab dasturchilar ishlardi. C++, Java va Python kabi tillar foydali bo‘lsa-da, katta jamoa va katta server tizimlarida ish jarayoni murakkablashib borardi.
Shu paytda kompyuterlarda ko‘p yadroli protsessorlar keng tarqala boshladi. Internet xizmatlari ham ko‘payib, bir vaqtning o‘zida ko‘p so‘rovni boshqaradigan dasturlarga talab oshdi. Mavjud loyihalarda bu imkoniyatlardan foydalanish uchun ko‘p va murakkab kod yozishga to‘g‘ri kelardi.
Go quyidagi maqsadlar bilan ishlab chiqildi:
- katta loyihalarni tezroq kompilyatsiya qilish;
- katta jamoada o‘qilishi oson kod yozish;
- tarmoq va server dasturlarini sodda ishlab chiqish;
- bir vaqtning o‘zida ko‘p vazifani boshqarish;
- tayyor dasturni turli muhitlarga oson yetkazish.
Go barcha dasturlash tillarining o‘rnini bosish uchun ishlab chiqilmagan. Uning asosiy yo‘nalishi katta dasturlar, serverlar va tarmoq xizmatlarini sodda usulda ishlab chiqish edi.
Go yoki Golang?
Tilning rasmiy nomi — Go. Golang boshqa dasturlash tili emas. Bu nom avvalgi rasmiy sayt manzili golang.org bo‘lgani va qisqa “Go” so‘zini internetdan qidirish qiyin bo‘lgani sababli ommalashgan.
Maqolalar, suhbatlar va ish e’lonlarida “Golang” nomini ko‘p uchratishingiz mumkin. U ham aynan Go dasturlash tilini anglatadi.
Go qanday loyihalar uchun ishlatiladi?
Go ko‘proq server va tarmoq bilan bog‘liq loyihalarda ishlatiladi. Masalan:
- veb-saytlarning backend qismi va API serverlar;
- mikroservislar;
- bulutli infratuzilmani boshqarish vositalari;
- konteyner va orkestratsiya tizimlari;
- monitoring va kuzatuv xizmatlari;
- proksi, DNS va boshqa tarmoq dasturlari;
- terminalda ishlaydigan dasturlar;
- katta hajmdagi ma’lumotlarni qayta ishlaydigan xizmatlar.
Go kichik dasturlar uchun ham ishlatiladi. Lekin uning afzalliklari ko‘p tarmoq so‘rovi, bir nechta xizmat yoki katta jamoa bilan ishlaydigan loyihalarda ko‘proq bilinadi.
Go ishlatiladigan kompaniya va loyihalar
Quyidagi misollar Go’ning haqiqiy loyihalarda qanday vazifalar uchun tanlanganini ko‘rsatadi:
- Google. Go Google’ning turli ichki va tashqi xizmatlarida ishlatiladi. Rasmiy misollarda saytlar bilan ishlaydigan Core Data Solutions jamoasi va katta infratuzilmani boshqaradigan Site Reliability Engineering jamoasi keltirilgan.
- Cloudflare. Kompaniya Go’dan DNS infratuzilmasi, HTTP ulanishlarini siqish, SSL, yuklama sinovlari va boshqa tarmoq xizmatlarida foydalangan.
- Mercado Libre. Lotin Amerikasidagi elektron savdo kompaniyasi Go’da API xizmatlarini ishlab chiqqan. Uning xizmatlarni ishlab chiqish, joylashtirish va kuzatish uchun ishlatiladigan
Furyplatformasida ham Go muhim o‘rin tutadi. - Uber. Uber real vaqt ma’lumotlarini tahlil qilish uchun
AresDBtizimini Go’da ishlab chiqqan. Bu tizim kompaniyaning katta hajmdagi ma’lumotlar asosida tezkor hisobotlar tayyorlashiga xizmat qilgan. - ByteDance. Kompaniya mikroservislarni ishlab chiqish tajribasi asosida Go uchun
CloudWeGoloyihasini ochiq kodli shaklda chiqargan.
Go’da yozilgan ochiq kodli loyihalar orasida Docker, Kubernetes, Prometheus, etcd va Terraform bor. Bu vositalar konteynerlarni ishga tushirish, serverlarni boshqarish, monitoring qilish va infratuzilmani sozlash kabi vazifalarda ishlatiladi.
Bu ro‘yxat Go ishlatiladigan barcha kompaniya va loyihalarni qamrab olmaydi. U tilning amalda qaysi turdagi vazifalarda qo‘llanayotganini ko‘rsatish uchun berildi.
Nega Go tanlanadi?
Kompaniyalar Go’ni turli sabablarga ko‘ra tanlaydi. Ko‘p uchraydigan sabablar quyidagilar:
- til qoidalarining kam va tushunarli bo‘lishi;
- kodning tez kompilyatsiya qilinishi;
- tarmoq dasturlari uchun boy standart kutubxona;
- bir vaqtning o‘zida ko‘p vazifani boshqarish imkoniyati;
- dasturni bitta bajariladigan fayl ko‘rinishida yig‘ish;
- yangi dasturchining mavjud loyihani tushunib olishi nisbatan osonligi.
Bu imkoniyatlar Go har bir loyiha uchun to‘g‘ri tanlov degani emas. Masalan, brauzer interfeysi, mobil ilova yoki ma’lumotlar tahlilining ayrim turlari uchun boshqa tillar va vositalar qulayroq bo‘lishi mumkin. Til loyiha vazifasiga qarab tanlanadi.
Go’ni o‘rganishni boshlash
Ushbu qo‘llanmada Go’ni birinchi dasturdan boshlab o‘rganamiz. Keyingi darslarda o‘zgaruvchilar, shartlar, sikllar, funksiyalar, ma’lumot turlari, goroutine, channel, HTTP va API mavzulari bor.
Boshlash uchun Go darslariga kirish sahifasiga o‘ting. U yerda Go’ni o‘rnatish va birinchi dasturni ishga tushirish tartibi berilgan.