[返回科技频道首页]·[所有跟贴]·[ 回复本贴 ]·[热门原创]·[繁體閱讀]·[版主管理]
谷歌发布新编程语言,专治SQL各种“不服”
送交者: 婉君[★★★来全球焦点玩★★★] 于 2021-04-21 1:01 已读 1819 次  

婉君的个人频道

原标题:谷歌发布新编程语言,专治SQL各种“不服”


丰色 发自 凹非寺 6park.com

量子位 报道 | 公众号 QbitAI 6park.com

天下苦 SQL久矣。 6park.com

写个查询语句而已,动不动就 上百行…… 6park.com


不过谷歌新推出的这个 逻辑编程语言,对于“SQL党”来说可谓是福音: 6park.com

专治SQL语句的 冗长和它不擅长的 抽象机制(abstraction mechanisms)。 6park.com

专治SQL语句的 冗长和它不擅长的 抽象机制(abstraction mechanisms)。 6park.com

它就是 Logica6park.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

科技前沿进展日日相见~

喜欢婉君朋友的这个贴子的话, 请点这里投票,“赞”助支持!
[举报反馈]·[ 婉君的个人频道 ]·[-->>参与评论回复]·[用户前期主贴]·[手机扫描浏览分享]·[返回科技频道首页]
贴子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。

所有跟贴:        ( 主贴楼主有权删除不文明回复,拉黑不受欢迎的用户 )


    用户名:密码:[--注册ID--]

    标 题:

    粗体 斜体 下划线 居中 插入图片插入图片 插入Flash插入Flash动画


         图片上传  Youtube代码器  预览辅助

    打开微信,扫一扫[Scan QR Code]
    进入内容页点击屏幕右上分享按钮

    楼主本栏目热贴推荐:

    >>>>查看更多楼主社区动态...






    [ 留园条例 ] [ 广告服务 ] [ 联系我们 ] [ 个人帐户 ] [ 版主申请 ] [ Contact us ]