هل تستحق لغة Go كل هذا الاهتمام ؟

لفتت هذه اللغة انتباهي منذ حوالي عامين عندما أردت إنجاز بعض المهام باستخدام لغة سهلة وبسيطة كبايثون دون التضحية بسرعة التنفيذ. وقررت منذ بضعة أشهر تعلمها وحقيقة أعجبت باللغة جدًا حيث تجمع البساطة والأمان وسرعة التنفيذ ومكتبة قياسية كبيرة.

توصف Go بأنها Modern C لأنها تجمع قوة لغة سي مع البساطة والأمان للغات الحديثة.

البرمجة الكائنية (أو بالأحرى شبه الكائنية عبر الـ interfaces) في لغة Go تتخذ شكلًا مختلفًا وبسيطًا ومثيرًا للاهتمام.

التنفيذ المتزامن Concurrency أحد الخصائص الجوهرية للغة والتي تم وضعها ضمن الأولويات عند تصميم اللغة.

اللغة مستخدمة بكثافة في العديد من المجالات. كتطبيقات الويب والتطبيقات المكتبية.

ما هي تجاربكم مع هذه اللغة وهل جربتم بناء مشاريع كبيرة باستخدامها ؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

أكثر ما أعجبني هو امكانية الـ compiler بناء التطبيق لنظام آخر غير الذي تعمل عليه الآن. يسمى هذا cross-compilation.

مثلًا أنا أبني تطبيقات ويندوز في نظام لينكس. أراحني هذا من عناء استخدام الأجهزة الافتراضية.

معتز أضف ردا

كتبت بها عدة برامج، ومعظمها عبارة عن برامج صغيرة (أقل من 2000 سطر لكل برنامج) مثل خدمات ويب من نوع Micro-services معظمها كان بديلاً لخدمات ويب كانت مكتوبة بلغة جافا وكانت بها مشاكل عدم استقرار لاعتماد جافا على مخدم Tomcat الغير مستقر. كانت النتيجة بأن البرامج المكتوبة بلغة Go أسرع في التنفيذ وأقل في استخدام الذاكرة وتعمل لعدد من اﻷشهر لا تتوقف إلا بإعادة تشغيل المخدم.

النوع اﻵخر هي برامج تعمل في الخلفية Background services و أخرى تعمل كل فترة، مثلاً كل ساعة أو كل دقيقة لإجراء وظيفة محددة.

انطباعي عنها أنها لغة ممتازة في هذه المجالات التي استخدمتها فيها، لكنها معقدة قليلاً في مجال الويب مقارنة بلغة جافا.

هذا أحد البرامج، عبارة عن خدمة ويب يُستخدم في برنامج لاستقبال مكالمات عملاء Call Center معتمد على نظام Asterisk النُسخة اﻷولى كانت مكتوبة بلغة جافا، قمت بإعادة كتابة ذلك البرنامج بلغة Go :

استخدمها فقط في مسابقات و مواقع حل المشاكل (solving problems) و لم استخدمها قط في مشروع حقيقي

و لكن هي حقا سهله و ليست معقده