مهندس نرم افزار , برنامه نویس Full Stack , عاشق تکنولوژی ....
چرا GoLang ؟
یکی از زبان های برنامه نویسی که من عاشق کار کردن با اون هستم GoLang !؟ یه زبان برنامه نویسی قدرتمند و عالی و در عین حال ساده و قابل فهم.
یادمه بعد از اولین پروژه ای که با Golang انجام دادم از کارم کاملا راضی بودم طوری که انگار خیلی وقت بود با Go کار کرده بودم. همین موضوع باعث شد که بار های بعد هم سراغ Go برم .
نمیخوام درباره موارد ساده ای مثل GoPath یا سیستم ماژول های موجود در Go یا ... باقی مواردی که داخل اکثر مقاله ها هست صحبت کنم مواردی که باعث شد من به شخصه برای پروژه هام از Go استفاده کنم شاید اینها باشن :
- اول اینکه با GoDoc میتونین خیلی ساده و آسون مستندات پروژتون رو آماده کنین اگر با مواردی مثل PHPDoc یا حتی JavaDoc کار کرده باشین میتونین متوجه بشین که کار با GoDoc چقدر بهتره.
- بازدهی یا Performance برنامه نوشته شده در پروژه های Go میتونه عالی باشه در واقع بزارین اینطور بگم Go Lang حتی از نسخه 2 و 3 Python هم سریعتره! بله درست خوندید یکی از دلایل این قضیه وجود scalability یا مقیاس پذیری بالاتر CPU در GoLang ,یا میشه به مکانیسم های همپوشانی (concurrency ) اشاره کرد
حتی Goroutine به نسبت Python Threads خیلی بهتر عمل میکنه و منابع مقرون به صرفه ای به نسبت کارش مصرف میکنه که باعث میشه مصرف CPU و RAM کمتری داشته باشین. درحالی که این منابع مصرفی رو در Python Threads میتونم بگم باید ضربدر 10 کنین که مطمئنا هزینه ها هم بالاتر میره !!!
علاوه بر این برای مثال سرعت کامپایل شدن یک میکروسرویس بزرگ نوشته شده با Golang چیزی حدود 6 ثانیس که عالیه.
- با وجود Gofmt خیلی راحت و مرتب تر یک فرمت مناسب برای کد های نوشته شدتون دارین.
- کامپایل شدن پروژه به یک فایل Binary , که خیلی راحت با اپلود اون روی سرور بدون دردسر نصب وابستگی ها میتونین پروژه رو اجرا کنین.
- گوگل Go Lang رو به عنوان یک زبان برنامه نویسی مدرن برای حل مشکلات رایانش ابری راه اندازه کرده بود , نکته همینجا بود Go یک زبان برنامه نویسی مدرن و منطبق با آیندس که خیلی خوب با معماری سخت افزار های جدید آشناس.
جدای از این مواردی که گفته شد اصل کار اینجاس که Go برای توسعه وب عالیه میتونید از مواردی مثل PHP به Go کوچ کنین و پروژه هایی با performance بالاتر و بهتر داشته باشین حتی میتونین اسکریپت های نوشته شده با Go رو در کنار php اجرا کنین .
البته این رو هم بگم که Go فقط مختص به برنامه نویسی Backend نیست . میتونید حتی برای قسمت FrontEnd هم از Golang استفاده کنین .
(این گزینه رو حتما طی یک مقاله کامل و مفصل توضیح میدم)
جمع بندی
بدون شک Golang برای توسعه موارد زیر عالیه و پرفرمنس بالایی داره , پیشنهاد میشه استفاده کنین :
- command line scripting
- web development
- network server applications
- .....
مطلبی دیگر از این انتشارات
الو، Docker؟ (ارتباط GoLang با api داکر)
مطلبی دیگر از این انتشارات
کتابخانه های استاندارد در Go (بخش دوم)
مطلبی دیگر از این انتشارات
جنریک ها در گولنگ