سبد خرید شما

icon
سبد خرید خالی است.

GO

زبان GO چیست؟

Go یک زبان برنامه نویسی ترجمه شده و دارای زباله جمع کن و همروند است که در شرکت گوگل و توسط رابرت گریسیمر، راب پایک و کن تامپسون توسعه داده می‌شود. زبان گولنگ به صورت Open Source منتشر شده تا برنامه نویس ها بتوانند آن را توسعه دهند. با استفاده از زبان برنامه نویسی Go می شود هر نوع نرم افزاری رو پیاده سازی کرد.

این زبان در نوامبر 2009 برابر با ‎آبان 1388معرفی شد و در حال حاضر در چند سامانه اجرایی گوگل استفاده می‌شود. مترجم گو از لینوکس، مک او اس، ویندوز و انواع سیستم‌های عامل بی‌اس‌دی مانند FreeBSD پشتیبانی می‌کند. از لحاظ معماری پردازنده نیز، معماری ایکس 86، معماری ایکس64، معماری آرم و معماری POWER که مخصوص به شرکت آی‌بی‌ام است، توسط مترجم گو پشتیبانی می‌شوند.

«go» به عنوان یک آزمایش توسط مهندسان گوگل رابرت گریسیمر، راب پایک و کن تامپسون توسعه پیدا کرده است. این زبان برنامه‌نویسی به شیوه‌ای طراحی شده است که ضمن برطرف کردن انتقادهای رایج از دیگر زبان‌ها، ویژگی‌های مثبت آنها را حفظ کند. زبان جدید شامل ویژگی‌های زیر بود:

  • به صورت ایستا نوشته شده، مقیاس پذیر به سیستم‌های بزرگ به عنوان جاوا و C ++
  • نیاز به محیط‌های توسعه یکپارچه ندارند، اما از آن‌ها حمایت می‌کنند پشتیبانی از شبکه و چند پردازش.

 

فلسفه تولید زبان GO

ایده‌ی طراحی زبان برنامه نویسیGo  اولین بار در سال 2007 توسط پیکه و تامپسون مطرح شد. این دو این ایده را با رابرت گریسمر که یکی از مهندسین گوگل بود در میان گذاشتند. این زبان یک زبان برنامه نویسی ترجمه شده بود که توسط راب بایک، رابرت گریسیمر و کن تامپسون در کمپانی گوگل توسعه داده شد.

 Go یک زبانی است که برای رفع مشکلات سایر زبان‌ها و برای نیاز‌های حال حاضر برنامه نویسان طراحی و نوشته شد. تناسب بین سرعت، سادگی و در عین حال قدرتمند بودن زبان از جمله عواملی بود که برنامه نویسان سعی داشتند در این زبان پیاده کنند. راب پیکه می‌گوید هدف اولیه از ساخت این زبان این بود که بتواند جایگاه قابل قبولی برای C++ باشد. در همان روز‌های اول معرفی زبان برنامه نویسیGo  این زبان، به عنوان زبان پشتیبان وارد بازار شد. اما چون تاکید برنامه بر سادگی بود بسیاری از برنامه نویسان موفق مانند پایتون و روبی نیز برای توسعه‌ی این زبان وارد تیم توسعه شدند.

اهداف ایجاد زبان گو شامل موارد زیر است.

  • پشتیبانی برای همروندی و ارتباط
  • زمان ترجمه کوتاه
  • کارایی زبان‌های ترجمه‌شده دارای سامانه نوع ایستا
  • آسانی برنامه‌نویسی زبان‌های پویا
  • امنیت نوع‌ها
  • امنیت حافظه
  • زباله جمع‌کن کارا، و بدون تأخیر

 

مزایای زبان برنامه نویسی GO

  • برقراری ارتباط و سطح دسترسی بیشتر با سخت افزار
  • افزایش سرعت در نوشتن و اجرای برنامه‌ها
  • نوشتن برنامه‌ها با کیفیت بهتر
  • نزدیک بودن به دو زبان انسان و کامپیوتر
  • ساخت برنامه‌های اندروید
  • دارای ویژگی‌های مختصر
  • املای آسان، تمیز و کارآمد
  • دارای مکانیسم‌های همپوشانی
  • قابلیت کامپایل شدن سریع به زبان ماشین
  • بهینه‌ترین زبان در زمینه‌های وب، سرور و شبکه
  • زبانی مختصرمفید، ساده و آسان.
  • دارای کتابخانه‌های فراوان و غنی

 

