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

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

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

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

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster