Google нь Logica програмчлалын логик хэлийг нийтэлдэг

Google нь өгөгдлийг удирдах, программуудыг SQL рүү хөрвүүлэхэд зориулагдсан Logica хэмээх тунхаглалын логик програмчлалын шинэ хэлийг танилцууллаа. Шинэ хэл нь өгөгдлийн сангийн асуулга бичихдээ логик програмчлалын синтакс ашиглах хүсэлтэй хүмүүст зориулагдсан болно. Одоогоор гарсан SQL кодыг Google BigQuery хадгалах сан эсвэл PostgreSQL болон SQLite DBMS-д ажиллуулах боломжтой бөгөөд дэмжлэг нь туршилтын хэвээр байна. Цаашид дэмжигдсэн SQL аялгууны тоог нэмэгдүүлэхээр төлөвлөж байна. Төслийн код нь Python дээр бичигдсэн бөгөөд Apache 2.0 лицензийн дагуу хэвлэгдсэн.

Logica нь Google-ийн боловсруулсан өөр нэг өгөгдөл боловсруулах хэл болох Yedalog-ийг үргэлжлүүлэн хөгжүүлж байгаа бөгөөд стандарт SQL-д байхгүй хийсвэрлэлийн түвшинг хангадаг. Логика дахь асуулга нь логик хэллэгийн багц хэлбэрээр програмчлагдсан байдаг. Интерактив Jupyter Notebook бүрхүүлээс модулиуд, импорт болон Logica-г ашиглах чадварыг дэмждэг. Жишээлбэл, 2020 оны мэдээнд хамгийн их дурдагдсан хүмүүсийн тоймыг гаргахын тулд та дараах Logica программыг ашиглан GDELT мэдээллийн санд хандах боломжтой: @OrderBy(Дурдах, “дурдах тоо”); @Хязгаар(Дурдах, 10); Дурдах(хүн:, дурдсан? += 1) ялгаатай :- gdelt-bq.gdeltv2.gkg(хүмүүс:, огноо:), Substr(ToString(огноо), 0, 4) == “2020”, the_persons == Хуваах (хүмүүс, ";"), хүмүүс дэх хүн; $ logica mentions.l run Mentions +—————-+—————-+ | хүн | дурдсан_тоо | +—————-+—————-+ | Доналд Трамп | 3077130 | | Лос Анжелес | 1078412 | | жо байден | 1054827 | | Жорж Флойд | 872919 | | Борис Жонсон | 674786 | | Барак Обама | 438181 | | Владимир Путин | 410587 | | Берни Сандерс | 387383 | | Эндрю Куомо | 345462 | | лас Вегас | 325487 | +—————-+—————-+

SQL-д нарийн төвөгтэй асуулга бичих нь ойлгоход тодорхойгүй, асуулгын хэсгүүдийг дахин ашиглахад саад учруулж, засвар үйлчилгээ хийхэд хүндрэл учруулдаг нүсэр олон мөрт хэлхээг бичих хэрэгцээнд хүргэдэг. Ердийн давтагдах тооцооллын хувьд SQL нь харагдац болон функцуудыг ашиглаж болох боловч импортын үйлдлийг дэмждэггүй бөгөөд өндөр түвшний хэлний уян хатан байдлыг хангадаггүй (жишээлбэл, та функцийг функц руу дамжуулах боломжгүй). Логика нь жижиг, ойлгомжтой, дахин ашиглах боломжтой логик блокуудаас програм зохиох боломжийг олгодог бөгөөд үүнийг туршиж үзэх, тодорхой нэрээр холбох, бусад төслүүдийн нэг хэсэг болгон ашиглаж болох багцад бүлэглэх боломжтой.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх