為什麼大多數語言都不支援LINQ機制?

時間 2021-05-12 03:16:53

1樓:劉縉

主要原因可能是.net在流行程度上潛力還很大,導致大多數語言設計者都不一定聽說過linq。

然後,系統程式設計的話,大部分時候只做資料結構直接支援的查詢,調封裝好的函式,ad hoc查詢好像需求比較少。

crud的話,可以直接拼sql,也可以orm。

linq可能比較適合層次上在這倆之間的應用。後面沒有db,又有很多ad hoc的查詢,可能寫powershell下的命令列程式挺適合的?

至於必須語言有特性abcde才能實現linq,沒什麼道理。實現路徑很多。

2樓:ayanamists

如果只是支援對乙個列表select,使用where判斷是否select,那麼這用filter和map組合就可以實現。

e.g.

varqueryLondonCustomers=from

cust

incustomers

where

cust

.City

=="London"

select

cust

;這等價於Ruby裡的:

queryLondonCustomers

=customers

.filter

如果要OrderBy的話,顯然sort就可以實現;

如果要Join的話,List函式就不太好用了,最好用List Monad:dox

<-[1

,2,3

,4]y

<-[3

,4,5

,6]True

<-return(x

/=y)return(x

,y)--得到[(1,3),(1,4),(1,5),(1,6),(2,3),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6),(4,3),(4,5),(4,6)]

3樓:chenc

這玩意是微軟搞出來的,眾所周知,微軟的東西吹的時候總是可以天花亂墜,用的時候會不會有問題,會有什麼問題,那就是天知道。所以理智的人只能放棄對微軟的幻想,選擇觀望。

linq這玩意已經搞了很多年了,沒什麼其它語言選擇跟進,那麼大概率是這玩意有一些問題影響了它的推廣。

為什麼大多數無實體貨物不支援轉贈?

故事的小黃瓜 數字版只是給你乙個碼 就像有些場所的VIP會員 這個碼代表著你有權利使用這個產品而不是完全支配它。你可以憑藉你的會員卡隨意進出,但是這不代表屬於你 而且數字版的二次售出本來就存在很大的問題。 別的不知道,網路遊戲領域,不允許轉贈或交易,據我所知,主要是為了防黑客盜竊轉賣,降低網遊投訴和...

大多數國公尺球迷為什麼不支援義大利?

ForzaJuve 因為國公尺義大利本土球員少唄,也可能鬥氣成分,以前國公尺也有些本土球員,但是尤文和公尺蘭球迷喜歡互相比誰對義大利恭喜大還喜歡以此鄙視國公尺,突然論壇出來一大片國公尺粉絲說,我們只是國公尺球迷,對義大利貢獻大不大,who care,我們看阿根廷 JenRex 這種問題誘導性太強看似...

為什麼大多數家長不支援孩子健身,總找理由推脫?

查查的老萬 好巧,我大學,父母不支援,搬出各種親戚熟人來壓我,說十個裡有十乙個不同意你去健身。當年我考大學也這樣,當年我就這麼屈服了,搞得現在學了不喜歡的專業生不如死,現在我就遵循自己,絕不屈服。 斯卡菱嘉 健身很花錢,而且一般情況,孩子很少能練到強大得堵上父母的嘴的地步。畢竟大肌霸比例才多少 而且...