Google heeft de logische programmeertaal Logica gepubliceerd

Google heeft een nieuwe declaratieve programmeertaal voor logica, Logica, geïntroduceerd, die is ontworpen voor gegevensmanipulatie en programma's omzet in SQL. Deze nieuwe taal is gericht op gebruikers die syntaxis van logische programmering willen toepassen bij het schrijven van databasequery's. Momenteel kan de resulterende SQL-code worden uitgevoerd in Google BigQuery of in de databases PostgreSQL en SQLite, waarbij de ondersteuning voor de laatste twee voorlopig experimenteel is. In de toekomst wordt verwacht dat het aantal ondersteunde SQL-dialecten zal toenemen. De code van het project is geschreven in Python en gepubliceerd onder de Apache 2.0-licentie.

Logica bouwt voort op een andere dataverwerkingslanguage die door Google is ontwikkeld, Yedalog, en biedt een abstractieniveau dat niet beschikbaar is in reguliere SQL. Queries in Logica worden geprogrammeerd in de vorm van een set logische uitspraken. Modulen, importoperaties en de mogelijkheid om Logica uit de interactieve Jupyter Notebook-shell te gebruiken, worden ondersteund. Bijvoorbeeld, om een samenvatting te maken van de personen die het meest worden genoemd in het nieuws van 2020, kan het volgende Logica-programma worden gebruikt om de database GDELT aan te roepen: @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 | +—————-+—————-+

Het schrijven van complexe SQL-query's leidt tot de noodzaak voor het opstellen van omslachtige meerregelige ketens die moeilijk te begrijpen zijn, het hergebruik van onderdelen van de query bemoeilijken en het onderhoud verstoren. Voor typische herhaalde berekeningen in SQL kunnen views en functies worden gebruikt, maar deze ondersteunen geen importoperaties en bieden niet de flexibiliteit die kenmerkend is voor hogere programmeertalen (bijvoorbeeld, het is niet mogelijk om een functie aan een andere functie door te geven). Logica maakt het mogelijk om programma's te construeren uit kleine, begrijpelijke en herbruikbare logische blokken die getest kunnen worden, aan specifieke namen kunnen worden gekoppeld en in pakketten kunnen worden gegroepeerd die beschikbaar zijn voor gebruik in andere projecten.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster