Google ha pubblicato il linguaggio di programmazione logica Logica

Google ha presentato un nuovo linguaggio di programmazione logica dichiarativa chiamato Logica, progettato per la manipolazione dei dati e la traduzione di programmi nel linguaggio SQL. Questo nuovo linguaggio è rivolto a chi desidera utilizzare la sintassi della programmazione logica per scrivere query su basi di dati. Attualmente, il codice SQL risultante può essere eseguito nel database Google BigQuery o nei sistemi di gestione database PostgreSQL e SQLite, il cui supporto è ancora sperimentale. In futuro, si prevede di ampliare il numero di dialetti SQL supportati. Il codice del progetto è scritto in Python ed è pubblicato sotto la licenza Apache 2.0.

Logica continua a sviluppare un altro linguaggio di elaborazione dati creato in Google, Yedalog, e offre un livello di astrazione non disponibile nel SQL standard. Le query in Logica sono programmabili come un insieme di affermazioni logiche. Sono supportati moduli, operazioni di importazione e la possibilità di utilizzare Logica da una shell interattiva Jupyter Notebook.Ad esempio, per generare un riepilogo delle persone più frequentemente menzionate nelle notizie del 2020, è possibile utilizzare il seguente programma in Logica per interrogare il database 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 +—————-+—————-+ | person | mentions_count | +—————-+—————-+ | donald trump | 3077130 | | los angeles | 1078412 | | joe biden | 1054827 | | george floyd | 872919 | | boris johnson | 674786 | | barack obama | 438181 | | vladimir putin | 410587 | | bernie sanders | 387383 | | andrew cuomo | 345462 | | las vegas | 325487 | +—————-+—————-+

Scrivere complesse query in SQL porta alla necessità di scrivere catene ingombranti e multilinea, poco intuitive, che ostacolano il riutilizzo di parti della query e complicano la manutenzione. Per calcoli ripetitivi e standard in SQL, è possibile utilizzare viste e funzioni, ma non supportano operazioni di importazione e non forniscono la flessibilità tipica dei linguaggi di alto livello (ad esempio, non è possibile passare una funzione a un'altra funzione). Logica consente di comporre programmi a partire da piccoli blocchi logici, comprensibili e riutilizzabili, che possono essere testati, associati a nomi specifici e raggruppati in pacchetti disponibili per l'uso in altri progetti.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster