Google publica el llenguatge de programació lògica Logica

Google ha introduït un nou llenguatge de programació de lògica declarativa, Logica, dissenyat per a la manipulació de dades i la traducció de programes a SQL. El nou llenguatge s'adreça a aquells que volen utilitzar la sintaxi de programació lògica a l'hora d'escriure consultes a la base de dades. Actualment, el codi SQL resultant es pot executar a l'emmagatzematge de Google BigQuery o als SGBD PostgreSQL i SQLite, el suport dels quals encara és experimental. En el futur es preveu ampliar el nombre de dialectes SQL admesos. El codi del projecte està escrit en Python i es publica sota la llicència Apache 2.0.

Logica continua el desenvolupament d'un altre llenguatge de processament de dades desenvolupat per Google, Yedalog, i proporciona un nivell d'abstracció que no està disponible en SQL estàndard. Les consultes a Logica es programen en forma d'un conjunt de sentències lògiques. Admet mòduls, importacions i la possibilitat d'utilitzar Logica des de l'intèrpret d'ordres interactiu de Jupyter Notebook. Per exemple, per generar un resum de les persones esmentades amb més freqüència a les notícies per al 2020, podeu utilitzar el següent programa Logica per accedir a la base de dades GDELT: @OrderBy(Mencions, “mencions desc”); @Limit(Mencions, 10); Mencions(persona:, mencions? += 1) diferents:- gdelt-bq.gdeltv2.gkg(persones:, data:), Substr(ToString(data), 0, 4) == "2020", the_persons == Split (persones, ";"), persona a les_persones; $ lògica mencions.l executa Mencions +—————-+—————-+ | persona | nombre_mencions | +—————-+—————-+ | donald trump | 3077130 | | els àngels | 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 | +—————-+—————-+

L'escriptura de consultes complexes en SQL comporta la necessitat d'escriure feixugues cadenes de diverses línies que no són òbvies d'entendre, interferir amb la reutilització de parts de la consulta i complicar el manteniment. Per als càlculs repetitius típics, SQL pot utilitzar vistes i funcions, però no admeten operacions d'importació i no proporcionen la flexibilitat dels llenguatges d'alt nivell (per exemple, no podeu passar una funció a una funció). Logica us permet compondre programes a partir de blocs lògics petits, entenedors i reutilitzables que es poden provar, associats a noms específics i agrupats en paquets que es poden utilitzar com a part d'altres projectes.

Font: opennet.ru

Afegeix comentari