لماذا أنشأت جوجل لغة جو ؟
بطء تحويل المشروع إلى ملف تنفيذي 🔗
تواجه جوجل مشكلتين ضخمتين. الأولى وهي الـ compile time. في الثمانينات كانت المشاريع البرمجية متوسطة الحجم تأخذ ساعات ليتم بناءاً المشروع ليصبح برنامج تنفيذي. كان هناك خوادم إلكترونية مخصصة إلى إعادة بناء الملفات التنفيذية من المشروع (recompiling). لديك بناء يومي nightly build ويُمكنك عمل تعديلات عليه.
شركة جوجل تبني أشياء ضخمة جداً. إعادة بناء برنامج جوجل كروم ليصبح ملف تنفيذي تأخذ ٥ ساعات على نظام به معالج i7 من إنتل. بطء بناء البرمجيات يؤذي جوجل كثيراً لذلك اخترعت جوجل كثير من أدوات البناء التي تحلل المكتبات البرمجية (dependencies) وتبنيها ، كل ذلك لزيادة سرعة بناء البرنامج بنسبة مئوية بسيطة بإستخدام لغات البرمجة المعتادة. لكن لغة جو مصممة لبناء البرامج بشكل سريع جداً دون تفحص للمكتبات البرمجية، لذا فهي تحل مشكلة بطء بناء البرمجيات.
معالجة النصوص والتعديل عليها 🔗
المشكلة الثانية التي تواجهها شركة جوجل هي معالجة النصوص (string processing). يقرأ جوجل ويحلل الكثير من صفحات الويب وهي ملفات نصية. يقوم بالكثير من التغييرات على النصوص، فإن أصبحت التعديلات على النصوص أعلى كفاءة فإن جوجل تستفيد من ذلك. قامت جوجل ببناء مكتبة ضخمة من الوظائف والتعليمات البرمجية الخاصة بتعديل النصوص في لغة جو، الـ garbage collection في لغة جو جعل التفكير في النصوص وفهم التعامل معها أسهل، وأكثر كفاءة من بعض المكتبات البرمجية وخاصةً المكتوبة بلغة سي بلس بلس (C++).
كل الناس يعتقدون أنهم مصممي لغات برمجة. مايكروسوفت وأبل لديهم لغاتهم. قررت جوجل أن تنشئ لغة لها. حتى فيسبوك دخلت في سباق إنشاء لغات البرمجة. وتركوا أمازون وحدها. لغة جو جميلة على مستوى التصميم. هي تفعل ما تقوله بالفعل. ولكنها ليست لغة إبداعية على الإطلاق. ولكنها مصممة بشكل محكم وقوي ومناسب للإستخدامات المخصصة لها.
لغة جو تقدم دعم قوي للـ concurrency، وهو شئ أساسي لأي لغة تم تصميمها بعد عام ٢٠٠٢ ، لشركة تمتلك ملايين الخوادم الإلكترونية. ولكنها لا تملك شئ إبداعي وجديد في تقنيات الـ concurrency.
لغة جو = لغة سي + معالجة النصوص + تجكم تلقائي في الذاكرة + التنفيذ المتتالي 🔗
لغة جو هي Go = C + strings + garbage collection + concurrency
. إن أردت بناء برامج ضخمة لتحليل بيانات الإنترنت كله ، اختيار لغة جو هو الأنسب لمثل هذه البرامج.
بساطة لغة جو 🔗
هناك نقطة أخرى أكد عليها Rob Pike وهي البساطة. تستطيع تعلم لغة جو في أسبوع واحد ، وتكون قادر على الإنجاز والعمل بها في خلال شهر واحد، وربما تعتبر “خبير” في خلال ٦ أشهر. هذه صفحة هامة جداً في لغة جو للشركات التي تعين الكثير من المبرمجين فور تخرجهم من الجامعات مباشرةً وتحتاجهم أن يكونوا منتجين في أقرب وقت.
أتمنى أن تكون قد استفدت من الموضوع ، إن كنت تعرف أي شخص يُمكنه الإستفادة من هذه المعلومات، ارسل له رابط هذا المقال. إن أردت معرفة الموضوعات الجديدة بعد نشرها مباشرةً على موقع أبانوب حنا ، تابعني على يوتيوب و تيليجرام ، و فيسبوك ، و واتساب .