none
我想學好C# 請問有哪位大大可以推薦一本好書給我呢... RRS feed

  • 問題

  •  

    我是一個完全沒有程式底子的人(其實是有一點點...近乎沒有)

    現在手邊有兩本書

    一本是2002年  培生出版的  C#自學手冊  (圖書館借的)

    一本是2008年  博碩出版的  循序漸進學Visual C# 2008 官方版教材  (申請經費買的)

    所以以上兩本都不是我自己花錢買的 事實上本人很窮(大學生)

    如果以上兩本都不好的話   希望可以介紹我一本真正好的書...我願意投資的ˊˇˋ

    C#自學手冊我已經學會大半本了  只是看到網路上很多人說2002年出版的

    可能會有很多功能現在已經不在用了 或者不能用   而且有很多新功能這本書可能(絕對)不會提到

    所以我很疑惑 如果我要徹底的學  應該要讀哪本??

    而且  經過了6年的差距 難道我學這本   真的會跟時代脫節很大嗎?

    這本學會以後要使用2008的C#   還是需要很多的時間去學嗎?

     

    其實我覺得C#自學手冊真的是不錯的一本書了  而且我又幾乎看了半本多了(他號稱可以21天學會 如今我已經念到第11天的課程了...我也確實每天的課程都有好好學   感覺滿有成就感的)

    可惜看了網路上人家的評價 讓我覺得很掙扎  我真的一天都不想再浪費了

     

    2008那本是今天才買的(為何會買..說來話長  反正就是在逼不得已下只有這個選擇)

    他寫的看起來也很好(實際上我還沒開始讀)...不過教學順序是跟C#自學手冊不大一樣

    而且網路上找不到這本書的書評...

    所以無從判斷起~  ~ 

    而且最近這幾個月   就要弄出一個使用C#寫的ASP.NET網頁(不用叫我問老師了   反正很多原因就是沒得問)

    我打算用1個月的時間把C#的基礎打好...所以我真的需要適合初學者自學的好書ˊˇˋ

     

    謝謝各位耐心的看完   ~

    2008年11月27日 下午 07:13

