原标题:谷歌发布新编程语言,专治SQL各种“不服”
丰色 发自 凹非寺 6park.com
量子位 报道 | 公众号 QbitAI 6park.com
天下苦 SQL久矣。 6park.com
写个查询语句而已,动不动就 上百行…… 6park.com
不过谷歌新推出的这个 逻辑编程语言,对于“SQL党”来说可谓是福音: 6park.com
专治SQL语句的 冗长和它不擅长的 抽象机制(abstraction mechanisms)。 6park.com
专治SQL语句的 冗长和它不擅长的 抽象机制(abstraction mechanisms)。 6park.com
它就是 Logica。 6park.com
(又有新语言了?“扶我起来,还能学”) 6park.com
逻辑编程语言解决SQL的局限性 6park.com
谷歌为什么要推出这样一门新的编程语言? 6park.com
有道是,“数据是新世纪的石油”。 6park.com
SQL作为处理数据的通用语言,因为它基于自然语言的设计,好理解好入门,已流行了很多年,但,也并非完美无缺: 6park.com
这就导致SQL对抽象的支持非常有限,就更不用说还要去维护那动辄上百行的语句了。 6park.com
有没有好的解决方案呢? 6park.com
市面上开发了很多可供大家选择的数据库查询语言和相应的库。 6park.com
其中, 逻辑编程语言最能解决SQL的局限性。 6park.com
逻辑编程语言Logica 6park.com
Logica就是这样一门逻辑编程语言。 6park.com
何为逻辑编程? 6park.com
逻辑编程是种编程典范,它设定答案须符合的规则来解决问题,而非设定步骤来解决问题,过程是事实+规则=结果。 6park.com
逻辑编程是种编程典范,它设定答案须符合的规则来解决问题,而非设定步骤来解决问题,过程是事实+规则=结果。 6park.com
Logica进一步扩展了经典的逻辑编程语法,最显著的是使用聚合,这也是这个名字的来源: Logic + Aggregation(聚合)。 6park.com
Logica继承自Yedalog (早期谷歌开发的一种语言),是一种类似数据日志 (Datalog-like)的逻辑编程语言。 Logica代码可以编译成SQL,可在谷歌BigQuery上运行 (也支持PostgreSQL和SQLite): 6park.com
到底好不好用,上手体现便知结果。 6park.com
下面是一个 查找小于 30 的质数的具体示例: 6park.com
# Define natural numbers from 1 to 29. 6park.com
N(x) :- x inRange( 30); 6park.com
# Define primes. 6park.com
Prime(prime: x) :- 6park.com
N(x), 6park.com
x > 1, 6park.com
~( 6park.com
N(y), 6park.com
y > 1, 6park.com
y != x, 6park.com
Mod(x, y) == 0 6park.com
); 6park.com
运行结果: 6park.com
$ logica primes.l run Prime 6park.com
+-------+ 6park.com
| prime | 6park.com
+-------+ 6park.com
| 2| 6park.com
| 3| 6park.com
| 5| 6park.com
| 7| 6park.com
| 11| 6park.com
| 13| 6park.com
| 17| 6park.com
| 19| 6park.com
| 23| 6park.com
| 29| 6park.com
+-------+ 6park.com
热议:能否成为主流? 6park.com
谷歌工程师们鼓励大家积极尝试Logica。 6park.com
很多人很高兴看到Google推出的这样一门新的逻辑编程语言,但表示被主流采用还有很长的路要走。 6park.com
正如很多网友都有一些质疑: 6park.com
有人认为Logica没有真的做到转SQL,只是用了作为虚拟机的解释器动态“翻译”的。 6park.com
还有人觉得这不是通常意义的逻辑编程,仅仅搞了搞数据库查询。 6park.com
并且还会带来依赖问题。 6park.com
但他们都表示可能是对Logica了解得不够深入。 6park.com
只有一个人的关注点是这个新编程语言的名字和一家公司撞名了 6park.com
最后,项目已开源,参见链接[2]。有兴趣 (有头发的)的朋友可以自己尝试一下! 6park.com
参考链接: 6park.com
— 完— 6park.com
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。 6park.com
加入AI社群,拓展你的AI行业人脉 6park.com
量子位「AI社群」招募中!欢迎AI从业者、关注AI行业的小伙伴们扫码加入,与 50000+名好友共同关注人工智能 行业发展&技术进展: 6park.com
量子位 QbitAI · 头条号签约作者 6park.com
վ'ᴗ' ի 追踪AI技术和产品新动态 6park.com
一键三连「分享」、「点赞」和「在看」 6park.com
科技前沿进展日日相见~