Nega Go o'rganish kerak?

Nega Go o'rganish kerak?
Rasm manbai

Go - nisbatan yosh, ammo mashhur dasturlash tili. tomonidan so'rov ma'lumotlari Stack Overflow, aynan Golang dasturchilar o'zlashtirmoqchi bo'lgan dasturlash tillari reytingida uchinchi o'rinni egalladi. Ushbu maqolada biz Go-ning mashhurligi sabablarini tushunishga harakat qilamiz, shuningdek, bu til qayerda ishlatilishini va nima uchun uni o'rganishga arziydi.

Biroz tarix

Go dasturlash tili Google tomonidan yaratilgan. Aslida, uning to'liq nomi Golang "Google tili" ning hosilasidir. Eʼlonda til yosh deb atalganiga qaramay, bu yil oʻn yoshga toʻldi.

Go yaratuvchilarning maqsadi yuqori sifatli dasturiy ta'minot yaratish uchun ishlatilishi mumkin bo'lgan sodda va samarali dasturlash tilini ishlab chiqish edi. Go yaratuvchilardan biri Rob Pikning aytishicha, Go kompaniyasining nisbatan yangi bitiruvchilari bo'lgan va Java, C, C++ yoki Python tillarini biladigan dasturchilar uchun mo'ljallangan. Ular uchun Go - bu siz tezda tushunadigan va ko'nikishingiz mumkin bo'lgan til.

Dastlab, bu Google ichidagi vosita edi, ammo vaqt o'tishi bilan u korporatsiyaning tubidan paydo bo'ldi va ommaga ma'lum bo'ldi.

Tilning afzalliklari

Golang juda ko'p afzalliklarga ega, ham taniqli, ham unchalik taniqli bo'lmagan.

Oddiylik Aslida tilni yaratishdagi asosiy maqsad ham shu edi va unga erishildi. Go juda oddiy sintaksisga ega (ma'lum taxminlar bilan), shuning uchun ilovalar boshqa tillarga qaraganda tezroq ishlab chiqilishi mumkin. Va bu erda ikkita qiziqarli nuqta bor.

Birinchidan, Golangni dasturlash bo'yicha to'liq boshlovchi - umuman hech qanday tilni bilmaydigan va endigina dasturchi bo'lishni rejalashtirgan odam juda tez o'rganishi mumkin. Go haqida aytish mumkinki, u deyarli PHP yoki hatto Paskal kabi murakkab emas (nisbatan aytganda), lekin C++ kabi kuchli.

Ikkinchidan, Go-ni allaqachon bir yoki bir nechta tillarni biladigan "shakllangan dasturchi" o'zlashtirishi mumkin. Ko'pincha ishlab chiquvchilar Go-ni Python yoki PHP-ni o'zlashtirgandan keyin o'rganadilar. Bundan tashqari, ba'zi dasturchilar Python/Go yoki PHP/Go juftligini muvaffaqiyatli ishlatishadi.

Ko'p sonli kutubxonalar. Agar siz Go'da biron bir xususiyat etishmayotgan bo'lsangiz, ishni bajarish uchun ko'plab kutubxonalardan birini ishlatishingiz mumkin. Go'ning yana bir afzalligi bor - siz C kutubxonalari bilan osongina o'zaro aloqada bo'lishingiz mumkin. Hatto Go kutubxonalari C kutubxonalari uchun o'ramlar degan fikr ham mavjud.

Kod tozaligi. Go kompilyatori kodingizni toza saqlashga imkon beradi. Masalan, foydalanilmagan o'zgaruvchilar kompilyatsiya xatosi hisoblanadi. Go ko'pgina formatlash muammolarini hal qiladi. Bu, masalan, saqlash yoki kompilyatsiya qilishda gofmt dasturi yordamida amalga oshiriladi. Formatlash avtomatik ravishda tuzatiladi. Bularning barchasi haqida ko'proq ma'lumotni qo'llanmada topishingiz mumkin. samarali.

Statik yozish. Go'ning yana bir afzalligi shundaki, u ishlab chiquvchining xato qilish ehtimolini kamaytiradi. Ha, dinamik terishga odatlangan dasturchi birinchi ikki kun ichida har bir o‘zgaruvchi va funksiya uchun ham, qolgan hamma narsa uchun ham turni e’lon qilishga majbur bo‘lganda g‘azablanadi. Ammo keyin bu erda doimiy afzalliklar mavjudligi ayon bo'ladi.

GoDoc. Hujjatlashtirish kodini sezilarli darajada soddalashtiradigan yordamchi dastur. GoDoc-ning katta afzalligi shundaki, u JavaDoc, PHPDoc yoki JSDoc kabi qo'shimcha tillardan foydalanmaydi. Yordamchi dastur hujjatlashtirilgan koddan olinadigan ma'lumotlarning maksimal miqdoridan foydalanadi.

Kodni saqlash. Oddiy va ixcham sintaksisi tufayli uni saqlash oson. Bularning barchasi Google merosi. Korporatsiya turli xil dasturiy mahsulotlar uchun juda ko'p kodga ega bo'lgani uchun, shuningdek, barchasini tartibga soluvchi o'n minglab ishlab chiquvchilar, texnik xizmat ko'rsatish muammosi paydo bo'ladi. Kod unda ishlaydigan har bir kishi uchun tushunarli, yaxshi hujjatlashtirilgan va qisqa bo'lishi kerak. Bularning barchasi Go bilan mumkin.

Shu bilan birga, Golangda sinflar yo'q (tuzilmalar, tuzilmalar mavjud) va merosni qo'llab-quvvatlamaydi, bu kodni o'zgartirishni sezilarli darajada osonlashtiradi. Bundan tashqari, istisnolar, izohlar va boshqalar yo'q.

Go'da nima yozishingiz mumkin?

Deyarli hamma narsa, ba'zi fikrlar bundan mustasno (masalan, mashinani o'rganish bilan bog'liq ishlanmalar - C/C++ va CUDA-da past darajadagi optimallashtirishga ega Python bu erda ko'proq mos keladi).

