[建議] 程式新手如何進入程式設計領域

看板C_Sharp (C#)作者 (要公理要正義)時間18年前 (2007/09/23 19:59), 編輯推噓2(209)
留言11則, 2人參與, 最新討論串1/1
Learn and Train yourself and become an entry-level programmer. 自我學習與訓練,成為初階的程式設計員。 Getting Started… 古人道:「千里之行始於足下」。 任何的事業或計畫都要有第一步,而要邁向開發人員的第一步,就是開始接觸與學習資訊 科技的相關技術。一般企業需要的程式設計師,筆者認為至少要有下列條件: ‧ 電腦基本原理與概念(Computer Concepts)。 ‧ 使用者介面的基礎概念(User Interface Concepts)。 ‧ 基礎程式設計能力(Base Programming Skills) ‧ 基礎資料庫概念(Database Concepts)。 以商用程式設計(Business Application Development)來說,資料庫應用是十分重要的 技能,而在一般企業內,使用者通常是最大,設計易於使用的使用者介面,也是一位程式 設計師應該要會的技能,而在現在 Web-Based 的應用程式盛行,Web Programming 的技 能也是十分重要的,看人力銀行上張貼的人力需求就知道了,Web Programmer 是現在最 流行的程式設計師職務。 若是要朝低階系統層級為目標的話,則低階控制的程式語言必須要非常熟悉,而且要對硬 體與系統程式要有一定程度的了解,基本上要求會比商用程式設計的要求要來得高,像是 作業系統、組合語言與資料結構等等都要有通盤了解,因為系統層級的程式會影響到電腦 使用時的穩定性,所以品質要求通常會很高,當然,薪水也會比較高。 但商用程式設計的前景也不會太差啦,只要自己夠實力,在台灣其實是餓不死的,但是若 要更上一層樓,則需要進一步的學習,以及要對產業界的實務經驗要夠多,產業知識要夠 了解,才會有能力開發出真正符合產業界的應用,這也是賺錢的主要核心能力。 Programmer in Newbie… 通常初入門的程式設計新手,都會需要找尋一些學習資源,而這些資源可以是人、書籍或 是線上資源等等,之所謂稱為新手,就是對這個產業和工作項目並不熟悉,因此需要學習 並受訓。 新手如果要快速的進步,那麼通常都一定要經過下列的程序: ‧ 找一本自己看的下的初學用書,從頭讀到尾。 ‧ 建置一個簡單的實驗環境(例如 Visual Studio Express 和 SQL Server Express) ,並且實際動手寫程式。 ‧ 在寫程式的同時思考,要訓練自己具有能夠把程式結果在腦中重現的能力。 ‧ 學習基本的偵錯與除錯方法。 ‧ 練習尋找線上資源與求助的能力。 選擇入門書籍 一本對新手好的書籍,必須要是自己看的下去的書,如果看不下去,那內容寫的再好也是 枉然,所以如果是第一次買書,最好是跑一趟書店,把相關的書都大概翻過,找出一本自 己最看的下的書,然後從頭看到尾,把書中所要傳達的知識都吸收到腦中,並且要加以思 考,甚至把書翻爛都沒關係,新手把書翻爛其實是很正常的。 新手的盲點:盡信書中之物 很多人都說過,新手要進步的最快方式就是模仿他人的程式來寫作,但是筆者卻不認為這 樣,筆者認為要學習的是作者的實作概念,而不是把整段程式拿來抄,只會當程式的「文 抄公」,並不會讓自己進步,並且在觀念不夠充份了解時,就引用太多別人寫的程式碼, 容易會疏漏掉許多很重要但卻不容易發現的問題,而這也是新手很容易犯的毛病之一。 書中的說明與範例都有其道理,但是新手要學習的,是它背後的意涵,以及它背後的觀念 ,並且要能夠按照作者所傳達的觀念來把程式寫出來,這樣才是正確的學習之道。 新手的盲點:只會看不會寫 通常書中的程式都是作者已經寫好,而且有附上範例程式光碟或網路下載的,但是新手可 能看書看得懂,但就是寫不出來,原因是對它的觀念不夠了解,其實最快的學習方法,就 是自己動手寫,只會看程式的話是不夠的,因為工作是要「寫程式」,而不只是「看程式 」。 在線上尋求解答 新手在學習與實驗期間,通常會碰到不少的問題,這時如果身邊沒有高手,或是沒有認識 比較了解的人時,最快的管道就是透過討論區或社群(Community)來求助,通常這些社 群和討論區都會有一些對這個領域與實際技術具有經驗或研究的玩家級高手或專家駐點來 回答來自各方的問題,以微軟技術來說,台灣微軟 MSDN 技術論壇( http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14)就是一個官方的開 放性技術討論區。其他還有像是程式設計俱樂部、藍色小舖等網站都有豐富的討論資源。 新手的盲點:不重視網路禮節 雖然網路與討論區資源很方便,但是基本的網路上的人際互動與禮節,經常會被忽略,像 是問題一文多貼(Cross Post)、一文重覆貼(Duplicated Post)、問題描述不清( Unclear question)、一行文(One-line article)、注音文、用詞不當或是語氣強硬等 等,都是在討論區中被視為一種不禮貌,而且浪費網路資源的行為,而且這樣的人通常會 被其他網友視為不受歡迎的人物。 因此,新手必須要學會如何發問,尤其應該要避免一行文、注音文、用詞不當以及語氣強 硬等,新手發問就應該要有新手虛心求教的「請求」態度,而不是姿態高高在上,「要求 」別人一定要幫的態度,因為討論區的高手級人物不見得會吃這一套,要學的是問問題的 人,而不是回答問題的人,雖然常言道,回答問題可以讓回答者學習更多,但是這不是回 答者回應問題的首要原因,基於相互尊重的立場,新手應該要表現出你的求教態度,而不 是強勢的要求別人一定要給你回應,畢竟這些專家高手們並沒有欠人任何東西,而且也沒 有實金錢報酬,他們都是以一股幫助他人的熱情來回答討論區的各種問題,光就這一點, 發問的人就沒有任何立場去要求,甚至於去質疑他們的回應,可以不相信,但要注意禮貌 。 在網路中找尋資源 新手在學習階段,應該要學習如何找到你要的資料,並且至少要知道要去哪裡找,以微軟 技術為例,資源最豐富的地方就在 MSDN Online(http://msdn.microsoft.com),而尋 求線上技術支援的 Microsoft Support(http://support.microsoft.com)也是一個重要 的資訊來源之一。 新手應該要試著利用問題中所提供的資訊來檢索網路資源,像是錯誤訊息、系統環境、開 發工具與技術等等都可以被用來檢索網路的資源,而最常用的是 Google 或 Windows Live Search 等搜尋引擎,MSDN Search 也是個不錯的地方。 Validate your skill... 當新手學習到了一定程度,就會想要向更高一層的階層前進,但是這個階段的底已經打穩 了嗎?其實可以透過一些方法來檢驗,例如坊間的書籍,討論區上的問題,報考相關考試 ,甚至給自己一個小小的專案,看看自己有沒有能力可以做的出來,如果能夠以寫程式方 式獨力完成 70% 以上,通常就可以算是新手中的老手了,而且已經具有充份的知識,向 下一階段-程式設計師前進。 如果要以考試方式來檢驗的話,可以透過三種考試: ‧ 國內的 TQC 認證,如果是學習 Visual Basic 的話,可以報考 TQC的Visual Basic 初階人員考試。 ‧ 國內的 ITE 軟體設計人員認證的程式設計考科,可以選擇 Visual Basic 來報考。 ‧ 微軟認證考試:Exam 70-536: TS: Microsoft .NET 2.0 Application Development Foundation. Next level... 新手成長到了一定階段,並且具有充份的知識與實驗經驗時,就可以向中階的程式設計師 來前進,在這個階段,要看的範圍就要廣一些,而且要能夠具有分析個案的能力,簡單的 說,就是要會看別人寫的程式,然後找出它可能的問題,並且要加以改進,並且要會寫更 深一層的應用程式,而不是只會寫簡單的使用者介面而已.這個部份,就下次再談吧。 -- ============================= 夏有涼風 冬有雪 http://itsoho.myweb.hinet.net ============================= -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.181.10

09/23 20:09, , 1F
推。不過我建議先考70-526啦~個人經驗536比較難考。
09/23 20:09, 1F

09/23 20:10, , 2F
70-526至少所有object都看得見摸得到,「比較」不難考
09/23 20:10, 2F

09/23 20:11, , 3F
此外,TQC好像還停留在n年前的VB版本,不是很建議考
09/23 20:11, 3F

09/23 22:30, , 4F
我是比較建議先考 70-536...因為你要了解語言的基礎...
09/23 22:30, 4F

09/23 22:30, , 5F
而不是了解 .net framework 能提供哪些控制項給你使用...
09/23 22:30, 5F

09/23 22:31, , 6F
已經考過 70-536 正在準備 70-526 的人留...
09/23 22:31, 6F

09/23 22:49, , 7F
我是說,「通常」新手會連語法、基礎與WinForm一起學
09/23 22:49, 7F

09/23 22:49, , 8F
不太可能會只玩Console就去考。在這些都有基礎的情況下
09/23 22:49, 8F

09/23 22:50, , 9F
準備526是比536簡單很多。至少不會面對一堆像hash、
09/23 22:50, 9F

09/23 22:51, , 10F
serialization、interop之類的天書。當然你考過536了,
09/23 22:51, 10F

09/23 22:52, , 11F
那恭喜你,526十拿九穩 -_- By 統統考過的人留
09/23 22:52, 11F
文章代碼(AID): #16zbKFCq (C_Sharp)
文章代碼(AID): #16zbKFCq (C_Sharp)