برمجة Go (Golang): ابدأ مع خليفة C

إفشاء: يساعدك دعمك في الحفاظ على تشغيل الموقع! نحصل على رسوم إحالة لبعض الخدمات التي نوصي بها في هذه الصفحة.


تم إنشاء لغة Go ، والمعروفة أيضًا باسم golang ، بواسطة Google في عام 2007 لبرمجة النظام. إنها لغة برمجة مفتوحة المصدر تعتمد بشكل كبير على C ، ولكنها مصممة لتكون أكثر إيجازًا وأمانًا.

على الرغم من أن Go مصمم أصلاً لبرمجة الأنظمة ، إلا أنه أصبح شائعًا بشكل متزايد مع تطوير تطبيقات الويب ويمكن العثور عليه في العديد من تطبيقات البرامج مفتوحة المصدر والتطبيقات التجارية.

بعض الشركات البارزة التي تستخدم Go داخل تطبيقاتها تشمل Google و Dropbox و CloudOS و MongoDB و Uber.

اذهب إلى أساسيات اللغة

استند Go إلى عدة لغات إلى جانب C: Pascal و Modula و Oberon و Newsqueak و Limbo. ومع ذلك ، وعلى الرغم من هذه التأثيرات ، فإن Go هي لغة فريدة تمامًا ومصممة خصيصًا لاحتياجات المبرمجين ، لجعل البرمجة أسهل وأكثر فاعلية.

وهي لغة وظيفية يتم تجميعها بشكل تقليدي ، وموجهة نحو الكائنات ، وتتميز بالكتابة الثابتة ، وجمع القمامة ، والتزامن ، وأمان الذاكرة ، وقراءة عالية. تشمل بعض المزايا الرئيسية لـ Go ما يلي:

  • بناء جملة موجزة وبسيطة.
  • أوقات ترجمة سريعة للغاية.
  • القدرة على تقسيم الخيوط الروتينية إلى خيوط فرعية ، مما يسمح بدرجة عالية من التوافق.
  • دعم مدمج للسلاسل والخرائط.
  • الوظائف هي كائنات من الدرجة الأولى.
  • يحتوي Go على مكتبة قياسية ضخمة ، بما في ذلك خادم الويب المدمج الخاص بها.
  • تدعم اللغة معظم أنظمة التشغيل وأجهزة الكمبيوتر الرئيسية.

مثال

إليك “Hello World!” الأساسية إلى حد ما برنامج يظهر كم يبدو Go مثل C و C ++:

الحزمة الرئيسية
استيراد "FM"

func main () {
var st = "مرحبا"
var st2 = "العالمية"
fmt.Println (ش + " " + st2 + "!")
}}

التاريخ

تم تصميم لغة برمجة Go من قبل ثلاثة مهندسين من Google: روبرت جريسمر وروب بايك وكين طومسون ، في محاولة لدمج أفضل أجزاء العديد من اللغات الشائعة ، مع حل العديد من المشكلات التي تم تحديدها بهذه اللغات.

على وجه الخصوص ، كان الثلاثة يهدفون إلى إزالة التعقيدات العديدة لـ C++.

تم الإعلان عن لغة Go لأول مرة علنًا في عام 2009. في ذلك الوقت ، تم إصدار مترجم Google Go كبيئة تطوير مفتوحة المصدر متاحة لأجهزة Linux و OS X و Windows و BSD و Unix. في عام 2015 ، تم إصدار إصدارات الهاتف المحمول من البرنامج أيضًا.

الموارد على الانترنت

مثل كل ما يتعلق بـ Google ، طور Go بسرعة مجتمع نشط ومخلص من المستخدمين.

هناك العديد من المبرمجين ذوي الخبرة في Go أكثر من مستعدين لتقديم المشورة وحتى توجيه أولئك الذين بدأوا للتو. وبالنسبة إلى مطوري Go المعتمدين ، هناك الكثير من المواقع حيث يمكنك مشاركة أفكارك والبحث عن وجهات نظر جديدة والتعلم من تجارب الآخرين.

  • GoUserGroups
    : يتضمن مورد Github هذا قائمة واسعة من مجتمعات برمجة Go حول العالم ، مع روابط لمواقعهم على الإنترنت.
  • اذهب ويكي
    : تحتفظ بها أعضاء مجتمع البرمجة Go ، يغطي هذا ويكي المفاهيم التمهيدية لتطوير Go ، بالإضافة إلى تقنيات البرمجة المتقدمة. كما أن لديها مجموعة كبيرة من الروابط إلى موارد إضافية ومواقع Go Wiki المتخصصة.
  • Go Forum: هذه مجموعة مناقشة نشطة للغاية لمبرمجي Go.
  • Women Who Go: يجمع هذا الموقع معلومات الاتصال الخاصة بالمجموعات عبر الإنترنت والمحلية خصيصًا للنساء اللواتي يبرمجن في Go (أو يرغبن في التعلم). يتميز بقائمة متزايدة من مجموعات اللقاء المحلية وخلاصات Twitter ومجموعات Facebook ومنتديات Slack.

