لغة البرمجة (Lingo)

لينغو هي لغة برمجة نصية كائنية التوجه (OO) مطولة، طوّرها جون إتش. طومسون لاستخدامها في برنامج أدوبي دايركتور (المعروف سابقًا باسم ماكروميديا ​​دايركتور). تُستخدم لينغو لتطوير برامج تطبيقات سطح المكتب ، والأكشاك التفاعلية ، وأقراص CD-ROM ، ومحتوى أدوبي شوكويف . [ 1 ] [ 2 ]

تُعدّ لغة Lingo لغة البرمجة الأساسية على منصة Adobe Shockwave، التي هيمنت على سوق منتجات الوسائط المتعددة التفاعلية خلال تسعينيات القرن الماضي. [ 3 ] طُوّرت العديد من ألعاب المغامرات الرسومية باستخدام Lingo خلال تلك الفترة، بما في ذلك The Journeyman Project و Total Distortion و Mia's Language Adventure و Mia's Science Adventure وسلسلة Didi & Ditto ، بالإضافة إلى مجموعة كبيرة من ألعاب Headbone Interactive . كما طُوّرت مئات من ألعاب الفيديو المجانية على الإنترنت باستخدام Lingo، ونُشرت على مواقع إلكترونية مثل Miniclip و Shockwave.com .

يمكن استخدام لغة Lingo لبناء واجهات المستخدم، ومعالجة الرسومات النقطية والمتجهة ورسومات الحاسوب ثلاثية الأبعاد ، وغيرها من مهام معالجة البيانات. [ 4 ] [ 5 ] تدعم Lingo صيغةً متخصصةً لمعالجة الصور ومعالجة الكائنات ثلاثية الأبعاد. [ 6 ] كما يمكن إنشاء شبكات ثلاثية الأبعاد مباشرةً باستخدام Lingo. [ 6 ]

تاريخ

ابتكر جون إتش. تومسون لغة Lingo في شركة MacroMind عام 1989، وأُصدرت لأول مرة مع برنامج Director 2.2. قام جيف تانر بتطوير واختبار Lingo لبرنامجي Director 2.2 و3.0، وأنشأ كائنات XObjects مخصصة لمختلف مُصنّعي أجهزة الوسائط، وأمثلة على توسيع اللغة باستخدام XFactory، بما في ذلك واجهة برمجة تطبيقات XFactory (API)، وكتب الدروس التعليمية الأولية حول كيفية استخدام Lingo. اختبر ديف شيلدز لغة Lingo القائمة على الكائنات ووثّقها لبرنامجي Director 3.13 و4.0. كما قام بتشغيل برامج نصية لإنشاء إصدارات أسبوعية للاختبار، وأنشأ قاعدة معارف Macromedia ، وأنشأ أمثلة على كيفية كتابة إضافات Lingo XTRA بلغة C++، وقام بتجميع أقراص Golden Master لبرنامج Macromedia Director التي تم شحنها إلى جهاز النسخ.

انتشر برنامج Lingo بسرعة بين مجتمع الوسائط المتعددة المتنامي خلال التسعينيات، بالتزامن مع برنامج Director الشهير آنذاك. في البداية، لم يستخدم حوالي 90% من المستخدمين سوى 10% من ميزات Lingo، وكان معظمهم go to the frameمن مؤلفي البرامج التعليمية والعروض التقديمية. مع ذلك، كان 10% من المستخدمين مطوري ألعاب أبدوا اهتمامًا أكبر بالـ 90% المتبقية من قدرات البرنامج، بما في ذلك تطوير وظائف إضافية خاصة بهم من خلال إنشاء كائنات XFactories/XObjects. ويُعد مشروع Journeyman مثالًا بارزًا على ذلك.

سمات

لغة Lingo مدمجة في Adobe Director ، ويمكن إضافتها كنصوص برمجية على الكائنات أو على الخط الزمني. Lingo هي لغة برمجة كائنية التوجه (OOP)، وتدعم بناء الجملة المطول الشبيه بلغة Smalltalk ، وبناء جملة النقطة الكائنية، والوراثة.

بناء جملة مطوّل

عند إنشاء لغة Lingo، صُممت بنية نحوية مطولة لمحاكاة اللغة المنطوقة، لتسهيل استخدامها على المستخدمين الجدد. ويمكن للمستخدمين كتابة جمل شبيهة بجمل HyperTalk ، مثل:

إذا كانت رؤية الكائن الرسومي 5 ، فانتقل إلى الإطار

في عبارات go to ، يكون "to" اختياريًا، وعلى عكس لغات البرمجة الأخرى، تشير عبارات go إلى الإطارات في Director's Score، وليس إلى أسطر التعليمات البرمجية المحددة.

