زبان برنامهنویسی نسبتا جدید Go، بسیاری از ویژگیهای خوب را فراهم کرده و عمدتا ویژگیهای بد را حذف کرده است. این برنامه سریع کامپایل میشود، اجرای سریعی دارد، شامل زمان اجرا پس شما نیاز به هیچ ماشین مجازی (VM) ندارید و همچنین داری بازیافت حافظه (garbage collection) است، دارای اینترفیسهای داینامیک میباشد. زبان Go کتابخانه های بسیار عالی دارد. به همین دلیل است که بسیاری از توسعهدهندگان بسیار علاقهمندند تا این زبان را یاد بگیرند.
در ضمن Golang موقعیت قویای در رابطه با ویژگیهایی که باعث سردرگمی و اشکالات میشود، دارد. Go مفاهیم مربوط به شیء گرایی (OOP) نظیر ارثبری و پلیمورفیسم و کلاس را حذف کرده است.
قراردادهای Go از " goroutines" یا پردازش سبک (light-weight processes) استفاده میکنند که میتوانند پردازشهای همزمان را انجام دهند و مثل threadها عمل کنند. Golang بسیار ساده است. برخی از ابزارهای با ارزش Go عبارتند از، " Gofmt" که به صورت خودکار کد را با قابلیت خوانایی بسیار خوب قالببندی میکند، " Go run" که کد را به صورت همزمان کامپایل و اجرا میکند، " Go get" که به صورت یکپارچه با GitHub ادغام میشود و " Godoc" که کد را به HTML یا متن ساده تبدیل میکند.
با توجه به توانایی Go برای پشتیبانی همزمانسازی (concurrency)، این زبان برای ایجاد و توسعه برنامههای بومی ابری (NCA یا Native Cloud Application)، سیستمهای توزیعشده و میکروسرویسها بهترین استفاده را دارد. چند شرکت قابل توجه که Go را پذیرفتهاند عبارتند از:
YouTube
BBC
Canonical
Nokia Siemens
Bitly
Heroku
CloudFlare
SmugMug
Feedbooks
Iron.io
Moovweb
AirBrake
Swirl.us
SoundCloud
ایجاد Go به دلیل نیاز به حل مسائل مربوط به مهندسی نرمافزار در گوگل و ارائه یک جایگزین برای C++ بوده است. همچنین، از آنجا که پردازندههای چند هستهای محبوبتر شدهاند، توسعه زبانی با سطح بهرهوری بالاتر لازم بود. برخی مشکلاتی که Go به آنها پرداخته است، زمان build آهسته، وابستگیهای کنترلنشده، کدهای تکراری، مشکل نوشتن ابزارهای خودکار و توسعه cross-language میباشند.
Go در مقابل رقبا:
هدف اصلی طراحی Go این است که برخلاف زبانهای رایج دیگر، کامپایل سریع را آسان میسازد. هنگام مقابسه با C++، Go میزان خطاهای زمان اجرا و وابستگیها را کاهش میدهد در حالی که امنیت حافظه را افزایش میدهد. Ruby رویکرد امنی را ارائه میدهد، اما نیاز به مفسر دارد و طول میکشد تا کامپایل شود. جاوا یکی دیگر از زبانهای برنامهنویسی محبوب است، با این حال، برای اجرای کد نیاز به ماشین مجازی دارد. Go این ضرورت را برطرف میسازد و همچنین پیچیدگیها و زیادهنویسیهای کد جاوا را از بین میبرد.
در کل Go زبان خوبی با قابلیتهای بسیاری است که روز به روز در حال پیشرفت میباشد و می توان با یادگیری یک زبان برای همه چیز برنامه نوشت، از سیستم عامل تا موبایل و وب .
این روزها توسعهدهندگان زیادی به دنبال یادگیری این زبان میباشند. گوگل سعی دارد تا این زبان را نسبت به آنچه که امروز شاهد آن هستید، بهبود بخشد. از این رو این زبان میتواند آینده روشنی داشته باشد.
نظرات کاربران در رابطه با این دوره