با زبان برنامه نویسی GO چه کارهایی می‌توانید انجام دهید؟

با توجه به همه منظوره بودن زبان گو، می‌توان از آن در امور گوناگون استفاده کرد. هر چند در مقایسه با پایتون، به نظر می‌رسد هنوز دامنه کاربردهای گو محدودتر باشد. برخی از کاربردهای گو، در ادامه بیان شده‌اند.

  • توسعه برنامه‌های چند سکویی
  • توسعه میکروسرویس‌ها
  • کمک به نوشتن  API‌های هم‌زمان

از جمله برنامه‌های مطرحی که با استفاده از زبان Go تولید شده‌اند عبارتند از: Youtube, Twitter, Dropbox, Mozilla, Canonical, Bitly, Redhat, Sound Clouad , loudFlare, Google, Tumblr و ده‌ها سرویس دیگر از Go استفاده می‌کنند.

هم‌چنین در لیست زیر نام تعدادی از شرکت‌هایی را مشاهده می‌کنید که در طراحی back-end خود از زبان go استفاده می‌کنند.

  • Google
  • YouTube
  • BBC
  • Canonical
  • Nokia Siemens
  • Bitly
  • Heroku
  • CloudFlare
  • SmugMug
  • Feedbooks
  • io
  • Moovweb
  • AirBrake
  • us

 

فرصت‌های شغلی زبان GO

بازار کار Golang‌ نسبت به سایر زبان‌های برنامه نویسی از گستره محدودتری برخوردار است اما، در سطح جهان میزان درآمد بالاتری نسبت به دیگر زبان‌ها از جمله جاوا دارد. محبوبیت این زبان در سال 1395 به اوج خود رسیده است و از آن زمان با الگوی ثابتی در سطح محبوبیت نسبتاً بالایی قرار دارد. با توجه به اینکه Go تنها چند سال عمر داشته و هم‌چنین در فهرست بهترین زبان‌های برنامه نویسی سال 1400 یا 2021 جای دارد، می‌توان بازار کار رو به رشدی را برای زبان برنامه نویسی Go انتظار داشت.

در نمودار زیر میانگین درآمد سالانه برنامه نویسان زبان‌های مختلف در دنیا را مشاهده می‌کنید که زبان برنامه نویسی گو با 66 هزار دلار جزو زبان‌های پر درآمد این لیست است.

یک برنامه‌نویس زبان Go به چه مهارت‌هایی نیاز دارد؟

به‌طور معمول شرکت‌ها از یک توسعه‌دهنده Go  انتظار دارند بر ترکیب نحوی این زبان تسلط کاملی داشته باشد. با مباحث مربوط به تست کد آشنا باشد. آشنایی تقریبا کاملی با معماری‌های مختلف نرم‌افزاری داشته باشد. چگونگی کار و استفاده از پایگاه داده‌های MYSQL یا PostgreSQL را داشته باشد. بداند که RESTful API  چیست و به چه دلایلی استفاده می‌شود. بر مباحث gRPC و Pub/Sub مسلط باشد. با توجه به این‌که برنامه‌نویسان Go در قالب یک تیم کار می‌کنند ضروری است در ارتباط با گیت اطلاعات کافی را داشته باشید. از دیگر مهارت‌هایی که به عنوان یک برنامه‌نویس Go باید به فکر یادگیری آن‌ها باشید به موارد زیر می‌توان اشاره کرد:

  • تسلط به  Goroutineها و Channel Patternها.
  • تجربه کافی در استفاده از چارچوب‌های Go و ابزارهایی مثل Dependency Management مانند Godep و Sltr و....
  • تسلط بر ابزارهای قالب‌بندی زبان Go
  • تسلط بر ابزارهای Code Generator برای زبان Go مانند  Stringer
  • تسلط بر چارچوب‌های محبوب مانند  Revel
  • آشنایی با بسته‌های روتر مانند  Gorilla Mux
  • توانایی در نوشتن توضیحات شفاف و قابل درک  Godoc
  • آشنایی با داکر و کوبرنتیس 
  • آشنایی نسبی با لینوکس

 

