جوجل تنشر لغة البرمجة المنطقية Logica

طرحت Google لغة برمجة منطقية تعريفية جديدة، Logica، مصممة لمعالجة البيانات وترجمة البرامج إلى SQL. تستهدف اللغة الجديدة أولئك الذين يريدون استخدام بناء جملة البرمجة المنطقية عند كتابة استعلامات قاعدة البيانات. حاليًا، يمكن تنفيذ تعليمات SQL البرمجية الناتجة في وحدة تخزين Google BigQuery أو في PostgreSQL وSQLite DBMSs، والتي لا يزال دعمها تجريبيًا. ومن المخطط في المستقبل زيادة عدد لهجات SQL المدعومة. كود المشروع مكتوب بلغة Python ومنشور بموجب ترخيص Apache 2.0.

تواصل Logica تطوير لغة أخرى لمعالجة البيانات تم تطويرها بواسطة Google، وهي Yedalog، وتوفر مستوى من التجريد غير متوفر في لغة SQL القياسية. تتم برمجة الاستعلامات في Logica في شكل مجموعة من البيانات المنطقية. يدعم الوحدات والواردات والقدرة على استخدام Logica من غلاف Jupyter Notebook التفاعلي. على سبيل المثال، لإنشاء ملخص للأشخاص الأكثر ذكرًا في الأخبار لعام 2020، يمكنك استخدام برنامج Logica التالي للوصول إلى قاعدة بيانات GDELT: @OrderBy(Mentions, “mentions desc”); @Limit(الإشارات، 10); الإشارات (الشخص:، الإشارات؟ += 1) مميزة: - gdelt-bq.gdeltv2.gkg(الأشخاص:، التاريخ:)، Substr(ToString(date)، 0، 4) == "2020"، the_persons == Split (الأشخاص، "؛")، شخص في the_persons؛ $ logica notifications.l run Mentions +—————-+—————-+ | شخص | mentions_count | +—————-+—————-+ | دونالد ترامب | 3077130 | | لوس أنجلوس | 1078412 | | جو بايدن | 1054827 | | جورج فلويد | 872919 | | بوريس جونسون | 674786 | | باراك أوباما | 438181 | | فلاديمير بوتين | 410587 | | بيرني ساندرز | 387383 | | أندرو كومو | 345462 | | لاس فيجاس | 325487 | +—————-+—————-+

تؤدي كتابة استعلامات معقدة في SQL إلى الحاجة إلى كتابة سلاسل مرهقة متعددة الأسطر يصعب فهمها، وتتداخل مع إعادة استخدام أجزاء من الاستعلام، وتعقد الصيانة. بالنسبة للحسابات المتكررة النموذجية، يمكن لـ SQL استخدام طرق العرض والوظائف، لكنها لا تدعم عمليات الاستيراد ولا توفر مرونة اللغات عالية المستوى (على سبيل المثال، لا يمكنك تمرير دالة إلى دالة). يتيح لك Logica إنشاء برامج من كتل منطقية صغيرة ومفهومة وقابلة لإعادة الاستخدام والتي يمكن اختبارها وربطها بأسماء محددة وتجميعها في حزم يمكن استخدامها كجزء من مشاريع أخرى.

المصدر: opennet.ru

إضافة تعليق