微軟在2005年程式開發者會議上(PDC)揭露的LINQ(Language Integrated Query),引起了程式開發人員的注目,臺灣微軟開發工具暨平臺推廣處應用開發技術經理周旺暾對此表示,目前為止LINQ只是一個計畫名稱,還沒有到達發表階段,未來則會納入ADO.NET之下,成為下一代.NET架構的標準之一。
周旺暾表示,LINQ的目標是要從程式語言層面來解決ORM(Object Relative Mapping)與查詢語言(Query Language)的問題。微軟在PDC已經展示了LINQ的可能性,除了確定可以應用在關聯式資料庫與XML查詢以外,LINQ還保留了延伸到其他資料形式的可能性,其中包括Web、目錄等。
過去,不論是Java或是.NET都沒有把資料查詢語言標準納入程式語言之中,LINQ則企圖把查詢語言整合到程式語言之中,然後直接由開發環境支援查詢語法,進而縮短除錯與程式開發時間。周旺暾表示,資料查詢與程式語言緊密整合的情況下,程式語言的模式會變得比較簡單而且統一。
周旺暾表示,以往程式開發人員透過Visual Basic及C#程式語言查詢資料,都必須把SQL(Structured Query Language)語法寫到程式裡,然後才能丟到資料庫進行查詢,但這樣間接的程式設計過程,常常會出現的問題,比如查詢語言如果寫錯了,往往要程式跑了之後才會知道,在寫的過程中很難察覺出來,最後卻影響了程式開發的效率。
然而,LINQ雖然打破了資料查詢與程式語言的屏障,但SQL真的就會被取而代之嗎?周旺暾表示,LINQ並沒有要取代SQL的企圖,但是,對於一個程式開發初學者來說,透過LINQ將可以有很長的一段時間都不需要碰SQL;對於資深的程式開發人員來說,SQL的觀念仍舊必須具備,當然,LINQ也會保留呼叫 SQL或是自建語法的捷徑。
周旺暾進一步說明,LINQ與SQL的關係,就像是自排車與手排車,如果自排車的效能最佳化不錯,為什麼不選擇自排車呢。根據LINQ的發展現況來說,雖然已經完成了關聯式資料庫與XML查詢的實作,但距離正式發表還有一段時間,在此同時,微軟也正積極蒐集市場意見,並以此作為LINQ的方向修正與功能增減的參考。
對於微軟所揭露的LINQ,艾群科技研發中心技術經理葉政達表示,LINQ並不是一個全然創新的概念,而是在既有基礎下產生的語言。LINQ可直接由開發環境支援查詢語言的做法,雖然可以降低程式開發的進入門檻,但最佳化能力也相對變得重要。
對於程式開發者來說,在「記事本」上一樣可以寫程式,但是Java與.Net走向OO(Object Oriented)之際,程式編譯、編輯、除錯等整合開發環境(IDE)的重要性也不斷提高,目前LINQ的做法,是把OO與資料庫存取的需求融入程式語言,Java則是以API組成的框架(Framework)來解決。
LINQ整合到.Net的架構以後,程式開發員雖然只要透過C#、VB就可以進行資料查詢,但從學習曲線的角度來看,也有人認為,LINQ未必是最有效率的選擇,因為程式開發者不一定要會SQL語法的情況下,LINQ語言的學習卻又成了必然選擇。除此之外,.Net的平臺穩定度、病毒防範能力,都是程式開發者關注的焦點。文⊙楊惠芬
熱門新聞
2026-01-12
2026-01-12
2026-01-12
2026-01-12
2026-01-12