آمارهای زبان GO

در رنکینگ زبان‌های برنامه نویسی ژوئن 2015 که توسط RedMonk ارائه می‌شود که بر اساس تکرار استفاده در GitHub و Stack Overflow سنجیده می‌شود، زبان برنامه نویسی Go جایگاه پانزدهم را به دست آورده و در بین زبان‌های Scala وHaskell  قرار گرفته است.

در نمودار ارائه شده توسط وب سایت معتبر stackoverflow زبان‌های محبوب و زبان‌هایی که بیشترین خواستار را دارد نمایش داده شده است که در این بخش زبان مورد بحث Go رتبه سوم این بخش را کسب کرده است.

میزان درآمد سالانه برنامه نویسان زبان Go در ایالات محتده آمریکا برابر با 110 هزار دلار می‌باشد که با این میزان قادر به کسب رتبه پنجم شده است.

هم‌چنین در نمودار زیر درآمد برنامه نویسان برحسب تجربه آن‌ها به نمایش گذاشته شده است که برنامه نویسان Go با 7 سال تجریه کاری قادر به کسب بیش از 75 هزار دلار در سال هستند.

 

ورژن‌های زبان GO

این زبان توسط Robert Griesemer, Rob Pike و Ken Thompson در سال 2007 در گوگل طراحی شده است که در November 2009 به عنوان یک زبان برنامه‌نویسی متن‌باز راه اندازی شد. هدف اصلی طراحی زبان Golang، حل مشکل‌های دیگر زبان‌های برنامه‌نویسی و حفظ ویژگی‌های مفید آنها بود. نسخه 1.0 این زبان در March 2012 منتشر شد و دیگر نسخه این زبان در سال 2018 با نسخه 1.11.1 در دسترس عموم قرار گرفت، اما حالا این زبان با نسخه 1.14.6 در وب سایت رسمی قرار گرفته است.

فریم ورک ها

بیشتر بخوانید

Zharfa Academy-Zharfa Mag-ربات کوری (Kuri Robots)مجله علمی آکادمی ژرفا-
موضوع: ربات کوری (Kuri Robots)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/16
Zharfa Academy-Zharfa Mag-ربات موفلین (Moflin Robot)مجله علمی آکادمی ژرفا-
موضوع: ربات موفلین (Moflin Robot)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/14
Zharfa Academy-Zharfa Mag-ربات اسپات (Spot Robot)مجله علمی آکادمی ژرفا-
موضوع: ربات اسپات (Spot Robot)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/14
Zharfa Academy-Zharfa Mag-ربات Sphero BOLTمجله علمی آکادمی ژرفا-
موضوع: ربات Sphero BOLT
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/22
Zharfa Academy-Zharfa Mag-دوره‌های زمستانه آکادمی ژرفامجله علمی آکادمی ژرفا-
موضوع: دوره‌های زمستانه آکادمی ژرفا
نویسنده: المیرا افلاکی
تاریخ: 1400/10/23
Zharfa Academy-Zharfa Mag-مهاجرت برنامه‌نویسانمجله علمی آکادمی ژرفا-
موضوع: مهاجرت برنامه‌نویسان
نویسنده: المیرا افلاکی
تاریخ: 1400/03/12
Zharfa Academy-Zharfa Mag-IOT اینترنت اشیاء و IIOTمجله علمی آکادمی ژرفا-
موضوع: IOT اینترنت اشیاء و IIOT
نویسنده: المیرا افلاکی
تاریخ: 1400/03/15
Zharfa Academy-Zharfa Mag-بک لینک چیست؟مجله علمی آکادمی ژرفا-
موضوع: بک لینک چیست؟
نویسنده: المیرا افلاکی
تاریخ: 1400/03/18