(原創) 令人期待的C# 3.0/LINQ (.NET) (C#)

Abstract
綜觀現在的語言,大致就是靜態語言和動態語言之爭,原以為C/C++將是我最後一個語言,但C# 3.0卻讓我躍躍欲試...。

Introduction
C++的哲學是:語言大體上就不改了,以後的標準就放在擴充standard library,如將boost變成標準,這樣的好處是,compiler已經穩定了,之後若要做的就是compiler最佳化以及更接近100%的標準相容。在靜態語言與動態語言之爭方面,C++ 、C#也無意提供更多的動態功能,仍然堅守靜態語言立場,但是C# 3.0卻往不同的路走,野心更大,他想統一所有的語言..!!

各位在寫程式有沒有發現,目前語言各有山頭,要寫一個完整的AP,你最少得會C#,XML,SQL,再來看為什麼ORM會流行?因為傳統語言如C#和SQL還是有個鴻溝,ORM讓資料庫存取的思維更接近物件導向,這有如每到一個省份,就得會他們的方言才能溝通,非常不方便!!假如有一個語言能同時包下OOP、XML、SQL、ORM這些功能那該有多好?就如同會講普通話就通行無阻一樣!!不是由library或framework提供喔!!是由語言本身提供,很難理解嗎?看看Visual FoxPro!!本身語言就包含了dBase,SQL,OOP,寫起資料庫程式只能用『犀利』兩個字形容,目前C#已經包含了OOP,但就是缺XML、SQL、ORM的支援,C# 3.0想擴充語言同時支援這三塊,而不靠.NET Framework,這也是為什麼Microsoft並不急於支援ORM的原因,因為他的野心更大,想用語言直接解決!!

很多人抱怨C# 3.0的語法很怪,的確,因為同時支援了三種不同領域的語法,當然會不習慣,就像當時很多人抱怨C++的template語法很奇怪一樣,我承認C# 3.0是個很冒險的決定,會不會成功要看時間的證明,但一統江湖的氣魄的確讓人敬佩,也成為最近這幾年來最吸引人的程式語言,老實說,我覺得一個程式語言要靠library,功能上雖然不會少,但程式碼就是不漂亮,假如你寫過Visual FoxPro那種內建dBase、SQL的語言,再看看C#還要透過ADO.NET才能處理資料,整個程式的精煉程度就立見高下,一定是程式語言內建資料庫處理的漂亮,就算只是syntax sugar,最後仍是呼叫.NET Framework也沒關係,最少寫起來爽度就是高!!想想看寫個AP,從頭到尾都用一種語言是多麼愉快的事呢?

Conclusion
C# 3.0算是一個很大膽的創新,最少目前還沒有任何程式語言走這條路,值得期待。 

posted on 2007-02-21 03:53  真 OO无双  阅读(971)  评论(0编辑  收藏  举报

导航