sql編程語言 又有新語言了?“扶我起來,還能學”
2021-07-28
本文經(jīng)AI新媒體量子位(ID:)授權(quán)轉(zhuǎn)載。如需轉(zhuǎn)載,請聯(lián)系出處。傲飛寺派來的風瑟
世界長期以來一直飽受 SQL 之苦。
隨便寫一個查詢語句,動不動就幾百行...
不過, 推出的這種新的邏輯編程語言對“SQL 黨”來說是一個福音:
它專門研究SQL語句的冗長和它不擅長的抽象機制()。
是的。
(有新的語言嗎?“幫幫我,我可以學習”)
邏輯編程語言解決了SQL的局限性
為什么要推出這樣一種新的編程語言?
有句話說:“數(shù)據(jù)是新世紀的石油?!?/p>
SQL 是一種處理數(shù)據(jù)的通用語言,因為它基于自然語言設計,易于理解和上手。它已經(jīng)流行多年,但并不完美:
這導致對 SQL 抽象的支持非常有限,更不用說每次都維護數(shù)百行語句了。
有什么好的解決辦法嗎?
有多種數(shù)據(jù)庫查詢語言和相應的庫供大家選擇。
其中sql編程語言,邏輯編程語言最能解決SQL的局限性。
邏輯編程語言
就是這樣一種邏輯編程語言。
什么是邏輯編程?
邏輯編程是一種編程范式。它設定答案必須遵守的規(guī)則才能解決問題,而不是設定解決問題的步驟。過程是事實+規(guī)則=結(jié)果。
對經(jīng)典的邏輯編程語法進行了進一步的擴展,最引人注目的是聚合的使用sql編程語言,這也是名稱的來源:+(聚合)。
繼承自(早期谷歌開發(fā)的一種語言),它是一種類似于數(shù)據(jù)記錄(-like)的邏輯編程語言。代碼可以編譯成SQL在上運行(也支持and):
好不好,上手就知道結(jié)果了。
以下是查找小于 30 的質(zhì)數(shù)的具體示例:
#?Define?natural?numbers?from?1?to?29.
N(x)?:-?x?in?Range(30);
#?Define?primes.
Prime(prime:?x)?:-
??N(x),
??x?>?1,
??~(
????N(y),
????y?>?1,
????y?!=?x,
????Mod(x,?y)?==?0
??);
??
運行結(jié)果:
$?logica?primes.l?run?Prime
+-------+
|?prime?|
+-------+
|?????2?|
|?????3?|
|?????5?|
|?????7?|
|????11?|
|????13?|
|????17?|
|????19?|
|????23?|
|????29?|
+-------+
??
熱議:能否成為主流?
工程師鼓勵大家積極嘗試。
很多人很高興看到這樣一種新的邏輯編程語言的推出,但表示距離被主流采用還有很長的路要走。
不少網(wǎng)友都有疑問:
有些人認為轉(zhuǎn)換SQL并不是真的可以,只是把解釋器當成虛擬機來動態(tài)“翻譯”一下。
有人認為這不是通常意義上的邏輯編程,只是搞數(shù)據(jù)庫查詢。
而且它也帶來了依賴性問題。
但他們都說可能理解不夠。
只有一個人擔心這種新編程語言的名字與一家公司發(fā)生了沖突
最后,該項目是開源的,見鏈接[2]。有興趣(有頭發(fā))的朋友可以自己試試!
參考鏈接:
[1]
[2]
[3]
[4]
--- EOF ---
點這里????關(guān)注我,記得標星呀~
長按進入小程序,進行打卡簽到小程序送書福利更新啦!
(更多精彩值得期待……)
最近熱文:國內(nèi)大神成功給手機裝上了 Win11,代碼已開源!
最強代碼生成器平臺,殺瘋了~
基于 SpringBoot + Vue 實現(xiàn)的可視化拖拽編輯的大屏項目
2021年7月程序員薪資出爐,平均15302元
2T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,人工智能,考研,軟考,英語,等等。在公眾號內(nèi)回復「資源」,即可免費獲??!回復「社群」,可以邀請你加入讀者群!
??給個「在看」,是對我最大的支持??