كانت لغة Lingo في البداية قوية للغاية بفضل توفيرها إمكانية إنشاء الكائنات من خلال مفهوم يُسمى XFactories factory، مما أدى إلى قابلية توسيع اللغة عبر المصانع الخارجية (XFactories) أو كائنات XObjects. أما في Director 3.13 والإصدارات اللاحقة، فقد تم تحقيق قابلية التوسيع عبر نوع مختلف من المكونات الإضافية يُسمى XTRA، استنادًا إلى نموذج كائنات مكونات Microsoft (COM).

صيغة النقطة

على الرغم من أنه لا يزال من الممكن استخدام الصيغة المطولة، إلا أن الإصدار الحالي من اللغة يدعم بشكل كامل صيغة النقطة OO، بحيث يبدو الكود أشبه بلغات البرمجة القياسية مثل JavaScript أو C++ .

سيكون المكافئ في أسلوب البرمجة النصية الجديد كما يلي:

إذا كان العنصر sprite ( 5 ) مرئيًا ، فسيتم تنفيذ الأمر _movie.go ( _movie.frame )

يستخدم هذا التنسيق عناصر من نموذج كائنات المدير، الذي تم تقديمه في Director MX 2004. سيكون بناء الجملة في الإصدارات السابقة على النحو التالي:

إذا كان العنصر sprite ( 5 ) مرئيًا ، فانتقل إلى الإطار التالي .

كتابة البرامج النصية

يوجد في برنامج Director أربعة أنواع من نصوص Lingo، لكل منها غرض محدد. ويمكن إضافة كل نوع من هذه النصوص إلى أنواع معينة من الكائنات المتوافقة.

  • لا تعمل نصوص التمثيل إلا مع أعضائها، ولا يمكن استخدام جميع الأحداث معها.
  • تُلحق نصوص السلوك بالكائن الرسومي أو تُدرج في إطار. تُستخدم سلوكيات الكائنات الرسومية غالبًا للتحكم في خصائصها وحركتها. يمكن استخدام سلوكيات الإطارات لإنشاء وقفة أو تأخير ضمن إطار معين في النوتة الموسيقية. تُسهّل السلوكيات البرمجة بطريقة كائنية التوجه، حيث يمكنك رؤية العلاقة بين البرمجة والعنصر المُلحق به مباشرةً. كما يمكنها التحكم في الكائنات الرسومية الأخرى أو التفاعل معها، مما يجعلها كائنًا حقيقيًا.
  • لا ترتبط نصوص الأفلام بالرسومات ولا يمكن إنشاؤها ككائنات. وهي متاحة في جميع أنحاء البرنامج (الفيلم) وتُعدّ مفيدة بشكل خاص لتخزين معالجات الأحداث العامة وتهيئة المتغيرات العامة في بداية الفيلم أو نهايته.
  • تُستخدم البرامج النصية الأصلية لإنشاء كائن (أو نسخ منه) في متغير باستخدام الأمر ` new` . يمكن لهذه الكائنات التحكم في الصور المتحركة والوسائط الأخرى عن بُعد، دون أن تكون مرتبطة بأي صورة متحركة محددة، كما يمكن استخدامها للتحكم في البيانات أو العناصر الأخرى غير المعروضة، وهي مفيدة لروتينات التكرار مثل البحث عن المسار. يمكن استخدام البرنامج النصي الأصلي لإنشاء كائن أو حذفه في أي وقت، مما يحرره من قيود النتيجة التي يقتصر عليها السلوك.

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

الميراث

يدعم Lingo وراثة الكائنات بنظام فريد نوعًا ما: يمكن أن يحتوي النص البرمجي على ancestorخاصية تُشير إلى كائن آخر (عادةً ما يكون نصًا برمجيًا أيضًا، مع أن كائنات أخرى مثل أعضاء فريق التمثيل يمكن أن تكون أسلافًا). تُورَث خصائص وأساليب السلف إلى الكائن الأب. تُعد نصوص السلوك أيضًا نوعًا من أسلاف الصور المتحركة التي تُلحق بها، حيث يمكن الوصول إلى خصائص وأساليب السلوك بالرجوع إلى الصورة المتحركة نفسها. في هذه الحالة، يُعد هذا نوعًا من الوراثة المتعددة ، إذ قد تحتوي صورة متحركة واحدة على عدة سلوكيات.

قابلية التوسعة

كائنات X

