摘要:要學C#或VB.NET
原文:http://www.allenkuo.com/forum
學習 .NET 的人裡面,有不少人是想寫 Win Form 或 Web Form , 如果您也是這類的初學者或許您不知道該學 VB.NET 或 C#, 我的意見是學習 C#, 原因如下:
1.我以前是學Basic, VBA, VB6, VBScript(ASP), 看的書都是這類的, 別類語言的書籍並不會去看, 但其實有些書是用 Java, C, C++等語言做範例,但對程式開發都極為有用(例如資料結構,物件導向,設計模式,泛型,軟體開發理論), 如果您懂C#, 看這類書就比較沒有困難了(因為語法有些相似,所以閱讀上沒什麼問題)
2.VB.NET, C# 能寫出來的程式,理論上是差不多的, 如果您是Java, C++高手, 相信買本VB.NET入門語法書,熟悉語法及.NET Framework 就可以用VB.NET寫出相當好的系統了, 但如果您跟我相同都只會Basic,或者根本是初學者, 那麼只看市面上的VB.NET 入門書並無法讓您程度有所提升, 但C#入門書裡,不少書籍都對類別,介面,繼承等語法做了較深入的說明, 因此入門者學習C#反而有機會學得比較好, 等到比較熟悉物件的基本用法,再去買上述第一點提的書,能力便比較容易提升
3.當您學習C#,VB.NET語法,並且對於物件,繼承,介面,封裝等知識有了了解之後,之後在學習.NET Frameowrk時都會有不小的幫助,但我個人認為入門者學習C#,才比較有機會打好這個基礎, 您不妨也仔細觀察身邊的朋友,看看有多少人是在沒學好 C,C++或Java之一,而他在只學會VB.NET後,能力居然很好的,我想這種人比例應該是不高的
4.如果您不小心考上了資訊科系,老師也只教VB.NET,為了交份期末作業,那麼您可以直接學VB.NET, 如果您想投入職場,而且不想永遠只是被指派寫點簡單的小程式, 我建議您利用學習C#來打好基礎, 等基礎打好了,即使公司規定只能寫VB.NET,我相信您屆時再多花1,2星期熟悉一下VB.NET 語法後, 寫出來的程式就會很優秀了
5.如果您想學習.NET只是為了開發Win Form, Web Form,我個人建議您的學習方法應該是
- A.學習C# 或 VB.NET的基本語法(如果您現在才要學,初學者請不要直接買ASP.NET入門書來學,很容易變成VB.NET/C# 語法不熟的半吊子, 應該去買整本只專門介紹 VB.NET / C# 語法的書)
- B.學會如何用C#,VB.NET撰寫簡單的function, class, method, property(這也是 .net 語法入門書要教的內容)
- C.學習.NET Framewrok中常用到的class,例如存取資料庫,存取檔案,操控XML,ArrayList, Hashtable等物件(這也是 .net 語法入門書要教的內容)
- D.接下來,才是學習Win Form 或Web Form內建控制項的用法(此時,才需要去買ASP.NET的書,學習各控制項如何使用,有些書偏重超級入門,會介紹各控制項如何用,什麼叫Session,Request; 有些書則為了服務1.1升級到2.0的讀者,直接略過這些入門介紹,只介紹2.0新增功能並直接寫些應用範例,各位可以依自己目前程度來挑書)
我相信不少人都是學了A,之後就跳到D,雖然初期看起來很有成就感, 拉一拉就有程式出來,但其實基礎並不好,對於日後程度提升反而是一種障礙
6. 在完成第 5 點的學習,熟悉控制項之後呢? 我覺得應該期許自己朝規劃系統架構著手, 總不能只是一直停留在撰寫 Button Click, GridView.DataBind() 的程度上, 系統有了良好的架構,會讓您覺得開發系統不再是"做苦工",而將重心放在'規劃'上, 您的系統也會變得比較好擴充, 好維護, 甚至程式碼更短更易閱讀
我的結論是:
1.C# 並不能寫出比 VB.NET 還好的程式, 但學習 C# ,會讓您有機會看得懂別類的書籍
2.C#,VB.NET 入門書相較之下,我個人覺得 C# 中文書在介紹物件的部份, 深入程度是比較夠的
3.只要對物件有一定程度的了解, 在能力提升上,是有一定的幫助的
4.如果您有本事經由學習 VB.NET ,卻仍能對物件導向有正確的了解, 仍然可以學習 VB.NET
5.如果您平凡如我,也沒什麼天份,需要靠書籍來學習, 那麼學 C# 會比 VB.NET 好, 因為好書比較多