解答

  • 循序漸進學Visual C# 2008 官方版教材, 先看完你在決定要不要買下一本(這本原文版很不錯).

     

    如果要買書省錢, 就是直接跟圖書館薦購,不過怕處理流程過久, 你來不及.

     

    另外針對你說書的評價,這是取決你自己, 如果你看得懂, 看完知道怎麼運用, 那這本就是好書

    如果網路評價說得天花亂墬,但是你一拿來看都看不懂, 這本書對你就是沒有價值.

     

    我以一個例子來說,之前我帶的學生,在還沒帶之前,有人推薦他們買聖殿祭司的書- ASP.NET專家技術手冊

    說這本書是本好書是沒錯,但是對於實戰經驗等於0的學生來說,流程處理, 命名空間啥都不懂,進門第一章安裝完後,

    後面根本看不下去,所以當時我看到他們買這本時,的確蠻訝異的,想說程度這麼好..

     

    2008年11月27日 下午 11:43
    版主
  • 年輕的想法和盲目追求新技術是兩回事,如果連新技術的評估都不會做,只是一昧的追來追去,最後若只換來一個不適用的結果,那學那些東西是白學的。尤其是現在重視的是熟悉度,底子沒打好想學新的,算了吧,只是浮砂築高塔,隨時都會倒。

     

    自我投資是對的,但自我投資不是叫你出了什麼就學什麼,沒有學到評估這門學問(這只能靠經驗來學)的話,那永遠只是追逐技術而沒有自我發想的人而已,因為技術永遠都追不完(Silverlight 1.0 -> 2.0 印象中不到一年),與其浪費時間在追技術,還不如把時間拿來打底(現在我 LINQ 只花幾天就學會了,但如果 C# 連基本語法都不懂,想學 Generic 或 LINQ 不花個幾個月才怪)和吸收產業界的一些概念,把它內化成自己的想法,這樣才會對軟體開發有創意和新思維,否則乾脆一輩子都做程式工算了。

     

    還有,我也不認為會用 Word 打打字就說自己是 Office 專家,但我前面也沒有說半句 "會基本語法就是 C# 專家",你要怎麼看那是你自己的自由,不要扭曲別人的意思。

     

    如果能由泥巴中玩出金子來,那我寧願讓他們去玩泥巴,只是這種人可遇不可求。

    2008年12月1日 上午 03:00
    版主
  • 1.盲目追求新技術?? 看這篇文章,我不認為這篇文章的發起者具備有判斷什麼是盲目追求跟新技術的能力?

    2.底子打好一定要的.

    3.經濟環境那麼差,與其在家自我待斃不如不斷求知.

    4.由泥巴中玩出金子,不是不可能,但這些人絕對不斷的求知,不斷創新,才會有金子.

    5.在我求職過程中,只有味x是考很Base的東西,講師不用會很深但要口語清析之外,其他高科技產業,都追技術很兇,像今x頓...ASP.NET 2.0 出來,你去筆試就考2.0.

    6.投資就有風險,人生就要不斷挑戰.

     

    2008年12月1日 上午 03:23
  • 依你的描述看起來您應該是剛涉入程式設計領域的新手,如果只是想先打好基礎而不是要直接開始做些東西我的建議是

    1.先熟悉C#語法.

    現在大多數程式語言都是物件導向.但實際上單就學程式語言可以分為兩大部分

    1.程序式部分(如if else,switch ...)

    2.物件導向部分(如class...)

    我的建議是新手不要太著重於物件導向部分,因為那會打擊信心.而且說實在我看過太多不真正了解物件導向的人在用程序式方式寫物件導向.

    物件導向這樣東西有個非常重要的特性,它不是只單純學好語法就會使用.通常可以開始撰寫真正物件導向程式所涉獵的領域非常廣,可能要5年以上學習經驗才有能力開始寫真正的物件導向程式,在此之前大多都是在學習階段,在台灣看過那麼多Source Code我說實在真正在用物件導向寫程式的沒幾個.

     

    對於新手而言大多數的程式如ASP.Net Windows Form只要會程序式程式與一些class的觀念就能完成絕大部分的任務.

     

    物件導向要解決的問題不是如何完成程式,而是如何寫好程式.當寫程式的人發現系統越寫越亂維護越來越困難自然就會找到物件導向這個答案而去學習,

     

    小朱跟好說其實說得都沒錯

    只是一位是站在打好基礎的角度,另一位是比較站再接近實務面.

    說實在現在程式架構越來越複雜的情況,新手通常要入門所要會的東西實在太廣,導致太多新手都在學工具使用而非在寫程式.

    如果你認為你會花非常多年在程式設計工作上那打好底子是非常重要的

    如果你認為程式設計只是一個暫時性工作,那學工具可能會比較適當.

    2008年12月2日 下午 11:42

所有回覆

  • 循序漸進學Visual C# 2008 官方版教材, 先看完你在決定要不要買下一本(這本原文版很不錯).

     

    如果要買書省錢, 就是直接跟圖書館薦購,不過怕處理流程過久, 你來不及.

     

    另外針對你說書的評價,這是取決你自己, 如果你看得懂, 看完知道怎麼運用, 那這本就是好書

    如果網路評價說得天花亂墬,但是你一拿來看都看不懂, 這本書對你就是沒有價值.

     

    我以一個例子來說,之前我帶的學生,在還沒帶之前,有人推薦他們買聖殿祭司的書- ASP.NET專家技術手冊

    說這本書是本好書是沒錯,但是對於實戰經驗等於0的學生來說,流程處理, 命名空間啥都不懂,進門第一章安裝完後,

    後面根本看不下去,所以當時我看到他們買這本時,的確蠻訝異的,想說程度這麼好..

     

    2008年11月27日 下午 11:43
    版主
  • 所以說   我的C#入門已經不用再繼續讀囉@@

    以現在的情況 直接讀C#2008就好了嗎~?

    或者有人可以肯定的跟我說  從1.1~3.5  並沒有語法上的更改和功能的刪減  只有增加呢?

    不怕多學一些麻煩的功能  只怕學了很麻煩的功能  現在卻並沒有這種功能

    或者是觀念 我最怕1.1和3.5在某些地方的觀念是完全不一樣的

    那2002年那本就真的是白念了~  ~

    2008年11月28日 下午 04:47
  • C# 的語法是幾乎沒有什麼改變,增加倒不少。

    主要變化都在 .NET Framework 類別庫上,部份已經被標示為取消 (Obsolete),未來不知何時會不再支援。

     

    2008年11月28日 下午 11:25
    版主
  •  

    語法,怎麼沒什麼改變?

    1.x->2.x 加了通用型別如List<xxxx>.

    2.x->3.x 加了 LINQ 如  form xx in dataContext select

                        泛用型別 var a=123;

                        .......................

     

    .NET Framework 都建立在這些之上, 如果你這些基本語法看不懂,你MSDN範例就不用看了.

    2008年12月1日 上午 12:57
  • 我所說的基本語法,是指像 assign, foreach, if ,switch, loop, function, class, members 這些,不要把新功能給丟到基本語法去誤導初學者,我可以不用學 Generic,也可以不用 LINQ 一樣可以開發程式(不用懷疑,我除了教學範例外,LINQ 我一向不用),但少了 assign, foreach, if, switch, loop, ... 能寫程式嗎?

     

    就算不知道 Generic 和 LINQ,還是有很多範例可以看。

    一昧追新技術不會讓程式變的更好寫或更穩定,如果只是想追流行的話那就只是個人行為......

    2008年12月1日 上午 01:03
    版主
  • 人家在問,我們就要說

    1.x....3.5有何不同?

    要不要學!不關我的事?

    但我認為年輕的心,要有年輕的想法,不能一開始就..

    如果只是單純的if else 我想根本不用討論,也沒有建議的書籍,每本書的差不多.範例也頂多到九九乘法表吧!

     

    2008年12月1日 上午 01:12
  • 1.什麼東西都能省,自我投資不能省.

    2.手頭上有多少資源就用多少資源.

    3.基礎要打好,從1.0->1.1->2.0....去學是不錯的方式,畢竟後面是建立在前面之上,越後面是越複雜!

    4.要不斷的學習新資,除非你現在已有非常穩的工作,如某大企業!公家機關..這當然沒話說,不然當程設師要有隨時走人,隨時跳槽的打算.

    5.我不知企業要什麼,但我知道企業要馬上上手的人.當人家給你Soruce Code 給你一個星期交接,你一打開來看語法看不懂就?

    6.不要讓人有...為什麼現在大學生教出來的跟企業要的落差那麼大?人家企業都在玩x8了,大學生還在玩泥巴.

    7.學if else . foreach....說你會C#,跟你會開Word 存 Word,打打字就說你是office 專家的意思事一樣的.

     

    2008年12月1日 上午 01:50
  • 年輕的想法和盲目追求新技術是兩回事,如果連新技術的評估都不會做,只是一昧的追來追去,最後若只換來一個不適用的結果,那學那些東西是白學的。尤其是現在重視的是熟悉度,底子沒打好想學新的,算了吧,只是浮砂築高塔,隨時都會倒。

     

    自我投資是對的,但自我投資不是叫你出了什麼就學什麼,沒有學到評估這門學問(這只能靠經驗來學)的話,那永遠只是追逐技術而沒有自我發想的人而已,因為技術永遠都追不完(Silverlight 1.0 -> 2.0 印象中不到一年),與其浪費時間在追技術,還不如把時間拿來打底(現在我 LINQ 只花幾天就學會了,但如果 C# 連基本語法都不懂,想學 Generic 或 LINQ 不花個幾個月才怪)和吸收產業界的一些概念,把它內化成自己的想法,這樣才會對軟體開發有創意和新思維,否則乾脆一輩子都做程式工算了。

     

    還有,我也不認為會用 Word 打打字就說自己是 Office 專家,但我前面也沒有說半句 "會基本語法就是 C# 專家",你要怎麼看那是你自己的自由,不要扭曲別人的意思。

     

    如果能由泥巴中玩出金子來,那我寧願讓他們去玩泥巴,只是這種人可遇不可求。

    2008年12月1日 上午 03:00
    版主
  • 1.盲目追求新技術?? 看這篇文章,我不認為這篇文章的發起者具備有判斷什麼是盲目追求跟新技術的能力?

    2.底子打好一定要的.

    3.經濟環境那麼差,與其在家自我待斃不如不斷求知.

    4.由泥巴中玩出金子,不是不可能,但這些人絕對不斷的求知,不斷創新,才會有金子.

    5.在我求職過程中,只有味x是考很Base的東西,講師不用會很深但要口語清析之外,其他高科技產業,都追技術很兇,像今x頓...ASP.NET 2.0 出來,你去筆試就考2.0.

    6.投資就有風險,人生就要不斷挑戰.

     

    2008年12月1日 上午 03:23
  • 我推薦一本好書,約500多頁
    書名:C#語言規格 3.0
    取得方式:必須安裝Visual Studio 2008專業版 ,沒有的話去下載90天試用版
    檔案路徑C:\Program Files\Microsoft Visual Studio 9.0\VC#\Specifications\1028\CSharp Language Specification.doc
     
    其內容較為枯燥,無太多範例與.NET的Class使用
    但是C#所有語法是寫得非常清楚 ,要徹底鑽研C#語法是本好書
    2008年12月2日 上午 11:03
  • 想不到這個問題會讓討論版有點火藥味...

    我會這樣問是因為..

    依循漸進學C#2008

    他的範例幾乎都要靠範例光碟 而且全部都是用表單來示範的(還是稱做視窗?)

    總之跟我以前和老師ㄧ步步學  在DOS畫面下呈現的教學方式完全不同

    可是因為他這種教法   範例程式裡面 有一大堆東西我都看不懂

    例如把字串印在螢幕上   他是印到視窗中的控制項

    問題是   我連印到DOS畫面的基本方法都不很熟  就直接叫我跳過那些基本步驟

     

    其實for  if   swich  這些對各位來說基本到不行的東西 我以前是學過的   只不過太久沒碰 都生疏了

    但是看了一下書  馬上還是能回憶起來  比較需要的地方是類別的部份(還有後續更難的東西)

    不過現在出的新書 在這些基礎方面 幾乎只提一些  不然就是帶過  一本書裡面基礎部份的教學和範例都太少

    都直接教你物件導向的部份  其實說教也不知道對不對   反正就是一本書 裡面塞了一大堆東西 

    也不知道有沒有教的徹底   有時候比比頁數   我真懷疑那本是不是只介紹   沒教學xd  (可能我比較笨的因素佔比較多  畢竟能寫出書來的人一定都很厲害)

     

    但是以前的舊書   反而在打基礎的部份都很詳盡   或許是以前其他的功能沒辦法寫很多吧(?)

    (c#自學手冊真的是本好書 很適合真的連  if啦 for啦 這些看都沒看過的人從頭學起)

     

    我不是不想學新的東西 只是我覺得   在學這些新的東西之前   我想把基礎打好   (我就是因為之前碰asp.net 發現沒有程式語言基礎和資料庫的知識 真的是做不出跟別人不同的東西 才決定要好好打底的)

    可是因為c#語言  從1.0~3.5   真的是多了太多東西了  也改變了很多(?)

    我只不過怕學2002年出的書裡頭教的觀念或語法   在2.0  3.5的部份會改變很多  或者跟本不能用   或者跟本是不同的兩種東西

    因為我覺得要改已經根深蒂固的觀念 和習慣的語法 比學新東西還要難多了...

     

    不過看了各位大大的意見之後

    結論應該是從1.0~3.5之間  基礎的語法和觀念 其實都沒改變   單純只是功能新增了很多 

    對嗎?

     

    關於好書的事情我是想明白了 利用手邊的資源就對了

    反正書都到我家了   不讀白不讀   目前我也把c#自學手冊學完了

    但是阿...市面上的書這麼多   以錢的角度來看   我覺得我這麼問並沒有錯阿~  ~

    投資自己不必省   但也不能亂花不是嗎xd 

     

    謝謝各位大大的指教

    2008年12月2日 下午 04:57
  • 依你的描述看起來您應該是剛涉入程式設計領域的新手,如果只是想先打好基礎而不是要直接開始做些東西我的建議是

    1.先熟悉C#語法.

    現在大多數程式語言都是物件導向.但實際上單就學程式語言可以分為兩大部分

    1.程序式部分(如if else,switch ...)

    2.物件導向部分(如class...)

    我的建議是新手不要太著重於物件導向部分,因為那會打擊信心.而且說實在我看過太多不真正了解物件導向的人在用程序式方式寫物件導向.

    物件導向這樣東西有個非常重要的特性,它不是只單純學好語法就會使用.通常可以開始撰寫真正物件導向程式所涉獵的領域非常廣,可能要5年以上學習經驗才有能力開始寫真正的物件導向程式,在此之前大多都是在學習階段,在台灣看過那麼多Source Code我說實在真正在用物件導向寫程式的沒幾個.

     

    對於新手而言大多數的程式如ASP.Net Windows Form只要會程序式程式與一些class的觀念就能完成絕大部分的任務.

     

    物件導向要解決的問題不是如何完成程式,而是如何寫好程式.當寫程式的人發現系統越寫越亂維護越來越困難自然就會找到物件導向這個答案而去學習,

     

    小朱跟好說其實說得都沒錯

    只是一位是站在打好基礎的角度,另一位是比較站再接近實務面.

    說實在現在程式架構越來越複雜的情況,新手通常要入門所要會的東西實在太廣,導致太多新手都在學工具使用而非在寫程式.

    如果你認為你會花非常多年在程式設計工作上那打好底子是非常重要的

    如果你認為程式設計只是一個暫時性工作,那學工具可能會比較適當.

    2008年12月2日 下午 11:42