成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

谷歌發(fā)布新編程語言,專治SQL各種“不服”

新聞 前端
谷歌新推出的這個邏輯編程語言,對于“SQL黨”來說可謂是福音:專治SQL語句的冗長和它不擅長的抽象機制 (abstraction mechanisms)。

  [[395321]]

本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

天下苦SQL久矣。

寫個查詢語句而已,動不動就上百行……

不過谷歌新推出的這個邏輯編程語言,對于“SQL黨”來說可謂是福音:

專治SQL語句的冗長和它不擅長的抽象機制 (abstraction mechanisms)。

它就是Logica。

(又有新語言了?“扶我起來,還能學”)

邏輯編程語言解決SQL的局限性

谷歌為什么要推出這樣一門新的編程語言?

有道是,“數(shù)據(jù)是新世紀的石油”。

SQL作為處理數(shù)據(jù)的通用語言,因為它基于自然語言的設(shè)計,好理解好入門,已流行了很多年,但,也并非完美無缺:

  • 沒有將邏輯分成小塊的設(shè)計
  • 沒有“模塊”和“導(dǎo)入”的概念
  • 更沒有高級點的構(gòu)造(例如函數(shù)間的傳遞)

這就導(dǎo)致SQL對抽象的支持非常有限,就更不用說還要去維護那動輒上百行的語句了。

有沒有好的解決方案呢?

市面上開發(fā)了很多可供大家選擇的數(shù)據(jù)庫查詢語言和相應(yīng)的庫。

其中,邏輯編程語言最能解決SQL的局限性。

邏輯編程語言Logica

Logica就是這樣一門邏輯編程語言。

何為邏輯編程?

邏輯編程是種編程典范,它設(shè)定答案須符合的規(guī)則來解決問題,而非設(shè)定步驟來解決問題,過程是事實+規(guī)則=結(jié)果。

Logica進一步擴展了經(jīng)典的邏輯編程語法,最顯著的是使用聚合,這也是這個名字的來源:Logic + Aggregation (聚合)。

Logica繼承自Yedalog(早期谷歌開發(fā)的一種語言),是一種類似數(shù)據(jù)日志(Datalog-like)的邏輯編程語言。Logica代碼可以編譯成SQL,可在谷歌BigQuery上運行(也支持PostgreSQL和SQLite):

  • 支持SQL所缺乏的簡潔和可重用的抽象機制
  • 支持模塊和導(dǎo)入
  • 甚至使測試查詢變得不再困難!

到底好不好用,上手體現(xiàn)便知結(jié)果。

下面是一個查找小于 30 的質(zhì)數(shù)的具體示例:

  1. # Define natural numbers from 1 to 29
  2.  
  3. N(x) :- x in Range(30); 
  4.  
  5. # Define primes. 
  6.  
  7. Prime(prime: x) :- 
  8.  
  9. N(x), 
  10.  
  11. x > 1
  12.  
  13. ~( 
  14.  
  15. N(y), 
  16.  
  17. y > 1
  18.  
  19. y != x, 
  20.  
  21. Mod(x, y) == 0 
  22.  
  23. ); 

運行結(jié)果:

  1. $ logica primes.l run Prime 
  2.  
  3. +-------+ 
  4.  
  5. | prime | 
  6.  
  7. +-------+ 
  8.  
  9. 2 | 
  10.  
  11. 3 | 
  12.  
  13. 5 | 
  14.  
  15. 7 | 
  16.  
  17. 11 | 
  18.  
  19. 13 | 
  20.  
  21. 17 | 
  22.  
  23. 19 | 
  24.  
  25. 23 | 
  26.  
  27. 29 | 
  28.  
  29. +-------+ 

熱議:能否成為主流?

谷歌工程師們鼓勵大家積極嘗試Logica。

很多人很高興看到Google推出的這樣一門新的邏輯編程語言,但表示被主流采用還有很長的路要走。

正如很多網(wǎng)友都有一些質(zhì)疑:

有人認為Logica沒有真的做到轉(zhuǎn)SQL,只是用了作為虛擬機的解釋器動態(tài)“翻譯”的。

還有人覺得這不是通常意義的邏輯編程,僅僅搞了搞數(shù)據(jù)庫查詢。

并且還會帶來依賴問題。

但他們都表示可能是對Logica了解得不夠深入。

只有一個人的關(guān)注點是這個新編程語言的名字和一家公司撞名了圖片

最后,項目已開源,參見鏈接[2]。有興趣(有頭發(fā)的)的朋友可以自己嘗試一下!

 

 

責任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2011-10-13 10:07:26

Dart

2022-12-23 15:40:49

硅谷科學

2012-03-15 14:25:22

Go

2018-04-30 18:07:51

谷歌開源編程

2015-10-19 09:23:44

新編編程女人

2014-06-04 10:52:56

Swift蘋果iOS

2012-03-05 13:08:35

編程

2012-02-17 09:33:08

KotlinJavaJVM

2015-07-20 11:32:07

編程語言

2009-07-29 16:44:45

AndroidSimpleGoogle

2019-12-30 15:34:52

網(wǎng)絡(luò)安全App信息安全

2011-09-09 12:09:27

Dart

2019-06-23 23:09:25

編程語言PythonJava

2011-05-30 15:00:06

編程語言

2019-12-03 09:31:14

編程語言程序員Python

2014-07-08 10:29:12

Swift

2013-08-15 10:28:12

編程語言

2017-11-14 11:12:50

Go語言編譯器

2022-05-23 07:56:19

語言DSLClojure

2015-08-21 10:38:16

編程語言GoC語言
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩一二区 | 国产激情一区二区三区 | 日韩国产在线观看 | 国产精品国产a级 | 国产三区av | 精品一区二区在线观看 | 精品国产乱码久久久久久蜜柚 | 久久综合一区二区三区 | 亚洲精品久久久久久久久久久久久 | www.日韩欧美 | 日韩在线一区二区三区 | 天天爽综合网 | 欧美日韩久久精品 | 日韩精品免费一区二区在线观看 | 久久久久一区二区 | 欧美视频一区 | 日韩精品一区二区三区免费观看 | 福利社午夜影院 | 国产片淫级awww | 国产精品无码永久免费888 | 狠狠狠| 九色视频网站 | www国产成人免费观看视频 | 天天干夜夜操 | 久久精品视频一区二区三区 | аⅴ资源新版在线天堂 | 中文字幕精 | sese视频在线观看 | 成人在线观看网址 | www.99热.com| 亚洲午夜小视频 | 久久看看| 亚洲精品九九 | 日韩欧美三区 | 福利片在线看 | 伊人亚洲 | 久国久产久精永久网页 | 综合久久综合久久 | 在线观看视频h | 成人在线视频免费看 | 亚洲精品久久久久久国产精华液 |