كان برنامج Lingo 3.0 قابلاً للتوسيع أيضًا من خلال المصانع الخارجية (XFactories) أو كائنات X (التي استُبدلت لاحقًا بـ Lingo Xtras )، والتي وفرت امتدادات برمجية لبرنامج Director. على سبيل المثال، التحكم في أجهزة الوسائط الخارجية مثل مشغلات الأقراص المدمجة وأشرطة الفيديو عبر منفذ Macintosh التسلسلي. كانت واجهة برمجة تطبيقات XObject متاحة بشكل مفتوح للمطورين ومنتجي أجهزة الوسائط، مما زاد من شعبية Lingo وتعدد استخداماته. بذلت شركة Macromind جهودًا حثيثة لترسيخ واجهة برمجة تطبيقات XObject كمعيار لأجهزة الوسائط الخارجية للتعاون من خلال Lingo؛ وقد حظي اهتمامها كمعيار بمشاركة واسعة من شركات منتجات الوسائط البارزة والناشئة من خلال مجموعة مخصصة تُسمى جمعية الوسائط المتعددة.

إضافات

ابتداءً من الإصدار 4.0 من برنامج Director، أصبح Lingo قابلاً للتوسيع من خلال فئة جديدة مُحسّنة من الإضافات الخارجية تُسمى Xtras. طُوّرت Xtras بلغة C++ باستخدام نموذج كائنات المكونات من مايكروسوفت (COM). ساهم توحيد المعايير مع COM في جذب المطورين، مما أدى إلى خلق سوق لهذه الإضافات.

مصطلحات التصوير

تم تقديم لغة معالجة الصور (Imaging Lingo) مع Director 8.0، مما أتاح للمطورين كتابة أوامر معالجة صور عالية الأداء باستخدام صيغة بسيطة. تتشابه هذه اللغة إلى حد ما مع وظائف تطبيقات الصور (مثل Photoshop )، مما يُسهّل إنشاء تأثيرات بصرية ديناميكية تعتمد على التعليمات البرمجية. كما أُضيفت معالجة الصور إلى ActionScript 3.0 باستخدام فئة BitmapData. ونظرًا لاحتواء هذه الفئة على أوامر أكثر تعقيدًا، تم تحديث Director أيضًا للسماح بالتحويل بين كائن BitmapData وكائنات Image الخاصة به.

ثلاثي الأبعاد

قدّم برنامج Director 8.5 محرك DirectX ثلاثي الأبعاد يمكن برمجته باستخدام Lingo. تم ​​تحديث Lingo بشكل كبير لدعم الكائنات ثلاثية الأبعاد الجديدة، ويتضمن الآن مجموعة كاملة من أوامر ثلاثية الأبعاد. كما تم إنشاء Xtra لتمكين استخدام محرك Havok 3D Physics، ولاحقًا محرك AGEIA PhysX ، في Director 11.

لغات أخرى

ربما لا تحظى هذه اللغات الأخرى بنفس شهرة لغة ماكروميديا. ومع ذلك، لا يزال هناك خلل قانوني في المملكة المتحدة يتمثل في أن العلامة التجارية لكلمة "Lingo" مملوكة لشركة Linn Smart Computing .

  • تم إصدار لغة برمجة تسمى Lingo لتطوير البرمجيات تحت نظام التشغيل Windows. وقد صُممت هذه النسخة كلغة برمجة عالية المستوى قابلة للترجمة.
  • طُوِّرت لغة برمجة مبنية على لغة سمول توك لمعالج ريكورسيف الذي طورته شركة لين سمارت كومبيوتينغ في اسكتلندا ، المملكة المتحدة . سُميت هذه اللغة لينغو [ 7 ] ، وتكتسب أهمية خاصة لأن مطوريها نجحوا في الحصول على علامة تجارية مسجلة لها في المملكة المتحدة.
  • LINGO هي أيضًا لغة برمجة لحل مشاكل التحسين الخطي وغير الخطي والصحيح، وقد تم تطويرها لأول مرة في عام 1988 بواسطة شركة LINDO Systems Inc. ولا تزال هذه اللغة قيد الإنتاج.

مراجع

  1. دليل مستخدم برنامج Macromedia Shockwave for Director، المجلد 1 ، منشورات نيو رايدرز، 1 يناير 1996
  2. ماكروميديا ​​شوكويف للمخرج، المجلد 1 ، هايدن بوكس، 1996
  3. كيلي هارت؛ ميتش جيلر (2008). منظورات جديدة حول دريمويفر CS3، شامل . سينجايج ليرنينج. ص  429. ISBN 1-4239-2531-9.
  4. ماكروميديا ​​دايركتور 8: إنشاء وسائط متعددة قوية ، برنتيس هول، 2001
  5. نظرة داخلية على برنامج Macromedia Director 6 مع Lingo ، منشورات New Riders، 1 يناير 1997
  6. 1 2 ماكروميديا ​​دايركتور 8.5 شوكويف ستوديو للرسوم ثلاثية الأبعاد: التدريب من المصدر ، ماكروميديا ​​برس، 2002
  7. "مشروع ريكورسيف - لغة لينغو" . 7 يونيو 2007. مؤرشف من الأصل في 7 يونيو 2007.