因為本站名為「程式設計入門網」,站長信箱經常收到關於學習程式設計的提問。為了避免重複回覆,特整理這篇文章置頂首頁,希望能一勞永逸地幫助大家。
前言聲明:筆者非專家,技術有限,以下內容僅為個人對常見問題的粗淺看法,僅供參考。若能為您提供一點幫助,將不勝榮幸。
這因人而異。通常從寫出第一個「Hello World」到能熟練編寫代碼,所需時間可能比學習其他電腦技術(如 Photoshop)更長。例如學習 Photoshop,許多人三兩個月就能勝任影樓修圖工作;但同樣時間,很難保證能成為熟練程式設計師。程式設計需要持續的邏輯思維訓練與實踐積累。
理論上需要較好的數學基礎、邏輯思維能力與英語能力。對初學者而言,高中程度的數學與英語通常足夠。其中邏輯思維能力的培養最為關鍵,學習程式的過程本質上就是培養邏輯思維、掌握程式設計思想的過程。
入門後若想進階,還需掌握資料結構、演算法、計算機原理、編譯原理、作業系統原理等計算機科學理論,以及代數系統、圖論、離散數學等數學基礎。
當然能!「活到老,學到老」,四五十歲學習程式設計的人大有人在。雖然年輕人在記憶力上有優勢,但年齡不是絕對障礙。不過若以此為職業,須注意企業招聘通常有年齡限制,需提前規劃。
這是最常見的問題。筆者以武俠小說打比方:.NET 與 Java 如少林、武當兩大派,影響力大、門人多;Delphi、PHP 等如華山、青城,同為名門正派,藝成亦可笑傲江湖。選擇語言的核心原則:最適合你的,才是最好的。
以下情境供參考:
軟體行業薪資普遍高於一般行業,但伴隨高壓力、加班熬夜常態化。薪資受地區、公司規模、個人能力、行業與語言影響大。一線城市大公司主程月薪可過萬,小城市可能僅三兩千。冷門語言開發者有時反而薪資更高(供需關係)。
網頁程式設計需掌握前端 HTML/CSS 及一門資料庫技術。資料庫與程式設計密不可分。以學習 ASP.NET 為例,C# 本身不難,但 CSS 曾困擾筆者許久,最終仍需惡補。建議:學任何網頁語言前,先打好 HTML/CSS 基礎。
多動腦、多實踐、打好基礎、養成良好編碼習慣、堅持不懈(忌「三天打魚,兩天曬網」)。