سلام . زمانی که این مطلب رو مینویسم حدودا یکسال هست که با زبان گو یا golang آشنا شدم و در این مقاله قصد دارم تجربه های خودم در کار با این زبان به قلم بکشم تا شاید برای افرادی که قصد دارن این زبان رو یاد بگیرن راهنمایی باشه .

قبل تر ها ( زمان حکم فرماییی .net در ایران ) اسم Go رو زیاد میشنیدم و میگفتن که گوگل زبانی با نام گو ایجاد کرده اما آن روز ها گو زیاد هم معروف نشده بود و مثل امروز trend نشده بود , بعد از شروع برنامه نویسی موبایل و  اندروید به برنامه نویسی backend اپلیکیشن ها نیاز پیدا کردم , پس اولین انتخاب من PHP بود اما در ادامه فهمیدم PHP نمیتونه تمام نیاز های من رو برطرف کنه برای همین دنبال زبان و تفکر جدیدی بودم که اینبار با golang به صورت کامل آشنا شدم  ,  از آموزش های زبان گو بگم که زمانی که من شروع کردم حتی ۱ مقاله یا ویدئو یا مطلب به زبان فارسی وجود نداشت و گولنگ اولین زبانی بود که مجبور شدم با زبان انگلیسی یاد بگیرم و این دلیلی شد بر اینکه زبان تخصصی من قوی تر بشه هرچند چالش بزرگی بود و هنوز هم هست به دلیل اینکه در مورد زبان گو مقاله و آموزش های کمی پیدا میکنید که صرفه جنبه معرفی یا ترجمه دارن اکثرا .

حالا چرا زبان گو ترند شدن و به این سرعت محبوب شد ؟  در اصل گو برای برنامه نویسی سیستمی طراحی شده بود و چند سال زمان برد تا گو به صورت غیر رسمی کم کم به سمت وب حرکت کنه و این موضوع رو برای سازندگان خودش جا بندازه که گو در وب موفق تر میتونه باشه و شاید یکی از دلایل محبوبیت گو ورود به وب بود . دلیل بعدی این هست که وب سالهاست تحت سلطه PHP و  Pytone و Ruby و … هست و این زبان ها جوابگوی برخی نیاز های وب نبودن از جمله این نیاز ها پرفومنس خیلی بالا هست که در زبان های مفسری مثل PHP یا پایتون کمتر دیده میشه بنابر این شما اگر اپلیکیشنی یا سایتی داشته باشید که امکاناتی مثل چت آنلاین – استریم ویدئو – و … داشته باشه و اگر کاربران زیادی داشته باشید قطعا نیاز هست که سرور های گران قیمت با سخت افزار های خیلی قوی تهیه کنید و در آخر باز هم از نظر پرفرمنسی به خواسته خودتو نرسید . اما با استفاده از زبان go قطعا این مشکلات رو نخواهید داشت (البته این به معنی برتری گو نسبت به دیگر زبان ها نیست و با این حرف کاملا مخالف هستم و معتقدم هر زبان قابلیت ها و کاربرد خودش رو داره )

اینکه چرا زبان های با پرفورمنس بهتر قهرمان دنیای بکند وب نشدن و گولنگ شد دلایل مختلفی داره از جمله این دلایل :

  • مدرن بودن و منطقی بودن سینتکس
  • عدم نیاز به ماشین های مجازی یا مفسر
  • سرعت اجرای بالا
  • مستقل بودن از پلتفرم (با یکبار کد نویسی در تمام سیستم عامل ها اجرا میشه)
  • استفاده از منابع سخت افزاری کم
  • عملکرد عالی در MultiThreading و Concurrency
  • کد های کمتر نصبت به زبان های قبلی
  • رعایت استاندارد های برنامه نویسی
  • کد نویسی ساده تر و سطح بالا

خب البته این قابلیت های خوب زبان گو بود و قطعا این زبان کاستی هایی هم داره به طوری که اوایل که برنامه نویسی با زبان گولنگ رو شروع کردم فوق العاده هیجان انگیز و خوب بود برای من که تجربه کد نویسی با زبان هایی شبیه به گو رو نداشتم بعد ها که با Kotlin و Swift آشنا شدم بیشتر با این سبک مدرن کد نویسی آشنا شدم و فهمیدن golang کاستی هایی و مشکلاتی داره که این زبان رو از یک زبان همه منظوره به یک زبان خاص منظوره تغییر داده .

برای آشنایی بیشتر با این زبان به صفحه wikipedia مراجعه کنید .

در قسمت دوم مشکلات و قابلیت های این زبان رو به قلم میکشم .

نظر شما در مورد زبان گو چیه ؟

دسته‌ها: بلاگ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.