스크립트
00:00:00موجو، لغة البرمجة، وصلت للتو إلى الإصدار 1.0، والتوقيت غريب بعض الشيء.
00:00:05أُطلقت بمترجم مغلق، وبعد سبعة أيام قاموا بتوفيرها كمصدر مفتوح،
00:00:09وكانت كوالكوم قد اشترت الشركة للتو.
00:00:12ولكن دعونا ننسى كل ذلك لفترة وجيزة.
00:00:14ميزة موجو الحقيقية هي تقديم كود يشبه بيثون دون التخلي عن سي بلس بلس أو كودا من أجل السرعة.
00:00:20لذا دعونا نرى ما إذا كان هذا يحقق نتائجه بالفعل.
00:00:27الهدف الأساسي من لغة موجو يكمن في هذا السؤال.
00:00:30ماذا لو كان بإمكانك كتابة كود يبدو ويشبه تماماً لغة بيثون،
00:00:34ولكن تشغيل الأجزاء المهمة حقاً دون الحاجة للتخلي عن سي بلس بلس أو كودا؟
00:00:39لغة واحدة سهلة القراءة تعمل عبر وحدات المعالجة المركزية ورسوميات الرسوم.
00:00:42تلك هي الفكرة الأساسية هنا.
00:00:43والآن بعد أن وصلت موجو أخيرًا إلى الإصدار 1.0، أردت حقاً معرفة مدى صحة كل هذا.
00:00:49لذا قبل أن نخوض في قضايا كوالكوم والمصدر المفتوح وكل ذلك، دعونا نقوم بتشغيلها مباشرة.
00:00:53إذا كنت تستمتع بأدوات البرمجة لتسريع سير عملك، فتأكد من الاشتراك.
00:00:57لدينا مقاطع فيديو تصدر طوال الوقت.
00:00:59سأقوم بتنفيذ ذلك على جهازي، ولكنني لن أقدم درسًا تعليميًا عن موجو هنا.
00:01:03إذا لم ترها من قبل، فنعم، ستشبه لغة بيثون تمامًا،
00:01:07ولكنك ستلاحظ بعض الاختلافات الرئيسية.
00:01:10على الجانب الأيسر توجد لغة بيثون.
00:01:12وعلى الجانب الأيمن توجد لغة موجو.
00:01:13إنها نفس الحلقة التكرارية، نفس الشبكة، ونفس الحد الأقصى للتكرار.
00:01:17لن أستعرض أيًا من العمليات الحسابية الخاصة بهذا الأمر.
00:01:20راقب حلقتي التكرار أثناء تنفيذهما.
00:01:21إنهما تؤديان نفس الغرض تمامًا.
00:01:23سنقوم بتشغيل كود بيثون أولاً هنا.
00:01:26حسنًا، ممتاز.
00:01:27لقد عمل.
00:01:28تم التنفيذ.
00:01:28والآن، نفس البرنامج ولكن مترجم باستخدام لغة موجو.
00:01:32مرة أخرى، دعنا نشغله.
00:01:35وبوم.
00:01:35ها قد انتهينا.
00:01:36الآن، قيم المجموع التحقيقي لن تتطابق في الرقم الأخير تمامًا.
00:01:39فهي تختلف بمقدار بضع مئات من أصل ربع مليون.
00:01:43تقوم بيثون بعملية الضرب أولاً ثم الجمع.
00:01:45بينما يمكن لمترجم موجو دمج ذلك في تعليمة برمجية واحدة.
00:01:49تأخذ بضع وحدات بكسل تكرارًا إضافيًا.
00:01:51اعتبر الثواني هنا هي الرقم الحقيقي.
00:01:54وهذا ليس مكتبة نامباي.
00:01:55إنه ليس نموذجًا ذكيًا.
00:01:56الأداء لا يقتصر فقط على تسريع حلقة المعالج المركزي.
00:02:00يمكنك البدء باستخدام بيثون لأنها سهلة الاستخدام.
00:02:03ثم يتجه المسار بعد ذلك نحو سي بلس بلس أو كودا.
00:02:06حينها ستصبح مالكاً لملفين يبدآن بالتباعد عن بعضهما البعض نوعاً ما.
00:02:09إذن، إليك السؤال الذي تطرحه لغة موجو.
00:02:12هل يمكن للملف الذي تقرأه أن يكون هو نفس الملف الذي يتم تنفيذه على معالج الرسوميات؟
00:02:17هذه الدالة بمثابة نواة التشغيل.
00:02:18كل خيط بمعالج الرسوميات يضيف زوجًا واحدًا من الأرقام.
00:02:20هذا كل ما في الأمر.
00:02:21لم أقم بالتحول إلى ميتال أو سويفت أو كودا.
00:02:24قم بترجمته.
00:02:26والآن أصبح الكود قيد التشغيل.
00:02:28إذن، نعم.
00:02:30بإمكان موجو القيام بشيء مثير للاهتمام حقًا هنا.
00:02:32ولقد قمت للتو بترجمة نواة تشغيل رسومية تعمل على جهاز ماك بوك باستخدام نفس لغة البرمجة التي كنت أكتب بها
00:02:38الكود العادي، وهي بيثون.
00:02:40يبدأ كود تعلم الآلة الخاص بك بلغة بيثون لأن بيثون سهلة التعامل.
00:02:44نحن جميعًا نعلم ذلك.
00:02:45ثم، في نهاية المطاف، تبدأ أهمية الأداء في الظهور.
00:02:48لذلك، يتم إعادة كتابة الأجزاء المهمة بلغة سي بلس بلس أو كودا.
00:02:52والآن، أصبحنا نحافظ على نسختين مختلفتين من نفس النظام.
00:02:55ومرة أخرى، بمرور الوقت، يؤدي ذلك فقط إلى مزيد من الارتباك.
00:02:58ميزة موجو تتمثل في أن الملف المقروء والملف السريع هما في الواقع نفس الشيء تمامًا.
00:03:03الشخص الذي يقف وراء كل هذا هو كريس لاتنر.
00:03:06لقد قام ببناء نظام LLVM، ثم كلانغ، وبعد ذلك سويفت.
00:03:10ولكن تشغيل نواة رسومية يعد أمرًا واحدًا.
00:03:14أما تسمية لغة البرمجة بالإصدار 1.0، فهذا أمر مختلف بعض الشيء هنا.
00:03:18إذن، ماذا تعني كلمة 1.0 حقًا هنا؟
00:03:21هذا لا يعني أن موجو قد اكتملت تمامًا.
00:03:23بل تعني إلى حد ما الاستقرار.
00:03:25هناك وعود بأن الكود الذي تكتبه اليوم لن تتعطل.
00:03:29هذا ما يعنيه إصدار رئيسي كهذا.
00:03:30ولكنك ستصادف أول جزء غريب.
00:03:32وصلت موجو إلى الإصدار 1.1 قبل أن يصبح مترجمها مفتوح المصدر حتى.
00:03:37المكتبة القياسية كانت قد أصبحت مفتوحة بالفعل في مارس 2024.
00:03:40 ونوى التشغيل القصوى فتحت في عام 2025.
00:03:43ولكن المترجم، الشيء الفعلي الذي يقوم بالترجمة، ظل مغلق المصدر حتى 18 أغسطس من هذا العام.
00:03:50باستخدام رخصة أباتشي 2.0، وهو أمر مهم لأنه قبل سبعة أيام فقط عندما تم طرح موجو 1.0، كانت لا تزال مغلقة.
00:03:57وهذا يجيب عن واحدة من أكبر الانتقادات التي واجهتها موجو لمدة ثلاث سنوات متتالية.
00:04:02اعتاد الناس قول: صحيح، لكن المترجم مغلق.
00:04:05لم يعد بإمكاننا قول ذلك بعد الآن، وهو ما يبدو وكأنه يتحرك في الاتجاه الصحيح.
00:04:10قد يكون الأمر كذلك.
00:04:10إلى أن تنظر إلى ما حدث قبل ثلاثة أسابيع.
00:04:14اكتمل استحواذ كوالكوم في 29 يوليو.
00:04:16وتم طرح موجو 1.0 في 11 أغسطس.
00:04:19وانفتح المترجم في 18 أغسطس.
00:04:21لذا فإن أكبر إنجاز في الانفتاح في تاريخ موجو حدث في غضون أقل من ثلاثة أسابيع بعد توقف موديلر عن كونها شركة مستقلة.
00:04:29وهذا يولد على الفور طريقتين مختلفتين تمامًا لقراءة هذا الموقف.
00:04:33الأولى هي أن كوالكوم اشترت موديلر لأنها تريد توفر موجو في كل مكان.
00:04:37على الأرجح لا.
00:04:37أو أن كوالكوم اشترت موديلر، وفي النهاية سيتم استيعاب هذا الأمر بأكمله داخل شركة أكبر بكثير.
00:04:44شركة كوالكوم تصنع الرقاقات.
00:04:45تصبح لغة البرمجة التي تُترجم جيداً للرقاقات ذات قيمة أكبر بكثير.
00:04:49يمكننا في الواقع استخدامها بحرية.
00:04:50لذا، خطوة المصدر المفتوح هذه تبدو منطقية.
00:04:53ولكن ما إذا كانت موجو ستنجح على الأرجح لن يتوقف على كوالكوم.
00:04:57بل سيعتمد على ما إذا كانت لغة البرمجة جيدة بما يكفي لتبرير الانتقال إليها في المقام الأول.
00:05:02ولكن مرة أخرى، هنا يبدأ كل ذلك في أن يصبح معقدًا.
00:05:05تعاني موجو من مشكلة في المقارنات المعيارية.
00:05:07بالعودة إلى عام 2023، كان الرقم الكبير هو أن موجو يمكن أن تكون أسرع بـ 68,000 مرة من بيثون.
00:05:13هذا أمر جنوني.
00:05:14هناك أيضًا منشور لا يزال نشطًا يدعي أن موجو أسرع بنسبة 50% من رست في تحليل الحمض النووي.
00:05:19تم تفكيك هذا الاختبار المعياري بالكامل.
00:05:21وأظهروا أن الاختبار لم يكن يقيس ما ادعى قياسه.
00:05:25ولا يزال بإمكانك رؤية رقم 35,000 مرة مترددًا هنا وهناك.
00:05:29وهذا يأتي من ضرب المصفوفات.
00:05:31ولكن ما يقارنونه هو، حسنًا،
00:05:34من جهة، تنفيذ موجو مصمم بالكامل ومتوازي ومجزأ.
00:05:40ومن الجهة الأخرى، حلقة تكرار ثلاثية بلغة بيثون النقية.
00:05:44نعم، حلقة تكرار ثلاثية.
00:05:45ليست نامباي، بل حلقة متداخلة لن يستخدمها أي شخص على وجه الأرض فعليًا.
00:05:49لذا لا أهتم حقًا بموضوع أنها أسرع بـ 35,000 مرة.
00:05:52كنت أود الحصول على أرقام فعلية من هذا الجهاز.
00:05:54أنا أستخدم معالج إم 4 برو مقارنة بلغة بيثون النقية.
00:05:57مقارنة بلغة بيثون النقية، فهي أسرع بـ 26 مرة ونصف.
00:06:00ومقارنة بمكتبة نامباي، لكل عملية، فهي أسرع بنحو مرتين تقريبا.
00:06:05من الواضح أن الرقم 26 لا يوازي 68,000.
00:06:08ولكن 26 مرة لا تزال رقمًا جيدًا لأن نامباي تعتمد على لغة سي في جوهرها.
00:06:14عند هذه النقطة، أنت لا تتفوق حقًا على بيثون.
00:06:16بل إنك تتفوق على لغة سي من خلال سلوك ذاكرة أفضل.
00:06:19وهذا هو الشيء المزعج حقًا بشأن موجو.
00:06:21لكن الأداء ليس في الواقع السبب الأكبر الذي يجعلني مترددًا في استخدام موجو اليوم.
00:06:25لقد عبثت بها من قبل.
00:06:27وأقوم بتشغيلها هنا اليوم.
00:06:28الشيء الكبير هو الاستقرار.
00:06:30الآن، إلى أي مدى هذا مستقر؟
00:06:32لأن موجو 1.0 تأتي مع 41 تحذيرًا لواجهات برمجة تطبيقات غير مستقرة، بما في ذلك int وprint وlen، وهي أدوات أساسية مدمجة.
00:06:40تم تصنيفها كغير مستقرة داخل ما يسمى بإصدار الاستقرار.
00:06:45وفي نفس اليوم الذي تعد فيه موجو بعدم تعطل الكود الخاص بك، أدى إزالة كلمة FN المفتاحية إلى كسر ما يقرب من 39 حزمة في النظام البيئي.
00:06:52الآن، كلمة FN المفتاحية التي كانت هامة للغاية في كيفية عمل موجو قد أُزيلت بالكامل.
00:06:58لا يوجد عملية FC.
00:06:59وعلى الرغم من أن المترجم أصبح الآن مفتوح المصدر، إلا أنهم لا يقبلون المساهمات عليه حتى الآن.
00:07:04إذن موجو 1.0 مستقرة، على ما أعتقد.
00:07:07ولكن ربما ليست بالاستقرار الذي يزعمونه.
00:07:09مما يقودنا إلى السؤال الوحيد الذي يهم حقًا.
00:07:12هل يجب عليك استخدام هذا؟
00:07:13الآن، إذا كنت تكتب نوى تشغيل لرسوميات، كودا، تريتون، أو ذلك العالم، فأعتقد أن موجو تستحق بالتأكيد يومًا أو يومين.
00:07:21لغة واحدة عبر معالج الرسوميات ومعالج المعالجة المركزية، وقد قمت بترجمة نواة رسومية تعمل على جهاز محمول.
00:07:27ليس هناك الكثير من اللغات الأخرى التي تقوم بذلك.
00:07:29ولكن لا يزال أمام هذا المجال الكثير من المتسع للنمو.
00:07:31لذا فلن أمنحها الأولوية بأي حال من الأحوال في الوقت الحالي.
00:07:35قبل ثلاث سنوات، كانت الحجة ضد موجو بسيطة للغاية.
00:07:38لغة جديدة رائعة، ولكن من سيستخدمها؟
00:07:40لقد كانت لغة مغلقة من شركة ناشئة تطلب من المطورين المراهنة بكل شيء عليها.
00:07:44اليوم، أصبح المترجم يخضع لترخيص Apache 2.0.
00:07:47اللغة وصلت إلى الإصدار 1.0.
00:07:48وتلك الشركة الناشئة أصبحت الآن جزءًا من كوالكوم.
00:07:51أنا جوش من بيتستاك.
00:07:53إذا كنت تستمتع بنصائح وحيل البرمجة كهذه، فتأكد من الاشتراك.
00:07:56سنراكم في فيديو آخر.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기