فكرة كي لا تموت (03) | لغة توصيف قياسية كـ جسر تواصل

لو فرضنا أن هناك كتاب باللغة البرازيلية ونريد ترجمته إلى لغة تنزانية مثلا ولم نجد مترجم يستطيع الترجمة من البرازيلية إلى التنزانية

ماذا نفعل ؟

اللغة الإنكليزية لغة تكاد تكون مشتركة بين الجميع

لهذا بالتأكيد يوجد برازيلي يتقن الإنجليزية أو أنجليزي يتقن البرازيلية

وكذلك يوجد تنزاني يتقن الإنجليزية أو أنجليزي يتقن التنزانية

الحل أن يقوم المترجم الأول بترجمة الكتاب من البرازيلية إلى الإنجليزية

ثم يقوم الثاني بترجمته من الإنجليزية إلى التنزانية

وبهذا يتحقق المطلوب وذلك من خلال لغة متعارف عليها عالميا والتي تعتبر صلة الوصل بين اللغات المختلفة.

من هنا خطر لي لو تقوم منظمة دولية كالتي تعتمد مواصفات قياسية مثل HTML أو CSS أو أي مواصفات يلتزم بها الجميع

تقوم بإنشاء لغة توصيفية وليس لغة برمجة حقيقية أي قابلة للتنفيذ

بحيث تكون مبنية على XML ولنسمها مثلا LXML حيث L الأولى تشير إلى اللغات Languages

و يتم تصميم سكيما قياسية يمكن من خلالها وصف أي شيء يتعلق بلغة البرمجة

فمثلا نحن نعلم أن هناك مصطلحات متعارف عليها ومشتركة بين مختلف لغات البرمجة

مثل الدالة والمتغير والنوع

مثل البلوك والشرط والشرط المتعدد والاختيار و القفز و البارمترات والاستثناءات

أقصد مثل هذه المصطلحات يتم توصيفها ضمن السكيما

بعد اعتماد اللغة التوصيفية الجديدة بحيث تكون شاملة قدر الإمكان لجميع اللغات المشهورة على الأقل

ومن ثم يتم إلزام كل شركة أو جهة منتجة للغة ما بإنتاج محول ومحول عكسي

بحيث يمكن تحويل أي كود مكتوب بلغتها إلى ملف مكتوب باللغة الجديدة LXML

و العكس أي يمكنها قراءة أي ملف LXML و توليد كود بلغتها

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

ولم نعد مقيدين بفريق اللغة الواحدة

افرض مثلا لدينا مشروع سيتم كتابته بالبايثون وتم تشكيل فريق من مبرمجي البايثون

وكان أحد أجزاء المشروع يحتاج إلى خوارزميات وكان هناك شخص محترف لغة ++C و بارع بالخوارزميات

فأصبح بالإمكان أن يكتب خوارزمياته ودواله بلغته التي يتقنها دون الاضطرار لتعلم البايثون

وبعد أن يكتب كوده يتم تحويله إلى LXML ومن ثم يقوم مبرمج البايثون واسترداده من LXML إلى بايثون

ويقوم بعملية الربط

وغير ذلك فبهذا يمكن القول أننا شكلنا جسر تواصل بين مختلف المطورين بغض النظر عن لغاتهم

بدلا من استقلالية كل مجتمع لغة على حدا.

هذه هي الفكرة وهي مطروحة للنقاش من حيث الإيجابيات والسلبيات والعقبات وإمكانية التنفيذ.