Qolgan hamma narsa yozilishi mumkin, bu ayniqsa veb-xizmatlar uchun to'g'ri keladi. Bundan tashqari, Go oxirgi foydalanuvchi uchun ham, demonlar, UI ni ishlab chiqish uchun ham ilovalarni ishlab chiqishga arziydi va platformalararo ilovalar va xizmatlarga mos keladi.

Golangga talab

Nega Go o'rganish kerak?
Vaqt o'tishi bilan tilga talab ortib bormoqda. Yuqoridagi rasmda mavjud bo'lgan kompaniyalardan tashqari, Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical va boshqalar Golang bilan ishlaydi.

“Biz biznesni kengaytirishga qaror qildik, mahsulotning jadal rivojlanishini ta'minlaydigan yangi texnologik platformani qurish biz uchun muhim. Biz Go’ga tezligi va ishonchliligi, eng muhimi, undan foydalanadigan dasturchilar auditoriyasi tufayli ishonamiz”, — degan edi Ozon vakillari 2018 yilda kompaniya Golangga o‘tishga qaror qilganidan keyin.

Xo'sh, daromad haqida nima deyish mumkin? Go dasturchisining maoshi o'tgan yili o'rtacha 60-140 ming rublni tashkil qilgan. ma'lumotlar "Mening doiram" 2017 yilga nisbatan bu ko‘rsatkich 8,3 foizga oshgan. O'sish 2019 yilda davom etishi mumkin, chunki ko'plab kompaniyalar Golang ishlab chiqaruvchilariga muhtoj.

Keyin nima?

Golangning rivojlanishi, albatta, to'xtamaydi. Bu tilni biladigan yaxshi mutaxassislarga bo'lgan ehtiyoj faqat ortib boradi, shuning uchun mutaxassis (boshlang'ich yoki professional) uchun ish topish qiyin bo'lmaydi. Aslida, ushbu bayonot bugungi kunda ham dolzarbdir, chunki IT bozorida ishlab chiquvchilarning doimiy etishmasligi mavjud.

Go boshlang'ich dasturchilar uchun ham, bir yoki bir nechta dasturlash tillarini biladigan mutaxassislar uchun ham yaxshi. Deyarli har qanday dasturchi uni o'rganishi yoki qayta o'rganishi mumkin.

Maqola o'qituvchi bilan birgalikda tayyorlandi Golang kursi GeekBrains-da Sergey Kruchinin tomonidan, buning uchun unga katta rahmat!

Manba: www.habr.com

a Izoh qo'shish