Η Google δημοσιεύει τη λογική γλώσσα προγραμματισμού Logica

Η Google παρουσίασε μια νέα γλώσσα προγραμματισμού δηλωτικής λογικής, τη Logica, σχεδιασμένη για χειρισμό δεδομένων και μετάφραση προγραμμάτων σε SQL. Η νέα γλώσσα απευθύνεται σε όσους θέλουν να χρησιμοποιούν σύνταξη λογικού προγραμματισμού όταν γράφουν ερωτήματα βάσης δεδομένων. Επί του παρόντος, ο κώδικας SQL που προκύπτει μπορεί να εκτελεστεί στον αποθηκευτικό χώρο Google BigQuery ή σε PostgreSQL και SQLite DBMS, η υποστήριξη των οποίων είναι ακόμα πειραματική. Στο μέλλον σχεδιάζεται να επεκταθεί ο αριθμός των υποστηριζόμενων διαλέκτων SQL. Ο κώδικας του έργου είναι γραμμένος σε Python και δημοσιεύεται με την άδεια Apache 2.0.

Η Logica συνεχίζει την ανάπτυξη μιας άλλης γλώσσας επεξεργασίας δεδομένων που αναπτύχθηκε από την Google, της Yedalog, και παρέχει ένα επίπεδο αφαίρεσης που δεν είναι διαθέσιμο στην τυπική SQL. Τα ερωτήματα στο Logica προγραμματίζονται με τη μορφή ενός συνόλου λογικών δηλώσεων. Υποστηρίζει ενότητες, εισαγωγές και τη δυνατότητα χρήσης Logica από το διαδραστικό κέλυφος του Jupyter Notebook. Για παράδειγμα, για να δημιουργήσετε μια σύνοψη των ατόμων που αναφέρονται πιο συχνά στις ειδήσεις για το 2020, μπορείτε να χρησιμοποιήσετε το ακόλουθο πρόγραμμα Logica για να αποκτήσετε πρόσβαση στη βάση δεδομένων GDELT: @OrderBy(Αναφορές, "αναφορές desc"); @Limit(Αναφορές, 10); Αναφορές(άτομο:, αναφορές; += 1) διακριτές :- gdelt-bq.gdeltv2.gkg(άτομα:, ημερομηνία:), Substr(ToString(ημερομηνία), 0, 4) == "2020", the_persons == Διαχωρισμός (άτομα, ";"), πρόσωπο στα_πρόσωπα; $ logica references.l τρέχει Αναφορές +—————-+—————-+ | άτομο | αναφορές_count | +—————-+—————-+ | Ντόναλντ Τραμπ | 3077130 | | Λος Άντζελες | 1078412 | | Τζο Μπάιντεν | 1054827 | | Τζορτζ Φλόιντ | 872919 | | Μπόρις Τζόνσον | 674786 | | Μπαράκ Ομπάμα | 438181 | | Βλαντιμίρ Πούτιν | 410587 | | bernie sanders | 387383 | | andrew cuomo | 345462 | | Λας Βέγκας | 325487 | +—————-+—————-+

Η σύνταξη σύνθετων ερωτημάτων σε SQL οδηγεί στην ανάγκη να γραφτούν επαχθείς αλυσίδες πολλαπλών γραμμών που δεν είναι προφανές να κατανοηθούν, παρεμβαίνουν στην επαναχρησιμοποίηση τμημάτων του ερωτήματος και περιπλέκουν τη συντήρηση. Για τυπικούς επαναλαμβανόμενους υπολογισμούς, η SQL μπορεί να χρησιμοποιήσει προβολές και συναρτήσεις, αλλά δεν υποστηρίζουν λειτουργίες εισαγωγής και δεν παρέχουν την ευελιξία γλωσσών υψηλού επιπέδου (για παράδειγμα, δεν μπορείτε να μεταβιβάσετε μια συνάρτηση σε μια συνάρτηση). Το Logica σάς επιτρέπει να συνθέτετε προγράμματα από μικρά, κατανοητά και επαναχρησιμοποιήσιμα λογικά μπλοκ που μπορούν να δοκιμαστούν, να συσχετιστούν με συγκεκριμένα ονόματα και να ομαδοποιηθούν σε πακέτα που μπορούν να χρησιμοποιηθούν ως μέρος άλλων έργων.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο