تعلم لغة Go بسهولة

نشره Fahad في
غلاف كتاب تعلم جو بسهولة

يسر فريق وادي التقنية أن يقدم لكم كتاب ”تعلم لغة Go بسهولة“ الكتاب العربي الوحيد المتكامل (على حسب معرفتنا) في لغة جو من شركة جوجل.

استغرق الكتاب قرابة السنة من الجهد المتواصل في الترجمة والمراجعة والتنسيق، ونقتبس من مقدمة الترجمة العربية:

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

جاءت لغة جو لتكون لغة عصرية ولكن في نفس قوة لغة السي، ولذا يحلو للبعض أن يطلق عليها ”سي العصرية“ وبدعم سخي وقوي من شركة جوجل، استطاعت أن تجذب اهتمام الكثير من الشركات والأفراد لتكون اللغة المعتمدة في تقنيات الحوسبة السحابية.

وكالعادة لا تتوفر العديد من المصادر العربية التعليمية لكل التقنيات الحديثة، ولكني آمل أن يكون هذا العمل باكورة أعمال أخرى كما حدث مع كتابتي ”تعلم بايثون بسهولة“ (للأسف لم يكتمل) عندما أطلقته في عام ٢٠٠٧م حيث لم تكن هناك العديد من الكتب العربية حول لغة بايثون في تلك الفترة، أما الآن ولله الحمد فقد توفرت العديد من المصادر الغنية والمتعمقة في لغة بايثون.“
 

محتوي الكتاب:

نفترض في هذا الكتاب أنك على علم بإحدى لغات البرمجة الأخرى و قد برمجت بها . سواء عملت بلغة تستخدم المترجم مثل c وc++‎ وjava ، أو بلغة تستخدم المُفسر مثل Python و Ruby و JavaScript ، لذلك نحن لن نشرح كل شيء كما لو كان الوضع للمبتدئ . ستكون بناء الجملة السطحية مألوف، وكذلك المتغيرات والثوابت، والتعبيرات، وتدفق التحكم، والوظائف.

الفصل الأول يشرح البنية الأساسية للغة جو . قُدم من خلال اثني عشر برامج للاستخدامات اليومية مثل القراءة والكتابة إلى الملفات، تهيئة النصوص، وإنشاء الصور، والتواصل مع عملاء الإنترنت والخوادم.

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

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

جو لديها نهج غير عادي للبرمجة الكائنة التوجه. فلا توجد وراثة الصفوف،أو في الواقع أي صفوف، فالكائنات ذات السلوك المعقد تصنع من الكائنات البسيطة بالتركيب ولكن ليس بالوراثة. ويمكن للدوال أن ترتبط بأي نوع مخصص من قبل المستخدم ،وليس فقط بالهياكل، والعلاقة بين أنواع الملموس والأنواع المجردة (واجهات) هو ضمني، لذا يمكن أن يفي نوع ملموس بواجهة لم يكن مصمم النوع على علم بها. يغطي الفصل السادس الدوال بينما يغطى الفصل السابع الواجهات.

ويعرض الفصل الثامن طريقة جو في التزامن، الذي يقوم على فكرة توصيل العمليات المتسلسلة (CSP)، التي تجسدها رويتينات جو goroutines والقنوات channels .

ويوضح الفصل التاسع الجوانب التقليدية للتزامن على أساس المتغيرات المشتركة.

ويصف الفصل العاشر الحزم، وآلية تنظيم المكتبات. ويبين هذا الفصل أيضا كيفية الاستفادة الفعالة من أداة go، والتي تقوم بالترجمة والاختبار، وقياس الأداء، وتنسيق البرنامج، والتوثيق، والعديد من المهام الأخرى، وكل ذلك من خلال أمر واحد.

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

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

يشرح الفصل الثالث عشر تفاصيل البرمجة منخفضة المستوى الذي يستخدم حزمة unsafe للتغلب على نظام أنواع جو، وعندما يكون ذلك مناسبا.

كل فصل يحتوي على عدد من التمارين التي يمكنك استخدامها لاختبار فهمك للغة Go، واستكشاف الأفكار الجديدة من أمثلة الكتاب.

رخصة الترجمة العربية:

الترجمة العربية مرخّصة برخصة المشاع الإبداعي نَسب المُصنَّف 4.0 دولي.

عن مؤلفين الكتاب:

ألان دونوفان، مهندس استشاري في قسم البنية التحتية في شركة جوجل، متخصص في أدوات تطوير البرمجيات. بدأ العمل ضمن فريق لغة جو منذ ٢٠١٢م في تصميم المكتبات و الأدوات للتحليل الساكن. وهو مؤلف العديد من الأدوات منها: oracle و godoc-analysis و eg و gorename .

بريان كيرنغان عمل في مركز أبحاث علوم الحاسوب في مختبرات بيل حتى عام ٢٠٠٠م، في مجال لغات يونكس وأدواته. يعمل حاليا بروفيسور في قسم علوم الحاسوب في جامعة Princeton. وهو مؤلف مشارك للعديد من الكتب من ضمنها The C Programming Language و The Practice of Programming.

 

لتنزيل الكتاب بصيغة PDF اضغط من هنا، ولتنزيل مصدر الكتاب من هنا.

يسعدنا تواصلكم معنا وإخبارنا بالأخطاء اللغوية والترجمية والإملائية في الترجمة العربية.