كتب

على الرغم من كونها لغات برمجة جديدة نسبيًا ، هناك العديد من الكتب المتاحة على Go.

تفترض العديد من هذه الكتب معرفة البرمجة السابقة ، وبدلاً من تدريس مهارات البرمجة الأساسية ، تركز على الميزات الفريدة لـ Go.

تركز معظم الكتب على البرمجة الآلية ، والقصد الأصلي لـ Go ، ولكن كان هناك عدد من الكتب الأحدث التي تم إصدارها مع التركيز على برمجة الويب.

  • لغة Go Go للكاتب Alan Donovan و Brian Kernighan: يفترض هذا الكتاب بعض المعرفة البرمجية المسبقة ، ولكن ليس بأي لغة محددة. ويغطي المفاهيم الأساسية والعناصر الهيكلية والتوافق وميزات البرمجة المتقدمة. إلى جانب الدروس ، يحتوي الكتاب على مئات من أمثلة التعليمات البرمجية والتمارين العملية.
  • انطلق في العمل بواسطة Kennedy و Ketelsen و St Martin: تم تصميم هذا الكتاب للمطورين ذوي الخبرة ، ويتبع نهجًا عمليًا يوجه القارئ من خلال تطوير العديد من التطبيقات الواقعية لخوادم الشبكة ومواقع الويب.
  • ارتقي بتطبيقات الويب الخاصة بك مع Go by Mal Curtis: كما يوحي الاسم ، يركز هذا الكتاب بشكل خاص على تطوير الويب. كما يفترض أيضًا المعرفة السابقة بمفاهيم البرمجة الأساسية على الأقل ، ويعلم Go كوسيلة لبرمجة أفضل وأسرع ، مع التركيز على استراتيجيات التشفير الفعالة والفعالة.
  • إتقان Go Web Services من Nathan Kozyra: لمبرمجي الويب الحاليين الذين لديهم بالفعل بعض الخبرة مع Go ، تم تصميم هذا الكتاب للارتقاء بالتطوير إلى المستوى التالي. يستخدم Go لتطبيق مفاهيم البرمجة المتقدمة مثل الممارسات RESTful ، وتصميم API ، واستخدام البرامج الوسيطة ، واستخدام بيئات التدريج والتطوير ، وأمان خدمة الويب.

دروس

في حين أن معظم كتب برمجة Go مكتوبة للمبرمجين ذوي الخبرة ، فهناك الكثير من البرامج التعليمية عبر الإنترنت المتاحة لكل من المطورين المخضرمين والمبرمجين الأخضر.

حتى أن العديد من البرامج التعليمية تتضمن مترجمين على شبكة الإنترنت ، بحيث يمكن للطلاب اختبار الكود الخاص بهم أثناء التنقل.

  • جولة من Go: يستخدم هذا البرنامج التعليمي التفاعلي سلسلة من الشرائح والتمارين لتقديم المفاهيم الأساسية لـ Go. باستخدام المترجم المدمج ، يمكن للطلاب اختبار رمزهم. لن تجد الكثير في طريق مفاهيم البرمجة المتقدمة ، لكنها طريقة جيدة لترطيب قدميك.
  • Byte Size Tuts Golang Tutorials: تحتوي سلسلة Github هذه على برامج تعليمية ومقاطع فيديو YouTube على العديد من جوانب برمجة Go ، بما في ذلك خطوات تثبيت Mac ، والحزم ، وبناء الجملة ، والمصفوفات ، والمزيد.
  • Go Goground: إذا كنت تتطلع إلى اختبار بعض ترميز Go الجديد ، وربما الحصول على تعليقات للتحسين ، فهذا هو المكان المناسب للذهاب. يتيح لك هذا المترجم عبر الإنترنت كتابة التعليمات البرمجية وتشغيلها وحتى مشاركتها مع مجتمع Golang.org.
  • تعلم البرمجة أثناء التنقل: تغطي سلسلة دروس الفيديو القصيرة السريعة هذه المفاهيم الأساسية للبرمجة للطلاب المبتدئين مع التركيز على Go.

استنتاج

إن Go ليست المحاولة الأولى لحل تعقيد C و C ++ – ولن تكون الأخيرة.

ومع ذلك ، نظرًا لأنها تمتلك قوة Google وراءها ، وهي متاحة مجانًا على كل منصة حوسبة تقريبًا ، فهي بديل جيد لأي شخص يتطلع إلى تعلم لغة تقليدية ، ولكن مع سهولة Google.

فائدتها في برمجة الأنظمة وتطبيقات الويب ، إلى جانب سهولة تعلمها في بناء الجملة ، تجعل من لغة جذابة للمطورين المخضرمين والمبرمجين الجدد على حد سواء.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map