أعلنت Google يوم الاثنين عن لغة برمجة منطقية جديدة مفتوحة المصدر تسمى Logica. إنها خليفة اللغة المنطقية الحالية لـ Google ، Yedalog ، وهي لغة برمجة تشبه Datalog. تجمع لغة البرمجة الجديدة SQL ويمكن تشغيلها على Google BigQuery. يقال إنه أكثر إيجازًا ويدعم ميزة التجريد القابلة لإعادة الاستخدام التي تفتقر إليها SQL ، وفقًا لمدونة نشرها يوم الاثنين فريق المصدر المفتوح في Google. جوجل هو منشئ العديد من لغات البرمجة الأخرى مثل Go و Dart.
Datalog هي لغة استعلام منطقية تقع في مكان ما بين Prolog والجبر العلائقي الرسمي الذي يقوم عليه SQL. يمكن اعتبارها إما لغة استعلام قوية بشكل استثنائي أو لغة برمجة منطقية محدودة بعناية. تم إنشاء Datalog لمنح منظري قواعد البيانات طريقة لاستخدام البرمجة المنطقية ، خاصة من خلال الاستعلامات العودية.
قام Yedalog بتوسيع Datalog ليكون أكثر ملاءمة ، مضيفًا دعمًا لمفاهيم مثل التسجيلات المتداخلة. يسمح للمبرمجين بدمج خطوط البيانات المتوازية والحساب في لغة واحدة. Logica هي خليفة Yedalog ، والتي كانت أيضًا إحدى لغات البرمجة التي تقدمها Google.
تقوم اللغة الجديدة بتجميع البرنامج المنطقي في تعبير SQL ، بحيث يمكن تشغيله على BigQuery ، محرك SQL المتقدم من Google. يتضمن Logica أيضًا دعمًا تجريبيًا لكل من PostgreSQL و SQLite. وفقًا لفريق Google ، يعد هذا الحل أكثر إيجازًا و “يدعم آليات التجريد النظيفة والقابلة لإعادة الاستخدام التي تفتقر إليها SQL. وهو يدعم الوحدات والواردات ، ويمكن استخدامه من دفتر ملاحظات Python التفاعلي ، كما أنه يجعل اختبار استفساراتك أمرًا طبيعيًا وسهلاً “.
وفقًا لإعلان Google الصادر يوم الإثنين ، فإن لغة البرمجة الجديدة تحل المشكلات التي تواجه SQL من خلال استخدام بناء جملة رياضي بطبيعته فيما يتعلق بالمنطق بدلاً من مجرد لغة إنجليزية. تم تصميم اللغة من قبل علماء رياضيات موهوبين ، وفقًا لجوجل ، وذلك لتسهيل الأمر على المطورين للتعبير عن عبارات معقدة ، حيث أن الطبيعة الرياضية أكثر ملاءمة لحالة الاستخدام بدلاً من اللغة الإنجليزية البسيطة. يعد التعبير عن العبارات المعقدة أسهل وأكثر ملاءمة لهذا الغرض من اللغة الطبيعية.
على الرغم من اعتمادها على نطاق واسع ، فإن SQL ليست خالية من العيوب. يمكن أن تكون عبارات البناء من سلاسل طويلة من الكلمات الإنجليزية (غالبًا ما تكون بأحرف كبيرة للحفاظ على روح COBOL في السبعينيات!) مطولة جدًا – من الشائع استخدام استعلام واحد من عدة مئات من الأسطر. ومع ذلك ، فإن العيب الرئيسي لـ SQL هو دعمها المحدود للغاية للتجريد.
وكتب فريق المصادر المفتوحة في Google : “البرمجة الجيدة تدور حول إنشاء أجزاء منطقية صغيرة ومفهومة وقابلة لإعادة الاستخدام يمكن اختبارها وتسميتها وتنظيمها في حزم يمكن استخدامها بعد ذلك لبناء أجزاء أكثر فائدة من المنطق. يقاوم SQL سير العمل هذا. على الرغم من أنه يمكنك تغليف بعض العمليات الحسابية المتكررة في العروض والوظائف ، فقد يختلف بناء الجملة ودعمها باختلاف التطبيقات ، وتكون مفاهيم الحزم والواردات بشكل عام غير موجودة ، والبنى أعلاه. المستوى (على سبيل المثال ، تمرير وظيفة إلى وظيفة) مستحيلة “.
الميزة الكبيرة لـ Logica على SQL ، وفقًا لـ Google ، هي دعمها للتجريد. بينما يدعم SQL طرق العرض والوظائف لحفظ وإعادة استخدام مجموعات فرعية من المنطق ، إلا أنها محدودة وتتنوع بين تطبيقات SQL.
البرمجة المنطقية هي نموذج برمجة تصريحي يتم فيه كتابة البرنامج كمجموعة من التعليمات المنطقية. تم تطوير البرمجة المنطقية في الأوساط الأكاديمية من أواخر الستينيات.يعد Prolog و Datalog من أبرز الأمثلة على لغات البرمجة المنطقية ، ويوسع Logica بناء جملة برمجة المنطق الكلاسيكي ، وبشكل أكثر تحديدًا مع التجميع ، ومن هنا الاسم ، مما يعني:
Logica = المنطق + التجميع