Google menerbitkan bahasa pemrograman logika Logica

Google telah memperkenalkan bahasa pemrograman logika deklaratif baru, Logica, yang dirancang untuk manipulasi data dan menerjemahkan program ke dalam SQL. Bahasa baru ini ditujukan bagi mereka yang ingin menggunakan sintaksis pemrograman logika saat menulis kueri database. Saat ini, kode SQL yang dihasilkan dapat dieksekusi di penyimpanan Google BigQuery atau di DBMS PostgreSQL dan SQLite, yang dukungannya masih bersifat eksperimental. Di masa depan, direncanakan untuk menambah jumlah dialek SQL yang didukung. Kode proyek ditulis dengan Python dan diterbitkan di bawah lisensi Apache 2.0.

Logica melanjutkan pengembangan bahasa pemrosesan data lain yang dikembangkan Google, Yedalog, dan menyediakan tingkat abstraksi yang tidak tersedia dalam SQL standar. Kueri di Logica diprogram dalam bentuk sekumpulan pernyataan logis. Mendukung modul, impor, dan kemampuan untuk menggunakan Logica dari shell Jupyter Notebook interaktif. Misalnya, untuk membuat ringkasan orang-orang yang paling sering disebutkan dalam berita tahun 2020, Anda dapat menggunakan program Logica berikut untuk mengakses database GDELT: @OrderBy(Mentions, β€œmentions desc”); @Limit(Sebutan, 10); Sebutan(orang:, sebutkan? += 1) berbeda :- gdelt-bq.gdeltv2.gkg(orang:, tanggal:), Substr(ToString(tanggal), 0, 4) == β€œ2020”, the_persons == Pisahkan (orang, ";"), orang di_orang; $ logica mentions.l jalankan Sebutan +β€”β€”β€”β€”β€”-+β€”β€”β€”β€”β€”-+ | orang | sebutkan_hitungan | +-----+------+ | 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 | +-----+------+

Menulis kueri kompleks dalam SQL menyebabkan kebutuhan untuk menulis rantai multi-baris rumit yang tidak jelas untuk dipahami, mengganggu penggunaan kembali bagian kueri, dan mempersulit pemeliharaan. Untuk penghitungan berulang yang umum, SQL dapat menggunakan tampilan dan fungsi, tetapi keduanya tidak mendukung operasi impor dan tidak memberikan fleksibilitas bahasa tingkat tinggi (misalnya, Anda tidak dapat meneruskan fungsi ke suatu fungsi). Logica memungkinkan Anda membuat program dari blok logis kecil, mudah dipahami, dan dapat digunakan kembali yang dapat diuji, dikaitkan dengan nama tertentu, dan dikelompokkan ke dalam paket yang dapat digunakan sebagai bagian dari proyek lain.

Sumber: opennet.ru

Tambah komentar